From 296e0c93d79c95d91ed64d50770d243c58dc83e4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 25 Dec 2025 16:57:39 +0000 Subject: [PATCH] Deployed d6deeff1 to 0.12.1 with MkDocs 1.6.1 and mike 2.1.3 --- 0.12.1/404.html | 1639 ++++ .../fonts.googleapis.com/css.5be84a27.css | 720 ++ .../v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2 | Bin 0 -> 14708 bytes .../-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2 | Bin 0 -> 5868 bytes .../-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2 | Bin 0 -> 13348 bytes .../-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2 | Bin 0 -> 6912 bytes .../-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2 | Bin 0 -> 8356 bytes .../-F6pfjptAgt5VM-kVkqdyU8n1ioa0Xdgv-s.woff2 | Bin 0 -> 10404 bytes .../-F6pfjptAgt5VM-kVkqdyU8n1ioa1Xdg.woff2 | Bin 0 -> 16448 bytes .../-F6pfjptAgt5VM-kVkqdyU8n1ioa23dgv-s.woff2 | Bin 0 -> 14524 bytes .../-F6pfjptAgt5VM-kVkqdyU8n1ioa2Hdgv-s.woff2 | Bin 0 -> 7864 bytes .../-F6pfjptAgt5VM-kVkqdyU8n1ioa2ndgv-s.woff2 | Bin 0 -> 6364 bytes ...-F6qfjptAgt5VM-kVkqdyU8n3pQPwl1FgtIU.woff2 | Bin 0 -> 7184 bytes ...-F6qfjptAgt5VM-kVkqdyU8n3pQPwl5FgtIU.woff2 | Bin 0 -> 13380 bytes ...-F6qfjptAgt5VM-kVkqdyU8n3pQPwl9FgtIU.woff2 | Bin 0 -> 6068 bytes .../-F6qfjptAgt5VM-kVkqdyU8n3pQPwlBFgg.woff2 | Bin 0 -> 14908 bytes ...-F6qfjptAgt5VM-kVkqdyU8n3pQPwlRFgtIU.woff2 | Bin 0 -> 8676 bytes ...-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1gMoQ.woff2 | Bin 0 -> 16540 bytes ...sfjptAgt5VM-kVkqdyU8n1ioSblJ1hMoQLNg.woff2 | Bin 0 -> 10528 bytes ...sfjptAgt5VM-kVkqdyU8n1ioSblJ1j8oQLNg.woff2 | Bin 0 -> 6480 bytes ...sfjptAgt5VM-kVkqdyU8n1ioSblJ1jcoQLNg.woff2 | Bin 0 -> 7868 bytes ...sfjptAgt5VM-kVkqdyU8n1ioSblJ1jsoQLNg.woff2 | Bin 0 -> 14684 bytes ...Eu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2 | Bin 0 -> 24568 bytes ...Eu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2 | Bin 0 -> 18804 bytes ...CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2 | Bin 0 -> 44192 bytes ...Eu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2 | Bin 0 -> 39528 bytes ...Eu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2 | Bin 0 -> 28536 bytes ...Eu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2 | Bin 0 -> 13964 bytes ...Eu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2 | Bin 0 -> 4468 bytes ...Eu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2 | Bin 0 -> 22288 bytes ...Eu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2 | Bin 0 -> 44408 bytes ...CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2 | Bin 0 -> 17628 bytes ...CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2 | Bin 0 -> 4340 bytes ...CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2 | Bin 0 -> 35532 bytes ...CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2 | Bin 0 -> 26428 bytes ...CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2 | Bin 0 -> 13040 bytes ...CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2 | Bin 0 -> 22796 bytes ...O7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 | Bin 0 -> 40128 bytes ...CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2 | Bin 0 -> 40688 bytes ...CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2 | Bin 0 -> 20408 bytes .../unpkg.com/mermaid@11/dist/mermaid.min.js | 2811 +++++++ 0.12.1/assets/images/favicon.png | Bin 0 -> 1870 bytes .../assets/javascripts/bundle.50899def.min.js | 16 + .../javascripts/bundle.50899def.min.js.map | 7 + .../javascripts/lunr/min/lunr.ar.min.js | 1 + .../javascripts/lunr/min/lunr.da.min.js | 18 + .../javascripts/lunr/min/lunr.de.min.js | 18 + .../javascripts/lunr/min/lunr.du.min.js | 18 + .../javascripts/lunr/min/lunr.el.min.js | 1 + .../javascripts/lunr/min/lunr.es.min.js | 18 + .../javascripts/lunr/min/lunr.fi.min.js | 18 + .../javascripts/lunr/min/lunr.fr.min.js | 18 + .../javascripts/lunr/min/lunr.he.min.js | 1 + .../javascripts/lunr/min/lunr.hi.min.js | 1 + .../javascripts/lunr/min/lunr.hu.min.js | 18 + .../javascripts/lunr/min/lunr.hy.min.js | 1 + .../javascripts/lunr/min/lunr.it.min.js | 18 + .../javascripts/lunr/min/lunr.ja.min.js | 1 + .../javascripts/lunr/min/lunr.jp.min.js | 1 + .../javascripts/lunr/min/lunr.kn.min.js | 1 + .../javascripts/lunr/min/lunr.ko.min.js | 1 + .../javascripts/lunr/min/lunr.multi.min.js | 1 + .../javascripts/lunr/min/lunr.nl.min.js | 18 + .../javascripts/lunr/min/lunr.no.min.js | 18 + .../javascripts/lunr/min/lunr.pt.min.js | 18 + .../javascripts/lunr/min/lunr.ro.min.js | 18 + .../javascripts/lunr/min/lunr.ru.min.js | 18 + .../javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + .../javascripts/lunr/min/lunr.sv.min.js | 18 + .../javascripts/lunr/min/lunr.ta.min.js | 1 + .../javascripts/lunr/min/lunr.te.min.js | 1 + .../javascripts/lunr/min/lunr.th.min.js | 1 + .../javascripts/lunr/min/lunr.tr.min.js | 18 + .../javascripts/lunr/min/lunr.vi.min.js | 1 + .../javascripts/lunr/min/lunr.zh.min.js | 1 + 0.12.1/assets/javascripts/lunr/tinyseg.js | 206 + 0.12.1/assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.d50fe291.min.js | 42 + .../workers/search.d50fe291.min.js.map | 7 + 0.12.1/assets/screenshots/basic.webp | Bin 0 -> 195428 bytes 0.12.1/assets/screenshots/battery.webp | Bin 0 -> 13666 bytes .../disk-filtering/disk_name_filter.webp | Bin 0 -> 14058 bytes .../disk_name_mount_filter.webp | Bin 0 -> 15730 bytes .../config/disk-filtering/disk_no_filter.webp | Bin 0 -> 24546 bytes .../config/layout/sample_layout.webp | Bin 0 -> 33942 bytes 0.12.1/assets/screenshots/cpu.webp | Bin 0 -> 23148 bytes 0.12.1/assets/screenshots/disk.webp | Bin 0 -> 26842 bytes 0.12.1/assets/screenshots/memory.webp | Bin 0 -> 14544 bytes .../assets/screenshots/network/network.webp | Bin 0 -> 33608 bytes .../screenshots/network/network_old.webp | Bin 0 -> 121136 bytes .../screenshots/process/process_default.webp | Bin 0 -> 37874 bytes .../screenshots/process/process_full.webp | Bin 0 -> 41560 bytes .../screenshots/process/process_grouped.webp | Bin 0 -> 27716 bytes .../process/process_kill_linux.webp | Bin 0 -> 8176 bytes .../process/process_kill_simple.webp | Bin 0 -> 4698 bytes .../process/process_sort_menu.webp | Bin 0 -> 35414 bytes .../screenshots/process/process_tree.webp | Bin 0 -> 38112 bytes .../screenshots/process/search/cpu.webp | Bin 0 -> 19326 bytes .../assets/screenshots/process/search/or.webp | Bin 0 -> 22218 bytes .../screenshots/process/search/quotes.webp | Bin 0 -> 33300 bytes .../screenshots/process/search/regex.webp | Bin 0 -> 18368 bytes .../screenshots/process/search/search.webp | Bin 0 -> 19220 bytes 0.12.1/assets/screenshots/temperature.webp | Bin 0 -> 50436 bytes .../troubleshooting/cmd_prompt_font.webp | Bin 0 -> 24966 bytes .../troubleshooting/cmd_prompt_props.webp | Bin 0 -> 13152 bytes .../screenshots/troubleshooting/dots.webp | Bin 0 -> 45898 bytes .../troubleshooting/no_braille.webp | Bin 0 -> 99362 bytes .../troubleshooting/regedit_fonts.webp | Bin 0 -> 10868 bytes .../assets/stylesheets/main.7e37652d.min.css | 1 + .../stylesheets/main.7e37652d.min.css.map | 1 + .../stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + .../command-line-options/index.html | 2189 ++++++ .../configuration/config-file/cpu/index.html | 1798 +++++ .../config-file/disk-table/index.html | 1849 +++++ .../config-file/flags/index.html | 1967 +++++ 0.12.1/configuration/config-file/index.html | 1771 +++++ .../config-file/layout/index.html | 1826 +++++ .../config-file/network/index.html | 1812 +++++ .../config-file/processes/index.html | 1798 +++++ .../config-file/styling/index.html | 2198 ++++++ .../config-file/temperature-table/index.html | 1811 +++++ .../development/build_process/index.html | 1878 +++++ .../development/deploy_process/index.html | 1871 +++++ .../development/dev_env/index.html | 1759 +++++ .../development/logging/index.html | 1759 +++++ .../development/testing/index.html | 1759 +++++ 0.12.1/contribution/documentation/index.html | 1861 +++++ .../issues-and-pull-requests/index.html | 1862 +++++ .../packaging-and-distribution/index.html | 1872 +++++ 0.12.1/index.html | 1819 +++++ 0.12.1/overrides/main.html | 1 + 0.12.1/search/search_index.json | 1 + 0.12.1/sitemap.xml | 131 + 0.12.1/sitemap.xml.gz | Bin 0 -> 482 bytes 0.12.1/stylesheets/extra.css | 12 + 0.12.1/support/official/index.html | 1758 +++++ 0.12.1/support/unofficial/index.html | 1759 +++++ 0.12.1/troubleshooting/index.html | 2071 +++++ 0.12.1/usage/autocomplete/index.html | 1763 +++++ 0.12.1/usage/basic-mode/index.html | 1824 +++++ 0.12.1/usage/general-usage/index.html | 1958 +++++ 0.12.1/usage/widgets/battery/index.html | 1865 +++++ 0.12.1/usage/widgets/cpu/index.html | 1959 +++++ 0.12.1/usage/widgets/disk/index.html | 1902 +++++ 0.12.1/usage/widgets/memory/index.html | 1903 +++++ 0.12.1/usage/widgets/network/index.html | 1861 +++++ 0.12.1/usage/widgets/process/index.html | 2510 ++++++ 0.12.1/usage/widgets/temperature/index.html | 1869 +++++ stable | 2 +- versions.json | 9 +- 152 files changed, 73061 insertions(+), 3 deletions(-) create mode 100644 0.12.1/404.html create mode 100644 0.12.1/assets/external/fonts.googleapis.com/css.5be84a27.css create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa0Xdgv-s.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa1Xdg.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa23dgv-s.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa2Hdgv-s.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa2ndgv-s.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl1FgtIU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl5FgtIU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl9FgtIU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwlBFgg.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwlRFgtIU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1gMoQ.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1hMoQLNg.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1j8oQLNg.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jcoQLNg.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jsoQLNg.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2 create mode 100644 0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2 create mode 100644 0.12.1/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js create mode 100644 0.12.1/assets/images/favicon.png create mode 100644 0.12.1/assets/javascripts/bundle.50899def.min.js create mode 100644 0.12.1/assets/javascripts/bundle.50899def.min.js.map create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 0.12.1/assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 0.12.1/assets/javascripts/lunr/tinyseg.js create mode 100644 0.12.1/assets/javascripts/lunr/wordcut.js create mode 100644 0.12.1/assets/javascripts/workers/search.d50fe291.min.js create mode 100644 0.12.1/assets/javascripts/workers/search.d50fe291.min.js.map create mode 100644 0.12.1/assets/screenshots/basic.webp create mode 100644 0.12.1/assets/screenshots/battery.webp create mode 100644 0.12.1/assets/screenshots/config/disk-filtering/disk_name_filter.webp create mode 100644 0.12.1/assets/screenshots/config/disk-filtering/disk_name_mount_filter.webp create mode 100644 0.12.1/assets/screenshots/config/disk-filtering/disk_no_filter.webp create mode 100644 0.12.1/assets/screenshots/config/layout/sample_layout.webp create mode 100644 0.12.1/assets/screenshots/cpu.webp create mode 100644 0.12.1/assets/screenshots/disk.webp create mode 100644 0.12.1/assets/screenshots/memory.webp create mode 100644 0.12.1/assets/screenshots/network/network.webp create mode 100644 0.12.1/assets/screenshots/network/network_old.webp create mode 100644 0.12.1/assets/screenshots/process/process_default.webp create mode 100644 0.12.1/assets/screenshots/process/process_full.webp create mode 100644 0.12.1/assets/screenshots/process/process_grouped.webp create mode 100644 0.12.1/assets/screenshots/process/process_kill_linux.webp create mode 100644 0.12.1/assets/screenshots/process/process_kill_simple.webp create mode 100644 0.12.1/assets/screenshots/process/process_sort_menu.webp create mode 100644 0.12.1/assets/screenshots/process/process_tree.webp create mode 100644 0.12.1/assets/screenshots/process/search/cpu.webp create mode 100644 0.12.1/assets/screenshots/process/search/or.webp create mode 100644 0.12.1/assets/screenshots/process/search/quotes.webp create mode 100644 0.12.1/assets/screenshots/process/search/regex.webp create mode 100644 0.12.1/assets/screenshots/process/search/search.webp create mode 100644 0.12.1/assets/screenshots/temperature.webp create mode 100644 0.12.1/assets/screenshots/troubleshooting/cmd_prompt_font.webp create mode 100644 0.12.1/assets/screenshots/troubleshooting/cmd_prompt_props.webp create mode 100644 0.12.1/assets/screenshots/troubleshooting/dots.webp create mode 100644 0.12.1/assets/screenshots/troubleshooting/no_braille.webp create mode 100644 0.12.1/assets/screenshots/troubleshooting/regedit_fonts.webp create mode 100644 0.12.1/assets/stylesheets/main.7e37652d.min.css create mode 100644 0.12.1/assets/stylesheets/main.7e37652d.min.css.map create mode 100644 0.12.1/assets/stylesheets/palette.06af60db.min.css create mode 100644 0.12.1/assets/stylesheets/palette.06af60db.min.css.map create mode 100644 0.12.1/configuration/command-line-options/index.html create mode 100644 0.12.1/configuration/config-file/cpu/index.html create mode 100644 0.12.1/configuration/config-file/disk-table/index.html create mode 100644 0.12.1/configuration/config-file/flags/index.html create mode 100644 0.12.1/configuration/config-file/index.html create mode 100644 0.12.1/configuration/config-file/layout/index.html create mode 100644 0.12.1/configuration/config-file/network/index.html create mode 100644 0.12.1/configuration/config-file/processes/index.html create mode 100644 0.12.1/configuration/config-file/styling/index.html create mode 100644 0.12.1/configuration/config-file/temperature-table/index.html create mode 100644 0.12.1/contribution/development/build_process/index.html create mode 100644 0.12.1/contribution/development/deploy_process/index.html create mode 100644 0.12.1/contribution/development/dev_env/index.html create mode 100644 0.12.1/contribution/development/logging/index.html create mode 100644 0.12.1/contribution/development/testing/index.html create mode 100644 0.12.1/contribution/documentation/index.html create mode 100644 0.12.1/contribution/issues-and-pull-requests/index.html create mode 100644 0.12.1/contribution/packaging-and-distribution/index.html create mode 100644 0.12.1/index.html create mode 100644 0.12.1/overrides/main.html create mode 100644 0.12.1/search/search_index.json create mode 100644 0.12.1/sitemap.xml create mode 100644 0.12.1/sitemap.xml.gz create mode 100644 0.12.1/stylesheets/extra.css create mode 100644 0.12.1/support/official/index.html create mode 100644 0.12.1/support/unofficial/index.html create mode 100644 0.12.1/troubleshooting/index.html create mode 100644 0.12.1/usage/autocomplete/index.html create mode 100644 0.12.1/usage/basic-mode/index.html create mode 100644 0.12.1/usage/general-usage/index.html create mode 100644 0.12.1/usage/widgets/battery/index.html create mode 100644 0.12.1/usage/widgets/cpu/index.html create mode 100644 0.12.1/usage/widgets/disk/index.html create mode 100644 0.12.1/usage/widgets/memory/index.html create mode 100644 0.12.1/usage/widgets/network/index.html create mode 100644 0.12.1/usage/widgets/process/index.html create mode 100644 0.12.1/usage/widgets/temperature/index.html diff --git a/0.12.1/404.html b/0.12.1/404.html new file mode 100644 index 00000000..68f810ea --- /dev/null +++ b/0.12.1/404.html @@ -0,0 +1,1639 @@ + + + + + + + + + + + + + + + + + + + + + + + bottom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ +

404 - Not found

+ +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/0.12.1/assets/external/fonts.googleapis.com/css.5be84a27.css b/0.12.1/assets/external/fonts.googleapis.com/css.5be84a27.css new file mode 100644 index 00000000..20fb40f8 --- /dev/null +++ b/0.12.1/assets/external/fonts.googleapis.com/css.5be84a27.css @@ -0,0 +1,720 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa2Hdgv-s.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa0Xdgv-s.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa2ndgv-s.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa23dgv-s.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa1Xdg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jcoQLNg.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1hMoQLNg.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1j8oQLNg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jsoQLNg.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1gMoQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl1FgtIU.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwlRFgtIU.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl9FgtIU.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl5FgtIU.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwlBFgg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0804aaff92260b5359330f63e05b9ac25ccabeee GIT binary patch literal 14708 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 C5-ZFA literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..732c64d4dfd589bd5a7abebc1c91d972f678f077 GIT binary patch literal 13348 zcmV+0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b54e556623a2593ff7e029b3e1bbbc3f305e5303 GIT binary patch literal 6912 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 G0002bawYu$ literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..20e72b01579543fe0cb4aed955a146b6b949709f GIT binary patch literal 8356 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa23dgv-s.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa23dgv-s.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7d4e8fdd11fbc94a1a60fc670d7bd587151be02f GIT binary patch literal 14524 zcmV;tI77#GPew8T0RR91064q=5dZ)H0G^Bh0616x0RR9100000000000000000000 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 S(FwAQPEkQ4vMf&m0002v(VhnY literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl5FgtIU.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl5FgtIU.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..140a3bafb25c4fc51f26db61545a434e53b5c480 GIT binary patch literal 13380 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwlBFgg.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQPwlBFgg.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5d7ff0c5f53380486db43fd746bd66cf3511ccf6 GIT binary patch literal 14908 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 C2xSle literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1gMoQ.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1gMoQ.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..609e65317ab2c601ec9458ba636c016972de8d12 GIT binary patch literal 16540 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 TG*zK-j~B4uEKdhMNL=X&1cmV1 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1hMoQLNg.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1hMoQLNg.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f0e5852cb5e782615f06e99172483f136c37072b GIT binary patch literal 10528 zcmV+*Dc{z2Pew8T0RR9104X2<5dZ)H0B9Tl04Tix0RR9100000000000000000000 z0000QUK@cR94-c60D)i#L2RtJet41-`B zWn2a0m?^Mv0C1q+{Fy;v;{Xzf-|dKGlk?{6|6_7vh+-YkYOkOYI|Rk(TF}L+!WD&L zthIOOsEwaYBcpth16$!l2OBK>Km(fghno;z!r_NZ$vOAM3&Le;&T4C{nV7?!-c&zx zgvLI}kQkB~Ad7?Yo!@~!oE z8PEUkybl7+GD!pZo<@|&Sa!|`cR5|B#?7wes&jaBTE$u~8EXj>k3{&#J?QpS^w_%0AjU3_vfD#t~AZU3v?Z5MM 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1j8oQLNg.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1j8oQLNg.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3bdceaa4adfda3714b25482a9ed7827563bd00f1 GIT binary patch literal 6480 zcmV-W8L#GdPew8T0RR9102xpK5dZ)H082ao02uKA0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jcoQLNg.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jcoQLNg.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ad237895912db1914cad7616de875cf698713744 GIT binary patch literal 7868 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 a{sve=FPtwghGkAc5S3{_$7*B)0002EXajHn literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jsoQLNg.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jsoQLNg.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b7b6e26600debe8a8792b7cb9413248545f092b6 GIT binary patch literal 14684 zcmV-iIitpRPew8T0RR9106AO$5dZ)H0G-?b066*p0RR9100000000000000000000 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 e;dA&B?(Fw6(sp` literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f99b50f2acfe998a81ee62c948da530a59944adc GIT binary patch literal 24568 zcmV)AK*YayPew8T0RR910AKh3761SM0HyE%0AGRt0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7c9cbed63f40a45970988e42e4c3d025b09cf11f GIT binary patch literal 44192 zcmV)CK*GOwPew8T0RR910IZ+@761SM0WWX>0IVng0RR9100000000000000000000 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 MKV^3rP*|WPr5Z7iPyhe` literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..20e04885077ac4598e9bb802f6815dfdfac15848 GIT binary patch literal 39528 zcmV({K+?Z=Pew8T0RR910Gen3761SM0ROB20GaLp0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b67713018ad65e5c947d140598ba7922d86cd990 GIT binary patch literal 28536 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 zν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

`Um=$!&$#r{5RXr{JVxT+nh5?JU)MQZHZ7Q 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6cc1de8c74454a829d84af5b9e268587823ae01b GIT binary patch literal 4468 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 G0001bRimr` literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ded8a41e2a8c6d3f3865b3c2b77d196fc9d9ea5c GIT binary patch literal 22288 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 z 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8e43aa428d1f437719a76186fa10251039848217 GIT binary patch literal 26428 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 bqt#7?mRIm|=R9x%ht4zM8)_G!dJzBs2G-US literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7186c657461468c3d9ad4443078ab97a815f46b9 GIT binary patch literal 13040 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

`:`
${i}
`).join("").replace(O3,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}return t.replace(O3,"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.")},"renderKatexUnsanitized"),kh=o(async(t,e)=>sr(await Zwe(t,e),e),"renderKatexSanitized"),tt={getRows:Gwe,sanitizeText:sr,sanitizeTextOrArray:Hwe,hasBreaks:qwe,splitBreaks:Wwe,lineBreakRegex:pd,removeScript:JU,getUrl:md,evaluate:vr,getMax:Xwe,getMin:jwe}});var AA,CA,tH,P3,rH,nH,_s,nc=M(()=>{"use strict";cG();qn();gr();pt();AA={body:'?',height:80,width:80},CA=new Map,tH=new Map,P3=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(X.debug("Registering icon pack:",e.name),"loader"in e)tH.set(e.name,e.loader);else if("icons"in e)CA.set(e.name,e.icons);else throw X.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),rH=o(async(t,e)=>{let r=r7(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=CA.get(n);if(!i){let s=tH.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},CA.set(n,i)}catch(l){throw X.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=i7(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),nH=o(async t=>{try{return await rH(t),!0}catch{return!1}},"isIconAvailable"),_s=o(async(t,e,r)=>{let n;try{n=await rH(t,e?.fallbackPrefix)}catch(s){X.error(s),n=AA}let i=s7(n,e),a=l7(o7(i.body),{...i.attributes,...r});return sr(a,Qt())},"getIconSVG")});function B3(t){for(var e=[],r=1;r{"use strict";o(B3,"dedent")});var F3,yd,iH,$3=M(()=>{"use strict";F3=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,yd=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,iH=/\s*%%.*\n/gm});var A0,DA=M(()=>{"use strict";A0=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var gu,_0,tv,LA,aH,vd=M(()=>{"use strict";pt();$3();DA();gu={},_0=o(function(t,e){t=t.replace(F3,"").replace(yd,"").replace(iH,` +`);for(let[r,{detector:n}]of Object.entries(gu))if(n(t,e))return r;throw new A0(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),tv=o((...t)=>{for(let{id:e,detector:r,loader:n}of t)LA(e,r,n)},"registerLazyLoadedDiagrams"),LA=o((t,e,r)=>{gu[t]&&X.warn(`Detector with key ${t} already exists. Overwriting.`),gu[t]={detector:e,loader:r},X.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),aH=o(t=>gu[t].loader,"getDiagramLoader")});var rv,sH,RA=M(()=>{"use strict";rv=(function(){var t=o(function(He,Le,Ie,Ne){for(Ie=Ie||{},Ne=He.length;Ne--;Ie[He[Ne]]=Le);return Ie},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],T=[1,35],S=[1,36],w=[1,37],k=[1,38],C=[1,39],A=[1,40],L=[1,41],I=[1,42],R=[1,43],E=[1,44],_=[1,45],D=[1,46],O=[1,47],N=[1,48],P=[1,50],B=[1,51],F=[1,52],V=[1,53],$=[1,54],U=[1,55],j=[1,56],ee=[1,57],q=[1,58],oe=[1,59],Q=[1,60],ue=[14,42],te=[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],re=[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],J=[1,82],K=[1,83],ae=[1,84],Z=[1,85],de=[12,14,42],ne=[12,14,33,42],Te=[12,14,33,42,76,77,79,80],W=[12,33],Ve=[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],pe={trace:o(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:o(function(Le,Ie,Ne,Ce,Fe,fe,xe){var Y=fe.length-1;switch(Fe){case 3:Ce.setDirection("TB");break;case 4:Ce.setDirection("BT");break;case 5:Ce.setDirection("RL");break;case 6:Ce.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ce.setC4Type(fe[Y-3]);break;case 19:Ce.setTitle(fe[Y].substring(6)),this.$=fe[Y].substring(6);break;case 20:Ce.setAccDescription(fe[Y].substring(15)),this.$=fe[Y].substring(15);break;case 21:this.$=fe[Y].trim(),Ce.setTitle(this.$);break;case 22:case 23:this.$=fe[Y].trim(),Ce.setAccDescription(this.$);break;case 28:fe[Y].splice(2,0,"ENTERPRISE"),Ce.addPersonOrSystemBoundary(...fe[Y]),this.$=fe[Y];break;case 29:fe[Y].splice(2,0,"SYSTEM"),Ce.addPersonOrSystemBoundary(...fe[Y]),this.$=fe[Y];break;case 30:Ce.addPersonOrSystemBoundary(...fe[Y]),this.$=fe[Y];break;case 31:fe[Y].splice(2,0,"CONTAINER"),Ce.addContainerBoundary(...fe[Y]),this.$=fe[Y];break;case 32:Ce.addDeploymentNode("node",...fe[Y]),this.$=fe[Y];break;case 33:Ce.addDeploymentNode("nodeL",...fe[Y]),this.$=fe[Y];break;case 34:Ce.addDeploymentNode("nodeR",...fe[Y]),this.$=fe[Y];break;case 35:Ce.popBoundaryParseStack();break;case 39:Ce.addPersonOrSystem("person",...fe[Y]),this.$=fe[Y];break;case 40:Ce.addPersonOrSystem("external_person",...fe[Y]),this.$=fe[Y];break;case 41:Ce.addPersonOrSystem("system",...fe[Y]),this.$=fe[Y];break;case 42:Ce.addPersonOrSystem("system_db",...fe[Y]),this.$=fe[Y];break;case 43:Ce.addPersonOrSystem("system_queue",...fe[Y]),this.$=fe[Y];break;case 44:Ce.addPersonOrSystem("external_system",...fe[Y]),this.$=fe[Y];break;case 45:Ce.addPersonOrSystem("external_system_db",...fe[Y]),this.$=fe[Y];break;case 46:Ce.addPersonOrSystem("external_system_queue",...fe[Y]),this.$=fe[Y];break;case 47:Ce.addContainer("container",...fe[Y]),this.$=fe[Y];break;case 48:Ce.addContainer("container_db",...fe[Y]),this.$=fe[Y];break;case 49:Ce.addContainer("container_queue",...fe[Y]),this.$=fe[Y];break;case 50:Ce.addContainer("external_container",...fe[Y]),this.$=fe[Y];break;case 51:Ce.addContainer("external_container_db",...fe[Y]),this.$=fe[Y];break;case 52:Ce.addContainer("external_container_queue",...fe[Y]),this.$=fe[Y];break;case 53:Ce.addComponent("component",...fe[Y]),this.$=fe[Y];break;case 54:Ce.addComponent("component_db",...fe[Y]),this.$=fe[Y];break;case 55:Ce.addComponent("component_queue",...fe[Y]),this.$=fe[Y];break;case 56:Ce.addComponent("external_component",...fe[Y]),this.$=fe[Y];break;case 57:Ce.addComponent("external_component_db",...fe[Y]),this.$=fe[Y];break;case 58:Ce.addComponent("external_component_queue",...fe[Y]),this.$=fe[Y];break;case 60:Ce.addRel("rel",...fe[Y]),this.$=fe[Y];break;case 61:Ce.addRel("birel",...fe[Y]),this.$=fe[Y];break;case 62:Ce.addRel("rel_u",...fe[Y]),this.$=fe[Y];break;case 63:Ce.addRel("rel_d",...fe[Y]),this.$=fe[Y];break;case 64:Ce.addRel("rel_l",...fe[Y]),this.$=fe[Y];break;case 65:Ce.addRel("rel_r",...fe[Y]),this.$=fe[Y];break;case 66:Ce.addRel("rel_b",...fe[Y]),this.$=fe[Y];break;case 67:fe[Y].splice(0,1),Ce.addRel("rel",...fe[Y]),this.$=fe[Y];break;case 68:Ce.updateElStyle("update_el_style",...fe[Y]),this.$=fe[Y];break;case 69:Ce.updateRelStyle("update_rel_style",...fe[Y]),this.$=fe[Y];break;case 70:Ce.updateLayoutConfig("update_layout_config",...fe[Y]),this.$=fe[Y];break;case 71:this.$=[fe[Y]];break;case 72:fe[Y].unshift(fe[Y-1]),this.$=fe[Y];break;case 73:case 75:this.$=fe[Y].trim();break;case 74:let he={};he[fe[Y-1].trim()]=fe[Y].trim(),this.$=he;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:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:S,52:w,53:k,54:C,55:A,56:L,57:I,58:R,59:E,60:_,61:D,62:O,63:N,64:P,65:B,66:F,67:V,68:$,69:U,70:j,71:ee,72:q,73:oe,74:Q},{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:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:S,52:w,53:k,54:C,55:A,56:L,57:I,58:R,59:E,60:_,61:D,62:O,63:N,64:P,65:B,66:F,67:V,68:$,69:U,70:j,71:ee,72:q,73:oe,74:Q},{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:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:S,52:w,53:k,54:C,55:A,56:L,57:I,58:R,59:E,60:_,61:D,62:O,63:N,64:P,65:B,66:F,67:V,68:$,69:U,70:j,71:ee,72:q,73:oe,74:Q},{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:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:S,52:w,53:k,54:C,55:A,56:L,57:I,58:R,59:E,60:_,61:D,62:O,63:N,64:P,65:B,66:F,67:V,68:$,69:U,70:j,71:ee,72:q,73:oe,74:Q},{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:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:S,52:w,53:k,54:C,55:A,56:L,57:I,58:R,59:E,60:_,61:D,62:O,63:N,64:P,65:B,66:F,67:V,68:$,69:U,70:j,71:ee,72:q,73:oe,74:Q},{14:[1,74]},t(ue,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:S,52:w,53:k,54:C,55:A,56:L,57:I,58:R,59:E,60:_,61:D,62:O,63:N,64:P,65:B,66:F,67:V,68:$,69:U,70:j,71:ee,72:q,73:oe,74:Q}),t(ue,[2,14]),t(te,[2,16],{12:[1,76]}),t(ue,[2,36],{12:[1,77]}),t(re,[2,19]),t(re,[2,20]),{25:[1,78]},{27:[1,79]},t(re,[2,23]),{35:80,75:81,76:J,77:K,79:ae,80:Z},{35:86,75:81,76:J,77:K,79:ae,80:Z},{35:87,75:81,76:J,77:K,79:ae,80:Z},{35:88,75:81,76:J,77:K,79:ae,80:Z},{35:89,75:81,76:J,77:K,79:ae,80:Z},{35:90,75:81,76:J,77:K,79:ae,80:Z},{35:91,75:81,76:J,77:K,79:ae,80:Z},{35:92,75:81,76:J,77:K,79:ae,80:Z},{35:93,75:81,76:J,77:K,79:ae,80:Z},{35:94,75:81,76:J,77:K,79:ae,80:Z},{35:95,75:81,76:J,77:K,79:ae,80:Z},{35:96,75:81,76:J,77:K,79:ae,80:Z},{35:97,75:81,76:J,77:K,79:ae,80:Z},{35:98,75:81,76:J,77:K,79:ae,80:Z},{35:99,75:81,76:J,77:K,79:ae,80:Z},{35:100,75:81,76:J,77:K,79:ae,80:Z},{35:101,75:81,76:J,77:K,79:ae,80:Z},{35:102,75:81,76:J,77:K,79:ae,80:Z},{35:103,75:81,76:J,77:K,79:ae,80:Z},{35:104,75:81,76:J,77:K,79:ae,80:Z},t(de,[2,59]),{35:105,75:81,76:J,77:K,79:ae,80:Z},{35:106,75:81,76:J,77:K,79:ae,80:Z},{35:107,75:81,76:J,77:K,79:ae,80:Z},{35:108,75:81,76:J,77:K,79:ae,80:Z},{35:109,75:81,76:J,77:K,79:ae,80:Z},{35:110,75:81,76:J,77:K,79:ae,80:Z},{35:111,75:81,76:J,77:K,79:ae,80:Z},{35:112,75:81,76:J,77:K,79:ae,80:Z},{35:113,75:81,76:J,77:K,79:ae,80:Z},{35:114,75:81,76:J,77:K,79:ae,80:Z},{35:115,75:81,76:J,77:K,79:ae,80:Z},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:S,52:w,53:k,54:C,55:A,56:L,57:I,58:R,59:E,60:_,61:D,62:O,63:N,64:P,65:B,66:F,67:V,68:$,69:U,70:j,71:ee,72:q,73:oe,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:J,77:K,79:ae,80:Z},{35:120,75:81,76:J,77:K,79:ae,80:Z},{35:121,75:81,76:J,77:K,79:ae,80:Z},{35:122,75:81,76:J,77:K,79:ae,80:Z},{35:123,75:81,76:J,77:K,79:ae,80:Z},{35:124,75:81,76:J,77:K,79:ae,80:Z},{35:125,75:81,76:J,77:K,79:ae,80:Z},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(ue,[2,15]),t(te,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(ue,[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:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:S,52:w,53:k,54:C,55:A,56:L,57:I,58:R,59:E,60:_,61:D,62:O,63:N,64:P,65:B,66:F,67:V,68:$,69:U,70:j,71:ee,72:q,73:oe,74:Q}),t(re,[2,21]),t(re,[2,22]),t(de,[2,39]),t(ne,[2,71],{75:81,35:132,76:J,77:K,79:ae,80:Z}),t(Te,[2,73]),{78:[1,133]},t(Te,[2,75]),t(Te,[2,76]),t(de,[2,40]),t(de,[2,41]),t(de,[2,42]),t(de,[2,43]),t(de,[2,44]),t(de,[2,45]),t(de,[2,46]),t(de,[2,47]),t(de,[2,48]),t(de,[2,49]),t(de,[2,50]),t(de,[2,51]),t(de,[2,52]),t(de,[2,53]),t(de,[2,54]),t(de,[2,55]),t(de,[2,56]),t(de,[2,57]),t(de,[2,58]),t(de,[2,60]),t(de,[2,61]),t(de,[2,62]),t(de,[2,63]),t(de,[2,64]),t(de,[2,65]),t(de,[2,66]),t(de,[2,67]),t(de,[2,68]),t(de,[2,69]),t(de,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(W,[2,28]),t(W,[2,29]),t(W,[2,30]),t(W,[2,31]),t(W,[2,32]),t(W,[2,33]),t(W,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(te,[2,18]),t(ue,[2,38]),t(ne,[2,72]),t(Te,[2,74]),t(de,[2,24]),t(de,[2,35]),t(Ve,[2,25]),t(Ve,[2,26],{12:[1,138]}),t(Ve,[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:o(function(Le,Ie){if(Ie.recoverable)this.trace(Le);else{var Ne=new Error(Le);throw Ne.hash=Ie,Ne}},"parseError"),parse:o(function(Le){var Ie=this,Ne=[0],Ce=[],Fe=[null],fe=[],xe=this.table,Y="",he=0,z=0,se=0,le=2,ke=1,ve=fe.slice.call(arguments,1),ye=Object.create(this.lexer),Re={yy:{}};for(var _e in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_e)&&(Re.yy[_e]=this.yy[_e]);ye.setInput(Le,Re.yy),Re.yy.lexer=ye,Re.yy.parser=this,typeof ye.yylloc>"u"&&(ye.yylloc={});var ze=ye.yylloc;fe.push(ze);var Ke=ye.options&&ye.options.ranges;typeof Re.yy.parseError=="function"?this.parseError=Re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xt(ft){Ne.length=Ne.length-2*ft,Fe.length=Fe.length-ft,fe.length=fe.length-ft}o(xt,"popStack");function We(){var ft;return ft=Ce.pop()||ye.lex()||ke,typeof ft!="number"&&(ft instanceof Array&&(Ce=ft,ft=Ce.pop()),ft=Ie.symbols_[ft]||ft),ft}o(We,"lex");for(var Oe,et,Ue,lt,Gt,vt,Lt={},dt,nt,bt,wt;;){if(Ue=Ne[Ne.length-1],this.defaultActions[Ue]?lt=this.defaultActions[Ue]:((Oe===null||typeof Oe>"u")&&(Oe=We()),lt=xe[Ue]&&xe[Ue][Oe]),typeof lt>"u"||!lt.length||!lt[0]){var yt="";wt=[];for(dt in xe[Ue])this.terminals_[dt]&&dt>le&&wt.push("'"+this.terminals_[dt]+"'");ye.showPosition?yt="Parse error on line "+(he+1)+`: +`+ye.showPosition()+` +Expecting `+wt.join(", ")+", got '"+(this.terminals_[Oe]||Oe)+"'":yt="Parse error on line "+(he+1)+": Unexpected "+(Oe==ke?"end of input":"'"+(this.terminals_[Oe]||Oe)+"'"),this.parseError(yt,{text:ye.match,token:this.terminals_[Oe]||Oe,line:ye.yylineno,loc:ze,expected:wt})}if(lt[0]instanceof Array&<.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ue+", token: "+Oe);switch(lt[0]){case 1:Ne.push(Oe),Fe.push(ye.yytext),fe.push(ye.yylloc),Ne.push(lt[1]),Oe=null,et?(Oe=et,et=null):(z=ye.yyleng,Y=ye.yytext,he=ye.yylineno,ze=ye.yylloc,se>0&&se--);break;case 2:if(nt=this.productions_[lt[1]][1],Lt.$=Fe[Fe.length-nt],Lt._$={first_line:fe[fe.length-(nt||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(nt||1)].first_column,last_column:fe[fe.length-1].last_column},Ke&&(Lt._$.range=[fe[fe.length-(nt||1)].range[0],fe[fe.length-1].range[1]]),vt=this.performAction.apply(Lt,[Y,z,he,Re.yy,lt[1],Fe,fe].concat(ve)),typeof vt<"u")return vt;nt&&(Ne=Ne.slice(0,-1*nt*2),Fe=Fe.slice(0,-1*nt),fe=fe.slice(0,-1*nt)),Ne.push(this.productions_[lt[1]][0]),Fe.push(Lt.$),fe.push(Lt._$),bt=xe[Ne[Ne.length-2]][Ne[Ne.length-1]],Ne.push(bt);break;case 3:return!0}}return!0},"parse")},Be=(function(){var He={EOF:1,parseError:o(function(Ie,Ne){if(this.yy.parser)this.yy.parser.parseError(Ie,Ne);else throw new Error(Ie)},"parseError"),setInput:o(function(Le,Ie){return this.yy=Ie||this.yy||{},this._input=Le,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:o(function(){var Le=this._input[0];this.yytext+=Le,this.yyleng++,this.offset++,this.match+=Le,this.matched+=Le;var Ie=Le.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Le},"input"),unput:o(function(Le){var Ie=Le.length,Ne=Le.split(/(?:\r\n?|\n)/g);this._input=Le+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ce=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),Ne.length-1&&(this.yylineno-=Ne.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:Ne?(Ne.length===Ce.length?this.yylloc.first_column:0)+Ce[Ce.length-Ne.length].length-Ne[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[Fe[0],Fe[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(Le){this.unput(this.match.slice(Le))},"less"),pastInput:o(function(){var Le=this.matched.substr(0,this.matched.length-this.match.length);return(Le.length>20?"...":"")+Le.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Le=this.match;return Le.length<20&&(Le+=this._input.substr(0,20-Le.length)),(Le.substr(0,20)+(Le.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Le=this.pastInput(),Ie=new Array(Le.length+1).join("-");return Le+this.upcomingInput()+` +`+Ie+"^"},"showPosition"),test_match:o(function(Le,Ie){var Ne,Ce,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))),Ce=Le[0].match(/(?:\r\n?|\n).*/g),Ce&&(this.yylineno+=Ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ce?Ce[Ce.length-1].length-Ce[Ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Le[0].length},this.yytext+=Le[0],this.match+=Le[0],this.matches=Le,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(Le[0].length),this.matched+=Le[0],Ne=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ne)return Ne;if(this._backtrack){for(var fe in Fe)this[fe]=Fe[fe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Le,Ie,Ne,Ce;this._more||(this.yytext="",this.match="");for(var Fe=this._currentRules(),fe=0;feIe[0].length)){if(Ie=Ne,Ce=fe,this.options.backtrack_lexer){if(Le=this.test_match(Ne,Fe[fe]),Le!==!1)return Le;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(Le=this.test_match(Ie,Fe[Ce]),Le!==!1?Le:!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:o(function(){var Ie=this.next();return Ie||this.lex()},"lex"),begin:o(function(Ie){this.conditionStack.push(Ie)},"begin"),popState:o(function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},"topState"),pushState:o(function(Ie){this.begin(Ie)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ie,Ne,Ce,Fe){var fe=Fe;switch(Ce){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;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;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;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;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";break;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:[],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 He})();pe.lexer=Be;function Ye(){this.yy={}}return o(Ye,"Parser"),Ye.prototype=pe,pe.Parser=Ye,new Ye})();rv.parser=rv;sH=rv});var Jwe,eke,mn,ic,Ei=M(()=>{"use strict";pt();Jwe=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),eke=o(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"),mn=o(function(t,e,r,n){let i=eke(e,r,n);Jwe(t,i)},"configureSvgSize"),ic=o(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,s=i.height;X.info(`SVG bounds: ${a}x${s}`,i);let l=0,u=0;X.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,X.info(`Calculated bounds: ${l}x${u}`),mn(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var z3,tke,oH,lH,NA=M(()=>{"use strict";pt();z3={},tke=o((t,e,r)=>{let n="";return t in z3&&z3[t]?n=z3[t](r):X.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: 1px; + } + & .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 + } + + ${n} + + ${e} +`},"getStyles"),oH=o((t,e)=>{e!==void 0&&(z3[t]=e)},"addStylesForDiagram"),lH=tke});var nv={};dr(nv,{clear:()=>Sr,getAccDescription:()=>Or,getAccTitle:()=>Mr,getDiagramTitle:()=>Pr,setAccDescription:()=>Ir,setAccTitle:()=>Rr,setDiagramTitle:()=>$r});var MA,IA,OA,PA,Sr,Rr,Mr,Ir,Or,$r,Pr,ci=M(()=>{"use strict";gr();qn();MA="",IA="",OA="",PA=o(t=>sr(t,Qt()),"sanitizeText"),Sr=o(()=>{MA="",OA="",IA=""},"clear"),Rr=o(t=>{MA=PA(t).replace(/^\s+/g,"")},"setAccTitle"),Mr=o(()=>MA,"getAccTitle"),Ir=o(t=>{OA=PA(t).replace(/\n\s+/g,` +`)},"setAccDescription"),Or=o(()=>OA,"getAccDescription"),$r=o(t=>{IA=PA(t)},"setDiagramTitle"),Pr=o(()=>IA,"getDiagramTitle")});var cH,rke,ge,iv,V3,av,FA,nke,G3,xd,sv,BA,Xt=M(()=>{"use strict";vd();pt();qn();gr();Ei();NA();ci();cH=X,rke=Ly,ge=Qt,iv=i3,V3=gh,av=o(t=>sr(t,ge()),"sanitizeText"),FA=ic,nke=o(()=>nv,"getCommonDb"),G3={},xd=o((t,e,r)=>{G3[t]&&cH.warn(`Diagram with id ${t} already registered. Overwriting.`),G3[t]=e,r&&LA(t,r),oH(t,e.styles),e.injectUtils?.(cH,rke,ge,av,FA,nke(),()=>{})},"registerDiagram"),sv=o(t=>{if(t in G3)return G3[t];throw new BA(t)},"getDiagram"),BA=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var ml,Eh,ns,pl,ac,ov,$A,zA,U3,H3,uH,ike,ake,ske,oke,lke,cke,uke,hke,fke,dke,pke,mke,gke,yke,vke,xke,bke,hH,Tke,wke,fH,kke,Eke,Ske,Cke,Sh,Ake,_ke,Dke,Lke,Rke,lv,GA=M(()=>{"use strict";Xt();gr();ci();ml=[],Eh=[""],ns="global",pl="",ac=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],ov=[],$A="",zA=!1,U3=4,H3=2,ike=o(function(){return uH},"getC4Type"),ake=o(function(t){uH=sr(t,ge())},"setC4Type"),ske=o(function(t,e,r,n,i,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=ov.find(d=>d.from===e&&d.to===r);if(f?h=f:ov.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=Sh()},"addRel"),oke=o(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let l={},u=ml.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,ml.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=ns,l.wrap=Sh()},"addPersonOrSystem"),lke=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ml.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ml.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=Sh(),u.typeC4Shape={text:t},u.parentBoundary=ns},"addContainer"),cke=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ml.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ml.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=Sh(),u.typeC4Shape={text:t},u.parentBoundary=ns},"addComponent"),uke=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=ac.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,ac.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=ns,a.wrap=Sh(),pl=ns,ns=t,Eh.push(pl)},"addPersonOrSystemBoundary"),hke=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=ac.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,ac.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=ns,a.wrap=Sh(),pl=ns,ns=t,Eh.push(pl)},"addContainerBoundary"),fke=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ac.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ac.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=ns,u.wrap=Sh(),pl=ns,ns=e,Eh.push(pl)},"addDeploymentNode"),dke=o(function(){ns=pl,Eh.pop(),pl=Eh.pop(),Eh.push(pl)},"popBoundaryParseStack"),pke=o(function(t,e,r,n,i,a,s,l,u,h,f){let d=ml.find(p=>p.alias===e);if(!(d===void 0&&(d=ac.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),mke=o(function(t,e,r,n,i,a,s){let l=ov.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),gke=o(function(t,e,r){let n=U3,i=H3;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(U3=n),i>=1&&(H3=i)},"updateLayoutConfig"),yke=o(function(){return U3},"getC4ShapeInRow"),vke=o(function(){return H3},"getC4BoundaryInRow"),xke=o(function(){return ns},"getCurrentBoundaryParse"),bke=o(function(){return pl},"getParentBoundaryParse"),hH=o(function(t){return t==null?ml:ml.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),Tke=o(function(t){return ml.find(e=>e.alias===t)},"getC4Shape"),wke=o(function(t){return Object.keys(hH(t))},"getC4ShapeKeys"),fH=o(function(t){return t==null?ac:ac.filter(e=>e.parentBoundary===t)},"getBoundaries"),kke=fH,Eke=o(function(){return ov},"getRels"),Ske=o(function(){return $A},"getTitle"),Cke=o(function(t){zA=t},"setWrap"),Sh=o(function(){return zA},"autoWrap"),Ake=o(function(){ml=[],ac=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],pl="",ns="global",Eh=[""],ov=[],Eh=[""],$A="",zA=!1,U3=4,H3=2},"clear"),_ke={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},Dke={FILLED:0,OPEN:1},Lke={LEFTOF:0,RIGHTOF:1,OVER:2},Rke=o(function(t){$A=sr(t,ge())},"setTitle"),lv={addPersonOrSystem:oke,addPersonOrSystemBoundary:uke,addContainer:lke,addContainerBoundary:hke,addComponent:cke,addDeploymentNode:fke,popBoundaryParseStack:dke,addRel:ske,updateElStyle:pke,updateRelStyle:mke,updateLayoutConfig:gke,autoWrap:Sh,setWrap:Cke,getC4ShapeArray:hH,getC4Shape:Tke,getC4ShapeKeys:wke,getBoundaries:fH,getBoundarys:kke,getCurrentBoundaryParse:xke,getParentBoundaryParse:bke,getRels:Eke,getTitle:Ske,getC4Type:ike,getC4ShapeInRow:yke,getC4BoundaryInRow:vke,setAccTitle:Rr,getAccTitle:Mr,getAccDescription:Or,setAccDescription:Ir,getConfig:o(()=>ge().c4,"getConfig"),clear:Ake,LINETYPE:_ke,ARROWTYPE:Dke,PLACEMENT:Lke,setTitle:Rke,setC4Type:ake}});function bd(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var VA=M(()=>{"use strict";o(bd,"ascending")});function UA(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var dH=M(()=>{"use strict";o(UA,"descending")});function Td(t){let e,r,n;t.length!==2?(e=bd,r=o((l,u)=>bd(t(l),u),"compare2"),n=o((l,u)=>t(l)-u,"delta")):(e=t===bd||t===UA?t:Nke,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return o(s,"center"),{left:i,center:s,right:a}}function Nke(){return 0}var HA=M(()=>{"use strict";VA();dH();o(Td,"bisector");o(Nke,"zero")});function qA(t){return t===null?NaN:+t}var pH=M(()=>{"use strict";o(qA,"number")});var mH,gH,Mke,Ike,WA,yH=M(()=>{"use strict";VA();HA();pH();mH=Td(bd),gH=mH.right,Mke=mH.left,Ike=Td(qA).center,WA=gH});function vH({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function Oke({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function Pke({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function Bke(t){return t!==null&&typeof t=="object"?t.valueOf():t}var D0,xH=M(()=>{"use strict";D0=class extends Map{static{o(this,"InternMap")}constructor(e,r=Bke){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(vH(this,e))}has(e){return super.has(vH(this,e))}set(e,r){return super.set(Oke(this,e),r)}delete(e){return super.delete(Pke(this,e))}};o(vH,"intern_get");o(Oke,"intern_set");o(Pke,"intern_delete");o(Bke,"keyof")});function q3(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=Fke?10:a>=$ke?5:a>=zke?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(s<0)for(let h=0;h{"use strict";Fke=Math.sqrt(50),$ke=Math.sqrt(10),zke=Math.sqrt(2);o(q3,"tickSpec");o(W3,"ticks");o(cv,"tickIncrement");o(L0,"tickStep")});function Y3(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var TH=M(()=>{"use strict";o(Y3,"max")});function X3(t,e){let r;if(e===void 0)for(let 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}var wH=M(()=>{"use strict";o(X3,"min")});function j3(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{"use strict";o(j3,"range")});var Ch=M(()=>{"use strict";yH();HA();TH();wH();kH();bH();xH()});function YA(t){return t}var EH=M(()=>{"use strict";o(YA,"default")});function Gke(t){return"translate("+t+",0)"}function Vke(t){return"translate(0,"+t+")"}function Uke(t){return e=>+t(e)}function Hke(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function qke(){return!this.__axis}function CH(t,e){var r=[],n=null,i=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===Q3||t===K3?-1:1,f=t===K3||t===XA?"x":"y",d=t===Q3||t===jA?Gke:Vke;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):YA),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,T=+x[x.length-1]+u,S=(e.bandwidth?Hke:Uke)(e.copy(),u),w=m.selection?m.selection():m,k=w.selectAll(".domain").data([null]),C=w.selectAll(".tick").data(g,e).order(),A=C.exit(),L=C.enter().append("g").attr("class","tick"),I=C.select("line"),R=C.select("text");k=k.merge(k.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge(L),I=I.merge(L.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),R=R.merge(L.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===Q3?"0em":t===jA?"0.71em":"0.32em")),m!==w&&(k=k.transition(m),C=C.transition(m),I=I.transition(m),R=R.transition(m),A=A.transition(m).attr("opacity",SH).attr("transform",function(E){return isFinite(E=S(E))?d(E+u):this.getAttribute("transform")}),L.attr("opacity",SH).attr("transform",function(E){var _=this.parentNode.__axis;return d((_&&isFinite(_=_(E))?_:S(E))+u)})),A.remove(),k.attr("d",t===K3||t===XA?s?"M"+h*s+","+b+"H"+u+"V"+T+"H"+h*s:"M"+u+","+b+"V"+T:s?"M"+b+","+h*s+"V"+u+"H"+T+"V"+h*s:"M"+b+","+u+"H"+T),C.attr("opacity",1).attr("transform",function(E){return d(S(E)+u)}),I.attr(f+"2",h*a),R.attr(f,h*v).text(y),w.filter(qke).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===XA?"start":t===K3?"end":"middle"),w.each(function(){this.__axis=S})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function KA(t){return CH(Q3,t)}function QA(t){return CH(jA,t)}var Q3,XA,jA,K3,SH,AH=M(()=>{"use strict";EH();Q3=1,XA=2,jA=3,K3=4,SH=1e-6;o(Gke,"translateX");o(Vke,"translateY");o(Uke,"number");o(Hke,"center");o(qke,"entering");o(CH,"axis");o(KA,"axisTop");o(QA,"axisBottom")});var _H=M(()=>{"use strict";AH()});function LH(){for(var t=0,e=arguments.length,r={},n;t=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}})}function Xke(t,e){for(var r=0,n=t.length,i;r{"use strict";Wke={value:o(()=>{},"value")};o(LH,"dispatch");o(Z3,"Dispatch");o(Yke,"parseTypenames");Z3.prototype=LH.prototype={constructor:Z3,on:o(function(t,e){var r=this._,n=Yke(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";RH()});var J3,e8,t8=M(()=>{"use strict";J3="http://www.w3.org/1999/xhtml",e8={svg:"http://www.w3.org/2000/svg",xhtml:J3,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function sc(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),e8.hasOwnProperty(e)?{space:e8[e],local:t}:t}var e5=M(()=>{"use strict";t8();o(sc,"default")});function jke(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===J3&&e.documentElement.namespaceURI===J3?e.createElement(t):e.createElementNS(r,t)}}function Kke(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function uv(t){var e=sc(t);return(e.local?Kke:jke)(e)}var r8=M(()=>{"use strict";e5();t8();o(jke,"creatorInherit");o(Kke,"creatorFixed");o(uv,"default")});function Qke(){}function Ah(t){return t==null?Qke:function(){return this.querySelector(t)}}var t5=M(()=>{"use strict";o(Qke,"none");o(Ah,"default")});function n8(t){typeof t!="function"&&(t=Ah(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";gl();t5();o(n8,"default")});function i8(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var MH=M(()=>{"use strict";o(i8,"array")});function Zke(){return[]}function R0(t){return t==null?Zke:function(){return this.querySelectorAll(t)}}var a8=M(()=>{"use strict";o(Zke,"empty");o(R0,"default")});function Jke(t){return function(){return i8(t.apply(this,arguments))}}function s8(t){typeof t=="function"?t=Jke(t):t=R0(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";gl();MH();a8();o(Jke,"arrayAll");o(s8,"default")});function N0(t){return function(){return this.matches(t)}}function r5(t){return function(e){return e.matches(t)}}var hv=M(()=>{"use strict";o(N0,"default");o(r5,"childMatcher")});function tEe(t){return function(){return eEe.call(this.children,t)}}function rEe(){return this.firstElementChild}function o8(t){return this.select(t==null?rEe:tEe(typeof t=="function"?t:r5(t)))}var eEe,OH=M(()=>{"use strict";hv();eEe=Array.prototype.find;o(tEe,"childFind");o(rEe,"childFirst");o(o8,"default")});function iEe(){return Array.from(this.children)}function aEe(t){return function(){return nEe.call(this.children,t)}}function l8(t){return this.selectAll(t==null?iEe:aEe(typeof t=="function"?t:r5(t)))}var nEe,PH=M(()=>{"use strict";hv();nEe=Array.prototype.filter;o(iEe,"children");o(aEe,"childrenFilter");o(l8,"default")});function c8(t){typeof t!="function"&&(t=N0(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";gl();hv();o(c8,"default")});function fv(t){return new Array(t.length)}var u8=M(()=>{"use strict";o(fv,"default")});function h8(){return new ui(this._enter||this._groups.map(fv),this._parents)}function dv(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var f8=M(()=>{"use strict";u8();gl();o(h8,"default");o(dv,"EnterNode");dv.prototype={constructor:dv,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function d8(t){return function(){return t}}var FH=M(()=>{"use strict";o(d8,"default")});function sEe(t,e,r,n,i,a){for(var s=0,l,u=e.length,h=a.length;s=T&&(T=b+1);!(w=v[T])&&++T{"use strict";gl();f8();FH();o(sEe,"bindIndex");o(oEe,"bindKey");o(lEe,"datum");o(p8,"default");o(cEe,"arraylike")});function m8(){return new ui(this._exit||this._groups.map(fv),this._parents)}var zH=M(()=>{"use strict";u8();gl();o(m8,"default")});function g8(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}var GH=M(()=>{"use strict";o(g8,"default")});function y8(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),l=new Array(i),u=0;u{"use strict";gl();o(y8,"default")});function v8(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var UH=M(()=>{"use strict";o(v8,"default")});function x8(t){t||(t=uEe);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var HH=M(()=>{"use strict";gl();o(x8,"default");o(uEe,"ascending")});function b8(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var qH=M(()=>{"use strict";o(b8,"default")});function T8(){return Array.from(this)}var WH=M(()=>{"use strict";o(T8,"default")});function w8(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(w8,"default")});function k8(){let t=0;for(let e of this)++t;return t}var XH=M(()=>{"use strict";o(k8,"default")});function E8(){return!this.node()}var jH=M(()=>{"use strict";o(E8,"default")});function S8(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";o(S8,"default")});function hEe(t){return function(){this.removeAttribute(t)}}function fEe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function dEe(t,e){return function(){this.setAttribute(t,e)}}function pEe(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function mEe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function gEe(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 C8(t,e){var r=sc(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?fEe:hEe:typeof e=="function"?r.local?gEe:mEe:r.local?pEe:dEe)(r,e))}var QH=M(()=>{"use strict";e5();o(hEe,"attrRemove");o(fEe,"attrRemoveNS");o(dEe,"attrConstant");o(pEe,"attrConstantNS");o(mEe,"attrFunction");o(gEe,"attrFunctionNS");o(C8,"default")});function pv(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var A8=M(()=>{"use strict";o(pv,"default")});function yEe(t){return function(){this.style.removeProperty(t)}}function vEe(t,e,r){return function(){this.style.setProperty(t,e,r)}}function xEe(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function _8(t,e,r){return arguments.length>1?this.each((e==null?yEe:typeof e=="function"?xEe:vEe)(t,e,r??"")):_h(this.node(),t)}function _h(t,e){return t.style.getPropertyValue(e)||pv(t).getComputedStyle(t,null).getPropertyValue(e)}var D8=M(()=>{"use strict";A8();o(yEe,"styleRemove");o(vEe,"styleConstant");o(xEe,"styleFunction");o(_8,"default");o(_h,"styleValue")});function bEe(t){return function(){delete this[t]}}function TEe(t,e){return function(){this[t]=e}}function wEe(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function L8(t,e){return arguments.length>1?this.each((e==null?bEe:typeof e=="function"?wEe:TEe)(t,e)):this.node()[t]}var ZH=M(()=>{"use strict";o(bEe,"propertyRemove");o(TEe,"propertyConstant");o(wEe,"propertyFunction");o(L8,"default")});function JH(t){return t.trim().split(/^|\s+/)}function R8(t){return t.classList||new eq(t)}function eq(t){this._node=t,this._names=JH(t.getAttribute("class")||"")}function tq(t,e){for(var r=R8(t),n=-1,i=e.length;++n{"use strict";o(JH,"classArray");o(R8,"classList");o(eq,"ClassList");eq.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o(tq,"classedAdd");o(rq,"classedRemove");o(kEe,"classedTrue");o(EEe,"classedFalse");o(SEe,"classedFunction");o(N8,"default")});function CEe(){this.textContent=""}function AEe(t){return function(){this.textContent=t}}function _Ee(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function M8(t){return arguments.length?this.each(t==null?CEe:(typeof t=="function"?_Ee:AEe)(t)):this.node().textContent}var iq=M(()=>{"use strict";o(CEe,"textRemove");o(AEe,"textConstant");o(_Ee,"textFunction");o(M8,"default")});function DEe(){this.innerHTML=""}function LEe(t){return function(){this.innerHTML=t}}function REe(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function I8(t){return arguments.length?this.each(t==null?DEe:(typeof t=="function"?REe:LEe)(t)):this.node().innerHTML}var aq=M(()=>{"use strict";o(DEe,"htmlRemove");o(LEe,"htmlConstant");o(REe,"htmlFunction");o(I8,"default")});function NEe(){this.nextSibling&&this.parentNode.appendChild(this)}function O8(){return this.each(NEe)}var sq=M(()=>{"use strict";o(NEe,"raise");o(O8,"default")});function MEe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function P8(){return this.each(MEe)}var oq=M(()=>{"use strict";o(MEe,"lower");o(P8,"default")});function B8(t){var e=typeof t=="function"?t:uv(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var lq=M(()=>{"use strict";r8();o(B8,"default")});function IEe(){return null}function F8(t,e){var r=typeof t=="function"?t:uv(t),n=e==null?IEe:typeof e=="function"?e:Ah(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var cq=M(()=>{"use strict";r8();t5();o(IEe,"constantNull");o(F8,"default")});function OEe(){var t=this.parentNode;t&&t.removeChild(this)}function $8(){return this.each(OEe)}var uq=M(()=>{"use strict";o(OEe,"remove");o($8,"default")});function PEe(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function BEe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function z8(t){return this.select(t?BEe:PEe)}var hq=M(()=>{"use strict";o(PEe,"selection_cloneShallow");o(BEe,"selection_cloneDeep");o(z8,"default")});function G8(t){return arguments.length?this.property("__data__",t):this.node().__data__}var fq=M(()=>{"use strict";o(G8,"default")});function FEe(t){return function(e){t.call(this,e,this.__data__)}}function $Ee(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 zEe(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";o(FEe,"contextListener");o($Ee,"parseTypenames");o(zEe,"onRemove");o(GEe,"onAdd");o(V8,"default")});function pq(t,e,r){var n=pv(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 VEe(t,e){return function(){return pq(this,t,e)}}function UEe(t,e){return function(){return pq(this,t,e.apply(this,arguments))}}function U8(t,e){return this.each((typeof e=="function"?UEe:VEe)(t,e))}var mq=M(()=>{"use strict";A8();o(pq,"dispatchEvent");o(VEe,"dispatchConstant");o(UEe,"dispatchFunction");o(U8,"default")});function*H8(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(H8,"default")});function ui(t,e){this._groups=t,this._parents=e}function yq(){return new ui([[document.documentElement]],q8)}function HEe(){return this}var q8,yu,gl=M(()=>{"use strict";NH();IH();OH();PH();BH();$H();f8();zH();GH();VH();UH();HH();qH();WH();YH();XH();jH();KH();QH();D8();ZH();nq();iq();aq();sq();oq();lq();cq();uq();hq();fq();dq();mq();gq();q8=[null];o(ui,"Selection");o(yq,"selection");o(HEe,"selection_selection");ui.prototype=yq.prototype={constructor:ui,select:n8,selectAll:s8,selectChild:o8,selectChildren:l8,filter:c8,data:p8,enter:h8,exit:m8,join:g8,merge:y8,selection:HEe,order:v8,sort:x8,call:b8,nodes:T8,node:w8,size:k8,empty:E8,each:S8,attr:C8,style:_8,property:L8,classed:N8,text:M8,html:I8,raise:O8,lower:P8,append:B8,insert:F8,remove:$8,clone:z8,datum:G8,on:V8,dispatch:U8,[Symbol.iterator]:H8};yu=yq});function qe(t){return typeof t=="string"?new ui([[document.querySelector(t)]],[document.documentElement]):new ui([[t]],q8)}var vq=M(()=>{"use strict";gl();o(qe,"default")});var yl=M(()=>{"use strict";hv();e5();vq();gl();t5();a8();D8()});var xq=M(()=>{"use strict"});function Dh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function M0(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var W8=M(()=>{"use strict";o(Dh,"default");o(M0,"extend")});function Lh(){}function Tq(){return this.rgb().formatHex()}function ZEe(){return this.rgb().formatHex8()}function JEe(){return _q(this).formatHsl()}function wq(){return this.rgb().formatRgb()}function xl(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=qEe.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?kq(e):r===3?new la(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?n5(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?n5(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=WEe.exec(t))?new la(e[1],e[2],e[3],1):(e=YEe.exec(t))?new la(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=XEe.exec(t))?n5(e[1],e[2],e[3],e[4]):(e=jEe.exec(t))?n5(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=KEe.exec(t))?Cq(e[1],e[2]/100,e[3]/100,1):(e=QEe.exec(t))?Cq(e[1],e[2]/100,e[3]/100,e[4]):bq.hasOwnProperty(t)?kq(bq[t]):t==="transparent"?new la(NaN,NaN,NaN,0):null}function kq(t){return new la(t>>16&255,t>>8&255,t&255,1)}function n5(t,e,r,n){return n<=0&&(t=e=r=NaN),new la(t,e,r,n)}function X8(t){return t instanceof Lh||(t=xl(t)),t?(t=t.rgb(),new la(t.r,t.g,t.b,t.opacity)):new la}function O0(t,e,r,n){return arguments.length===1?X8(t):new la(t,e,r,n??1)}function la(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function Eq(){return`#${wd(this.r)}${wd(this.g)}${wd(this.b)}`}function eSe(){return`#${wd(this.r)}${wd(this.g)}${wd(this.b)}${wd((isNaN(this.opacity)?1:this.opacity)*255)}`}function Sq(){let t=s5(this.opacity);return`${t===1?"rgb(":"rgba("}${kd(this.r)}, ${kd(this.g)}, ${kd(this.b)}${t===1?")":`, ${t})`}`}function s5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function kd(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function wd(t){return t=kd(t),(t<16?"0":"")+t.toString(16)}function Cq(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new vl(t,e,r,n)}function _q(t){if(t instanceof vl)return new vl(t.h,t.s,t.l,t.opacity);if(t instanceof Lh||(t=xl(t)),!t)return new vl;if(t instanceof vl)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,l=a-i,u=(a+i)/2;return l?(e===a?s=(r-n)/l+(r0&&u<1?0:s,new vl(s,l,u,t.opacity)}function Dq(t,e,r,n){return arguments.length===1?_q(t):new vl(t,e,r,n??1)}function vl(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function Aq(t){return t=(t||0)%360,t<0?t+360:t}function i5(t){return Math.max(0,Math.min(1,t||0))}function Y8(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var mv,a5,I0,gv,oc,qEe,WEe,YEe,XEe,jEe,KEe,QEe,bq,j8=M(()=>{"use strict";W8();o(Lh,"Color");mv=.7,a5=1/mv,I0="\\s*([+-]?\\d+)\\s*",gv="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",oc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",qEe=/^#([0-9a-f]{3,8})$/,WEe=new RegExp(`^rgb\\(${I0},${I0},${I0}\\)$`),YEe=new RegExp(`^rgb\\(${oc},${oc},${oc}\\)$`),XEe=new RegExp(`^rgba\\(${I0},${I0},${I0},${gv}\\)$`),jEe=new RegExp(`^rgba\\(${oc},${oc},${oc},${gv}\\)$`),KEe=new RegExp(`^hsl\\(${gv},${oc},${oc}\\)$`),QEe=new RegExp(`^hsla\\(${gv},${oc},${oc},${gv}\\)$`),bq={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};Dh(Lh,xl,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Tq,formatHex:Tq,formatHex8:ZEe,formatHsl:JEe,formatRgb:wq,toString:wq});o(Tq,"color_formatHex");o(ZEe,"color_formatHex8");o(JEe,"color_formatHsl");o(wq,"color_formatRgb");o(xl,"color");o(kq,"rgbn");o(n5,"rgba");o(X8,"rgbConvert");o(O0,"rgb");o(la,"Rgb");Dh(la,O0,M0(Lh,{brighter(t){return t=t==null?a5:Math.pow(a5,t),new la(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?mv:Math.pow(mv,t),new la(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new la(kd(this.r),kd(this.g),kd(this.b),s5(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:Eq,formatHex:Eq,formatHex8:eSe,formatRgb:Sq,toString:Sq}));o(Eq,"rgb_formatHex");o(eSe,"rgb_formatHex8");o(Sq,"rgb_formatRgb");o(s5,"clampa");o(kd,"clampi");o(wd,"hex");o(Cq,"hsla");o(_q,"hslConvert");o(Dq,"hsl");o(vl,"Hsl");Dh(vl,Dq,M0(Lh,{brighter(t){return t=t==null?a5:Math.pow(a5,t),new vl(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?mv:Math.pow(mv,t),new vl(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 la(Y8(t>=240?t-240:t+120,i,n),Y8(t,i,n),Y8(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new vl(Aq(this.h),i5(this.s),i5(this.l),s5(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(){let t=s5(this.opacity);return`${t===1?"hsl(":"hsla("}${Aq(this.h)}, ${i5(this.s)*100}%, ${i5(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(Aq,"clamph");o(i5,"clampt");o(Y8,"hsl2rgb")});var Lq,Rq,Nq=M(()=>{"use strict";Lq=Math.PI/180,Rq=180/Math.PI});function Fq(t){if(t instanceof lc)return new lc(t.l,t.a,t.b,t.opacity);if(t instanceof vu)return $q(t);t instanceof la||(t=X8(t));var e=J8(t.r),r=J8(t.g),n=J8(t.b),i=K8((.2225045*e+.7168786*r+.0606169*n)/Iq),a,s;return e===r&&r===n?a=s=i:(a=K8((.4360747*e+.3850649*r+.1430804*n)/Mq),s=K8((.0139322*e+.0971045*r+.7141733*n)/Oq)),new lc(116*i-16,500*(a-i),200*(i-s),t.opacity)}function e_(t,e,r,n){return arguments.length===1?Fq(t):new lc(t,e,r,n??1)}function lc(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function K8(t){return t>tSe?Math.pow(t,1/3):t/Bq+Pq}function Q8(t){return t>P0?t*t*t:Bq*(t-Pq)}function Z8(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function J8(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rSe(t){if(t instanceof vu)return new vu(t.h,t.c,t.l,t.opacity);if(t instanceof lc||(t=Fq(t)),t.a===0&&t.b===0)return new vu(NaN,0{"use strict";W8();j8();Nq();o5=18,Mq=.96422,Iq=1,Oq=.82521,Pq=4/29,P0=6/29,Bq=3*P0*P0,tSe=P0*P0*P0;o(Fq,"labConvert");o(e_,"lab");o(lc,"Lab");Dh(lc,e_,M0(Lh,{brighter(t){return new lc(this.l+o5*(t??1),this.a,this.b,this.opacity)},darker(t){return new lc(this.l-o5*(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=Mq*Q8(e),t=Iq*Q8(t),r=Oq*Q8(r),new la(Z8(3.1338561*e-1.6168667*t-.4906146*r),Z8(-.9787684*e+1.9161415*t+.033454*r),Z8(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(K8,"xyz2lab");o(Q8,"lab2xyz");o(Z8,"lrgb2rgb");o(J8,"rgb2lrgb");o(rSe,"hclConvert");o(yv,"hcl");o(vu,"Hcl");o($q,"hcl2lab");Dh(vu,yv,M0(Lh,{brighter(t){return new vu(this.h,this.c,this.l+o5*(t??1),this.opacity)},darker(t){return new vu(this.h,this.c,this.l-o5*(t??1),this.opacity)},rgb(){return $q(this).rgb()}}))});var B0=M(()=>{"use strict";j8();zq()});function t_(t,e,r,n,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*n+s*i)/6}function r_(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,l=n{"use strict";o(t_,"basis");o(r_,"default")});function i_(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],s=t[(n+1)%e],l=t[(n+2)%e];return t_((r-n/e)*e,i,a,s,l)}}var Gq=M(()=>{"use strict";n_();o(i_,"default")});var F0,a_=M(()=>{"use strict";F0=o(t=>()=>t,"default")});function Vq(t,e){return function(r){return t+r*e}}function nSe(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 Uq(t,e){var r=e-t;return r?Vq(t,r>180||r<-180?r-360*Math.round(r/360):r):F0(isNaN(t)?e:t)}function Hq(t){return(t=+t)==1?xu:function(e,r){return r-e?nSe(e,r,t):F0(isNaN(e)?r:e)}}function xu(t,e){var r=e-t;return r?Vq(t,r):F0(isNaN(t)?e:t)}var s_=M(()=>{"use strict";a_();o(Vq,"linear");o(nSe,"exponential");o(Uq,"hue");o(Hq,"gamma");o(xu,"nogamma")});function qq(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";B0();n_();Gq();s_();Ed=o((function t(e){var r=Hq(e);function n(i,a){var s=r((i=O0(i)).r,(a=O0(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=xu(i.opacity,a.opacity);return function(f){return i.r=s(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return o(n,"rgb"),n.gamma=t,n}),"rgbGamma")(1);o(qq,"rgbSpline");iSe=qq(r_),aSe=qq(i_)});function l_(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{"use strict";o(l_,"default");o(Wq,"isNumberArray")});function Xq(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{"use strict";l5();o(Xq,"genericArray")});function c_(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var Kq=M(()=>{"use strict";o(c_,"default")});function Wi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var vv=M(()=>{"use strict";o(Wi,"default")});function u_(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]=Rh(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var Qq=M(()=>{"use strict";l5();o(u_,"default")});function sSe(t){return function(){return t}}function oSe(t){return function(e){return t(e)+""}}function $0(t,e){var r=f_.lastIndex=h_.lastIndex=0,n,i,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(n=f_.exec(t))&&(i=h_.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(n=n[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,u.push({i:s,x:Wi(n,i)})),r=h_.lastIndex;return r{"use strict";vv();f_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,h_=new RegExp(f_.source,"g");o(sSe,"zero");o(oSe,"one");o($0,"default")});function Rh(t,e){var r=typeof e,n;return e==null||r==="boolean"?F0(e):(r==="number"?Wi:r==="string"?(n=xl(e))?(e=n,Ed):$0:e instanceof xl?Ed:e instanceof Date?c_:Wq(e)?l_:Array.isArray(e)?Xq:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?u_:Wi)(t,e)}var l5=M(()=>{"use strict";B0();o_();jq();Kq();vv();Qq();d_();a_();Yq();o(Rh,"default")});function c5(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var Zq=M(()=>{"use strict";o(c5,"default")});function h5(t,e,r,n,i,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";Jq=180/Math.PI,u5={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(h5,"default")});function tW(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?u5:h5(e.a,e.b,e.c,e.d,e.e,e.f)}function rW(t){return t==null?u5:(f5||(f5=document.createElementNS("http://www.w3.org/2000/svg","g")),f5.setAttribute("transform",t),(t=f5.transform.baseVal.consolidate())?(t=t.matrix,h5(t.a,t.b,t.c,t.d,t.e,t.f)):u5)}var f5,nW=M(()=>{"use strict";eW();o(tW,"parseCss");o(rW,"parseSvg")});function iW(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}o(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:Wi(h,d)},{i:y-2,x:Wi(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:Wi(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:Wi(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:Wi(h,d)},{i:y-2,x:Wi(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";vv();nW();o(iW,"interpolateTransform");p_=iW(tW,"px, ","px)","deg)"),m_=iW(rW,", ",")",")")});function sW(t){return function(e,r){var n=t((e=yv(e)).h,(r=yv(r)).h),i=xu(e.c,r.c),a=xu(e.l,r.l),s=xu(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=s(l),e+""}}}var g_,lSe,oW=M(()=>{"use strict";B0();s_();o(sW,"hcl");g_=sW(Uq),lSe=sW(xu)});var z0=M(()=>{"use strict";l5();vv();Zq();d_();aW();o_();oW()});function Ev(){return Sd||(uW(cSe),Sd=wv.now()+m5)}function cSe(){Sd=0}function kv(){this._call=this._time=this._next=null}function g5(t,e,r){var n=new kv;return n.restart(t,e,r),n}function hW(){Ev(),++G0;for(var t=d5,e;t;)(e=Sd-t._time)>=0&&t._call.call(void 0,e),t=t._next;--G0}function lW(){Sd=(p5=wv.now())+m5,G0=bv=0;try{hW()}finally{G0=0,hSe(),Sd=0}}function uSe(){var t=wv.now(),e=t-p5;e>cW&&(m5-=e,p5=t)}function hSe(){for(var t,e=d5,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:d5=r);Tv=t,y_(n)}function y_(t){if(!G0){bv&&(bv=clearTimeout(bv));var e=t-Sd;e>24?(t<1/0&&(bv=setTimeout(lW,t-wv.now()-m5)),xv&&(xv=clearInterval(xv))):(xv||(p5=wv.now(),xv=setInterval(uSe,cW)),G0=1,uW(lW))}}var G0,bv,xv,cW,d5,Tv,p5,Sd,m5,wv,uW,v_=M(()=>{"use strict";G0=0,bv=0,xv=0,cW=1e3,p5=0,Sd=0,m5=0,wv=typeof performance=="object"&&performance.now?performance:Date,uW=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(Ev,"now");o(cSe,"clearNow");o(kv,"Timer");kv.prototype=g5.prototype={constructor:kv,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?Ev():+r)+(e==null?0:+e),!this._next&&Tv!==this&&(Tv?Tv._next=this:d5=this,Tv=this),this._call=t,this._time=r,y_()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,y_())},"stop")};o(g5,"timer");o(hW,"timerFlush");o(lW,"wake");o(uSe,"poke");o(hSe,"nap");o(y_,"sleep")});function Sv(t,e,r){var n=new kv;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var fW=M(()=>{"use strict";v_();o(Sv,"default")});var y5=M(()=>{"use strict";v_();fW()});function bu(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;pSe(t,r,{name:e,index:n,group:i,on:fSe,tween:dSe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:mW})}function Av(t,e){var r=Oi(t,e);if(r.state>mW)throw new Error("too late; already scheduled");return r}function ca(t,e){var r=Oi(t,e);if(r.state>v5)throw new Error("too late; already running");return r}function Oi(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function pSe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=g5(a,0,r.time);function a(h){r.state=dW,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==dW)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===v5)return Sv(s);m.state===pW?(m.state=Cv,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";JA();y5();fSe=ZA("start","end","cancel","interrupt"),dSe=[],mW=0,dW=1,x5=2,v5=3,pW=4,b5=5,Cv=6;o(bu,"default");o(Av,"init");o(ca,"set");o(Oi,"get");o(pSe,"create")});function _v(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>x5&&n.state{"use strict";Ds();o(_v,"default")});function x_(t){return this.each(function(){_v(this,t)})}var yW=M(()=>{"use strict";gW();o(x_,"default")});function mSe(t,e){var r,n;return function(){var i=ca(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,l=n.length;s{"use strict";Ds();o(mSe,"tweenRemove");o(gSe,"tweenFunction");o(b_,"default");o(V0,"tweenValue")});function Lv(t,e){var r;return(typeof e=="number"?Wi:e instanceof xl?Ed:(r=xl(e))?(e=r,Ed):$0)(t,e)}var T_=M(()=>{"use strict";B0();z0();o(Lv,"default")});function ySe(t){return function(){this.removeAttribute(t)}}function vSe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function xSe(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 bSe(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 TSe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function wSe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function w_(t,e){var r=sc(t),n=r==="transform"?m_:Lv;return this.attrTween(t,typeof e=="function"?(r.local?wSe:TSe)(r,n,V0(this,"attr."+t,e)):e==null?(r.local?vSe:ySe)(r):(r.local?bSe:xSe)(r,n,e))}var vW=M(()=>{"use strict";z0();yl();Dv();T_();o(ySe,"attrRemove");o(vSe,"attrRemoveNS");o(xSe,"attrConstant");o(bSe,"attrConstantNS");o(TSe,"attrFunction");o(wSe,"attrFunctionNS");o(w_,"default")});function kSe(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function ESe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function SSe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&ESe(t,a)),r}return o(i,"tween"),i._value=e,i}function CSe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&kSe(t,a)),r}return o(i,"tween"),i._value=e,i}function k_(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=sc(t);return this.tween(r,(n.local?SSe:CSe)(n,e))}var xW=M(()=>{"use strict";yl();o(kSe,"attrInterpolate");o(ESe,"attrInterpolateNS");o(SSe,"attrTweenNS");o(CSe,"attrTween");o(k_,"default")});function ASe(t,e){return function(){Av(this,t).delay=+e.apply(this,arguments)}}function _Se(t,e){return e=+e,function(){Av(this,t).delay=e}}function E_(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?ASe:_Se)(e,t)):Oi(this.node(),e).delay}var bW=M(()=>{"use strict";Ds();o(ASe,"delayFunction");o(_Se,"delayConstant");o(E_,"default")});function DSe(t,e){return function(){ca(this,t).duration=+e.apply(this,arguments)}}function LSe(t,e){return e=+e,function(){ca(this,t).duration=e}}function S_(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?DSe:LSe)(e,t)):Oi(this.node(),e).duration}var TW=M(()=>{"use strict";Ds();o(DSe,"durationFunction");o(LSe,"durationConstant");o(S_,"default")});function RSe(t,e){if(typeof e!="function")throw new Error;return function(){ca(this,t).ease=e}}function C_(t){var e=this._id;return arguments.length?this.each(RSe(e,t)):Oi(this.node(),e).ease}var wW=M(()=>{"use strict";Ds();o(RSe,"easeConstant");o(C_,"default")});function NSe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;ca(this,t).ease=r}}function A_(t){if(typeof t!="function")throw new Error;return this.each(NSe(this._id,t))}var kW=M(()=>{"use strict";Ds();o(NSe,"easeVarying");o(A_,"default")});function __(t){typeof t!="function"&&(t=N0(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";yl();Cd();o(__,"default")});function D_(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),l=0;l{"use strict";Cd();o(D_,"default")});function MSe(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 ISe(t,e,r){var n,i,a=MSe(e)?Av:ca;return function(){var s=a(this,t),l=s.on;l!==n&&(i=(n=l).copy()).on(e,r),s.on=i}}function L_(t,e){var r=this._id;return arguments.length<2?Oi(this.node(),r).on.on(t):this.each(ISe(r,t,e))}var CW=M(()=>{"use strict";Ds();o(MSe,"start");o(ISe,"onFunction");o(L_,"default")});function OSe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function R_(){return this.on("end.remove",OSe(this._id))}var AW=M(()=>{"use strict";o(OSe,"removeFunction");o(R_,"default")});function N_(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Ah(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s{"use strict";yl();Cd();Ds();o(N_,"default")});function M_(t){var e=this._name,r=this._id;typeof t!="function"&&(t=R0(t));for(var n=this._groups,i=n.length,a=[],s=[],l=0;l{"use strict";yl();Cd();Ds();o(M_,"default")});function I_(){return new PSe(this._groups,this._parents)}var PSe,LW=M(()=>{"use strict";yl();PSe=yu.prototype.constructor;o(I_,"default")});function BSe(t,e){var r,n,i;return function(){var a=_h(this,t),s=(this.style.removeProperty(t),_h(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function RW(t){return function(){this.style.removeProperty(t)}}function FSe(t,e,r){var n,i=r+"",a;return function(){var s=_h(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function $Se(t,e,r){var n,i,a;return function(){var s=_h(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),_h(this,t))),s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l))}}function zSe(t,e){var r,n,i,a="style."+e,s="end."+a,l;return function(){var u=ca(this,t),h=u.on,f=u.value[a]==null?l||(l=RW(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(s,i=f),u.on=n}}function O_(t,e,r){var n=(t+="")=="transform"?p_:Lv;return e==null?this.styleTween(t,BSe(t,n)).on("end.style."+t,RW(t)):typeof e=="function"?this.styleTween(t,$Se(t,n,V0(this,"style."+t,e))).each(zSe(this._id,t)):this.styleTween(t,FSe(t,n,e),r).on("end.style."+t,null)}var NW=M(()=>{"use strict";z0();yl();Ds();Dv();T_();o(BSe,"styleNull");o(RW,"styleRemove");o(FSe,"styleConstant");o($Se,"styleFunction");o(zSe,"styleMaybeRemove");o(O_,"default")});function GSe(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function VSe(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&GSe(t,s,r)),n}return o(a,"tween"),a._value=e,a}function P_(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,VSe(t,e,r??""))}var MW=M(()=>{"use strict";o(GSe,"styleInterpolate");o(VSe,"styleTween");o(P_,"default")});function USe(t){return function(){this.textContent=t}}function HSe(t){return function(){var e=t(this);this.textContent=e??""}}function B_(t){return this.tween("text",typeof t=="function"?HSe(V0(this,"text",t)):USe(t==null?"":t+""))}var IW=M(()=>{"use strict";Dv();o(USe,"textConstant");o(HSe,"textFunction");o(B_,"default")});function qSe(t){return function(e){this.textContent=t.call(this,e)}}function WSe(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&qSe(i)),e}return o(n,"tween"),n._value=t,n}function F_(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,WSe(t))}var OW=M(()=>{"use strict";o(qSe,"textInterpolate");o(WSe,"textTween");o(F_,"default")});function $_(){for(var t=this._name,e=this._id,r=T5(),n=this._groups,i=n.length,a=0;a{"use strict";Cd();Ds();o($_,"default")});function z_(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--i===0&&a()},"value")};r.each(function(){var h=ca(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var BW=M(()=>{"use strict";Ds();o(z_,"default")});function is(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function FW(t){return yu().transition(t)}function T5(){return++YSe}var YSe,Tu,Cd=M(()=>{"use strict";yl();vW();xW();bW();TW();wW();kW();EW();SW();CW();AW();_W();DW();LW();NW();MW();IW();OW();PW();Dv();BW();YSe=0;o(is,"Transition");o(FW,"transition");o(T5,"newId");Tu=yu.prototype;is.prototype=FW.prototype={constructor:is,select:N_,selectAll:M_,selectChild:Tu.selectChild,selectChildren:Tu.selectChildren,filter:__,merge:D_,selection:I_,transition:$_,call:Tu.call,nodes:Tu.nodes,node:Tu.node,size:Tu.size,empty:Tu.empty,each:Tu.each,on:L_,attr:w_,attrTween:k_,style:O_,styleTween:P_,text:B_,textTween:F_,remove:R_,tween:b_,delay:E_,duration:S_,ease:C_,easeVarying:A_,end:z_,[Symbol.iterator]:Tu[Symbol.iterator]}});function w5(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var $W=M(()=>{"use strict";o(w5,"cubicInOut")});var G_=M(()=>{"use strict";$W()});function jSe(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 V_(t){var e,r;t instanceof is?(e=t._id,t=t._name):(e=T5(),(r=XSe).time=Ev(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";Cd();Ds();G_();y5();XSe={time:null,delay:0,duration:250,ease:w5};o(jSe,"inherit");o(V_,"default")});var GW=M(()=>{"use strict";yl();yW();zW();yu.prototype.interrupt=x_;yu.prototype.transition=V_});var k5=M(()=>{"use strict";GW()});var VW=M(()=>{"use strict"});var UW=M(()=>{"use strict"});var HW=M(()=>{"use strict"});function qW(t){return[+t[0],+t[1]]}function KSe(t){return[qW(t[0]),qW(t[1])]}function U_(t){return{type:t}}var p1t,m1t,g1t,y1t,v1t,x1t,WW=M(()=>{"use strict";k5();VW();UW();HW();({abs:p1t,max:m1t,min:g1t}=Math);o(qW,"number1");o(KSe,"number2");y1t={name:"x",handles:["w","e"].map(U_),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},v1t={name:"y",handles:["n","s"].map(U_),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},x1t={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(U_),input:o(function(t){return t==null?null:KSe(t)},"input"),output:o(function(t){return t},"output")};o(U_,"type")});var YW=M(()=>{"use strict";WW()});function XW(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return XW;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";H_=Math.PI,q_=2*H_,Ad=1e-6,QSe=q_-Ad;o(XW,"append");o(ZSe,"appendRound");_d=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?XW:ZSe(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,l=this._y1,u=n-e,h=i-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>Ad)if(!(Math.abs(d*u-h*f)>Ad)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-s,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),T=a*Math.tan((H_-Math.acos((y+p-v)/(2*x*b)))/2),S=T/b,w=T/x;Math.abs(S-1)>Ad&&this._append`L${e+S*f},${r+S*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+w*u},${this._y1=r+w*h}`}}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 l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^s,p=s?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>Ad||Math.abs(this._y1-f)>Ad)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%q_+q_),p>QSe?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>Ad&&this._append`A${n},${n},0,${+(p>=H_)},${d},${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._}};o(jW,"path");jW.prototype=_d.prototype});var W_=M(()=>{"use strict";KW()});var QW=M(()=>{"use strict"});var ZW=M(()=>{"use strict"});var JW=M(()=>{"use strict"});var eY=M(()=>{"use strict"});var tY=M(()=>{"use strict"});var rY=M(()=>{"use strict"});var nY=M(()=>{"use strict"});function Y_(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Dd(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var Rv=M(()=>{"use strict";o(Y_,"default");o(Dd,"formatDecimalParts")});function bl(t){return t=Dd(Math.abs(t)),t?t[1]:NaN}var Nv=M(()=>{"use strict";Rv();o(bl,"default")});function X_(t,e){return function(r,n){for(var i=r.length,a=[],s=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var iY=M(()=>{"use strict";o(X_,"default")});function j_(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var aY=M(()=>{"use strict";o(j_,"default")});function Nh(t){if(!(e=JSe.exec(t)))throw new Error("invalid format: "+t);var e;return new E5({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]})}function E5(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+""}var JSe,K_=M(()=>{"use strict";JSe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(Nh,"formatSpecifier");Nh.prototype=E5.prototype;o(E5,"FormatSpecifier");E5.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 Q_(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var sY=M(()=>{"use strict";o(Q_,"default")});function J_(t,e){var r=Dd(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(Z_=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")+Dd(t,Math.max(0,e+a-1))[0]}var Z_,eD=M(()=>{"use strict";Rv();o(J_,"default")});function S5(t,e){var r=Dd(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")}var oY=M(()=>{"use strict";Rv();o(S5,"default")});var tD,lY=M(()=>{"use strict";Rv();eD();oY();tD={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:Y_,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>S5(t*100,e),"p"),r:S5,s:J_,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function C5(t){return t}var cY=M(()=>{"use strict";o(C5,"default")});function rD(t){var e=t.grouping===void 0||t.thousands===void 0?C5:X_(uY.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?C5:j_(uY.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Nh(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,T=d.precision,S=d.trim,w=d.type;w==="n"?(b=!0,w="g"):tD[w]||(T===void 0&&(T=12),S=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var k=y==="$"?r:y==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",C=y==="$"?n:/[%p]/.test(w)?s:"",A=tD[w],L=/[defgprs%]/.test(w);T=T===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function I(R){var E=k,_=C,D,O,N;if(w==="c")_=A(R)+_,R="";else{R=+R;var P=R<0||1/R<0;if(R=isNaN(R)?u:A(Math.abs(R),T),S&&(R=Q_(R)),P&&+R==0&&g!=="+"&&(P=!1),E=(P?g==="("?g:l:g==="-"||g==="("?"":g)+E,_=(w==="s"?hY[8+Z_/3]:"")+_+(P&&g==="("?")":""),L){for(D=-1,O=R.length;++DN||N>57){_=(N===46?i+R.slice(D+1):R.slice(D))+_,R=R.slice(0,D);break}}}b&&!v&&(R=e(R,1/0));var B=E.length+R.length+_.length,F=B>1)+E+R+_+F.slice(B);break;default:R=F+E+R+_;break}return a(R)}return o(I,"format"),I.toString=function(){return d+""},I}o(h,"newFormat");function f(d,p){var m=h((d=Nh(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(bl(p)/3)))*3,y=Math.pow(10,-g),v=hY[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var uY,hY,fY=M(()=>{"use strict";Nv();iY();aY();K_();sY();lY();eD();cY();uY=Array.prototype.map,hY=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(rD,"default")});function nD(t){return A5=rD(t),cc=A5.format,_5=A5.formatPrefix,A5}var A5,cc,_5,dY=M(()=>{"use strict";fY();nD({thousands:",",grouping:[3],currency:["$",""]});o(nD,"defaultLocale")});function D5(t){return Math.max(0,-bl(Math.abs(t)))}var pY=M(()=>{"use strict";Nv();o(D5,"default")});function L5(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(bl(e)/3)))*3-bl(Math.abs(t)))}var mY=M(()=>{"use strict";Nv();o(L5,"default")});function R5(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,bl(e)-bl(t))+1}var gY=M(()=>{"use strict";Nv();o(R5,"default")});var iD=M(()=>{"use strict";dY();K_();pY();mY();gY()});var yY=M(()=>{"use strict"});function e6e(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 aD(){return this.eachAfter(e6e)}var vY=M(()=>{"use strict";o(e6e,"count");o(aD,"default")});function sD(t,e){let r=-1;for(let n of this)t.call(e,n,++r,this);return this}var xY=M(()=>{"use strict";o(sD,"default")});function oD(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}var bY=M(()=>{"use strict";o(oD,"default")});function lD(t,e){for(var r=this,n=[r],i=[],a,s,l,u=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,l=a.length;s{"use strict";o(lD,"default")});function cD(t,e){let r=-1;for(let n of this)if(t.call(e,n,++r,this))return n}var wY=M(()=>{"use strict";o(cD,"default")});function uD(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})}var kY=M(()=>{"use strict";o(uD,"default")});function hD(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}var EY=M(()=>{"use strict";o(hD,"default")});function fD(t){for(var e=this,r=t6e(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 t6e(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}var SY=M(()=>{"use strict";o(fD,"default");o(t6e,"leastCommonAncestor")});function dD(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}var CY=M(()=>{"use strict";o(dD,"default")});function pD(){return Array.from(this)}var AY=M(()=>{"use strict";o(pD,"default")});function mD(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}var _Y=M(()=>{"use strict";o(mD,"default")});function gD(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}var DY=M(()=>{"use strict";o(gD,"default")});function*yD(){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{"use strict";o(yD,"default")});function U0(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=i6e)):e===void 0&&(e=n6e);for(var r=new Mv(t),n,i=[r],a,s,l,u;n=i.pop();)if((s=e(n.data))&&(u=(s=Array.from(s)).length))for(n.children=s,l=u-1;l>=0;--l)i.push(a=s[l]=new Mv(s[l])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(s6e)}function r6e(){return U0(this).eachBefore(a6e)}function n6e(t){return t.children}function i6e(t){return Array.isArray(t)?t[1]:null}function a6e(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function s6e(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function Mv(t){this.data=t,this.depth=this.height=0,this.parent=null}var RY=M(()=>{"use strict";vY();xY();bY();TY();wY();kY();EY();SY();CY();AY();_Y();DY();LY();o(U0,"hierarchy");o(r6e,"node_copy");o(n6e,"objectChildren");o(i6e,"mapChildren");o(a6e,"copyData");o(s6e,"computeHeight");o(Mv,"Node");Mv.prototype=U0.prototype={constructor:Mv,count:aD,each:sD,eachAfter:lD,eachBefore:oD,find:cD,sum:uD,sort:hD,path:fD,ancestors:dD,descendants:pD,leaves:mD,links:gD,copy:r6e,[Symbol.iterator]:yD}});function NY(t){if(typeof t!="function")throw new Error;return t}var MY=M(()=>{"use strict";o(NY,"required")});function H0(){return 0}function Ld(t){return function(){return t}}var IY=M(()=>{"use strict";o(H0,"constantZero");o(Ld,"default")});function vD(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)}var OY=M(()=>{"use strict";o(vD,"default")});function xD(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(n-e)/t.value;++l{"use strict";o(xD,"default")});function bD(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(i-r)/t.value;++l{"use strict";o(bD,"default")});function l6e(t,e,r,n,i,a){for(var s=[],l=e.children,u,h,f=0,d=0,p=l.length,m,g,y=e.value,v,x,b,T,S,w,k;fb&&(b=h),k=v*v*w,T=Math.max(b/k,k/x),T>S){v-=h;break}S=T}s.push(u={value:v,dice:m{"use strict";PY();BY();o6e=(1+Math.sqrt(5))/2;o(l6e,"squarifyRatio");FY=o((function t(e){function r(n,i,a,s,l){l6e(e,n,i,a,s,l)}return o(r,"squarify"),r.ratio=function(n){return t((n=+n)>1?n:1)},r}),"custom")(o6e)});function N5(){var t=FY,e=!1,r=1,n=1,i=[0],a=H0,s=H0,l=H0,u=H0,h=H0;function f(p){return p.x0=p.y0=0,p.x1=r,p.y1=n,p.eachBefore(d),i=[0],e&&p.eachBefore(vD),p}o(f,"treemap");function d(p){var m=i[p.depth],g=p.x0+m,y=p.y0+m,v=p.x1-m,x=p.y1-m;v{"use strict";OY();$Y();MY();IY();o(N5,"default")});var GY=M(()=>{"use strict";RY();zY()});var VY=M(()=>{"use strict"});var UY=M(()=>{"use strict"});function Mh(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var Iv=M(()=>{"use strict";o(Mh,"initRange")});function no(){var t=new D0,e=[],r=[],n=TD;function i(a){let s=t.get(a);if(s===void 0){if(n!==TD)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new D0;for(let 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 no(e,r).unknown(n)},Mh.apply(i,arguments),i}var TD,wD=M(()=>{"use strict";Ch();Iv();TD=Symbol("implicit");o(no,"ordinal")});function q0(){var t=no().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";Ch();Iv();wD();o(q0,"band")});function kD(t){return function(){return t}}var qY=M(()=>{"use strict";o(kD,"constants")});function ED(t){return+t}var WY=M(()=>{"use strict";o(ED,"number")});function W0(t){return t}function SD(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:kD(isNaN(e)?NaN:.5)}function c6e(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function u6e(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?h6e:u6e,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(s(p)))}return o(d,"scale"),d.invert=function(p){return s(i((h||(h=l(e,t.map(n),Wi)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,ED),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=c5,f()},d.clamp=function(p){return arguments.length?(s=p?!0:W0,f()):s!==W0},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function Ov(){return f6e()(W0,W0)}var YY,CD=M(()=>{"use strict";Ch();z0();qY();WY();YY=[0,1];o(W0,"identity");o(SD,"normalize");o(c6e,"clamper");o(u6e,"bimap");o(h6e,"polymap");o(M5,"copy");o(f6e,"transformer");o(Ov,"continuous")});function AD(t,e,r,n){var i=L0(t,e,r),a;switch(n=Nh(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=L5(i,s))&&(n.precision=a),_5(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=R5(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=D5(i))&&(n.precision=a-(n.type==="%")*2);break}}return cc(n)}var XY=M(()=>{"use strict";Ch();iD();o(AD,"tickFormat")});function d6e(t){var e=t.domain;return t.ticks=function(r){var n=e();return W3(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return AD(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],l=n[a],u,h,f=10;for(l0;){if(h=cv(s,l,r),h===u)return n[i]=s,n[a]=l,e(n);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function Tl(){var t=Ov();return t.copy=function(){return M5(t,Tl())},Mh.apply(t,arguments),d6e(t)}var jY=M(()=>{"use strict";Ch();CD();Iv();XY();o(d6e,"linearish");o(Tl,"linear")});function _D(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a{"use strict";o(_D,"nice")});function En(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(i,"interval"),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=>{let s=i(a),l=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hEn(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(DD.setTime(+a),LD.setTime(+s),t(DD),t(LD),Math.floor(r(DD,LD))),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}var DD,LD,wu=M(()=>{"use strict";DD=new Date,LD=new Date;o(En,"timeInterval")});var uc,QY,RD=M(()=>{"use strict";wu();uc=En(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);uc.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?En(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):uc);QY=uc.range});var io,ZY,ND=M(()=>{"use strict";wu();io=En(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),ZY=io.range});var ku,p6e,I5,m6e,MD=M(()=>{"use strict";wu();ku=En(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),p6e=ku.range,I5=En(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),m6e=I5.range});var Eu,g6e,O5,y6e,ID=M(()=>{"use strict";wu();Eu=En(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),g6e=Eu.range,O5=En(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),y6e=O5.range});var Ro,v6e,Bv,x6e,P5,b6e,OD=M(()=>{"use strict";wu();Ro=En(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),v6e=Ro.range,Bv=En(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),x6e=Bv.range,P5=En(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),b6e=P5.range});function Md(t){return En(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())*6e4)/6048e5)}function Id(t){return En(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)/6048e5)}var wl,Ih,B5,F5,fc,$5,z5,eX,T6e,w6e,k6e,E6e,S6e,C6e,Od,Y0,tX,rX,Oh,nX,iX,aX,A6e,_6e,D6e,L6e,R6e,N6e,PD=M(()=>{"use strict";wu();o(Md,"timeWeekday");wl=Md(0),Ih=Md(1),B5=Md(2),F5=Md(3),fc=Md(4),$5=Md(5),z5=Md(6),eX=wl.range,T6e=Ih.range,w6e=B5.range,k6e=F5.range,E6e=fc.range,S6e=$5.range,C6e=z5.range;o(Id,"utcWeekday");Od=Id(0),Y0=Id(1),tX=Id(2),rX=Id(3),Oh=Id(4),nX=Id(5),iX=Id(6),aX=Od.range,A6e=Y0.range,_6e=tX.range,D6e=rX.range,L6e=Oh.range,R6e=nX.range,N6e=iX.range});var Su,M6e,G5,I6e,BD=M(()=>{"use strict";wu();Su=En(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()),M6e=Su.range,G5=En(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()),I6e=G5.range});var ao,O6e,kl,P6e,FD=M(()=>{"use strict";wu();ao=En(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());ao.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:En(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)});O6e=ao.range,kl=En(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());kl.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:En(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)});P6e=kl.range});function oX(t,e,r,n,i,a){let s=[[io,1,1e3],[io,5,5*1e3],[io,15,15*1e3],[io,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(L0(h/31536e6,f/31536e6,d));if(m===0)return uc.every(Math.max(L0(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";Ch();RD();ND();MD();ID();OD();PD();BD();FD();o(oX,"ticker");[F6e,$6e]=oX(kl,G5,Od,P5,O5,I5),[$D,zD]=oX(ao,Su,wl,Ro,Eu,ku)});var V5=M(()=>{"use strict";RD();ND();MD();ID();OD();PD();BD();FD();lX()});function GD(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 VD(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 Fv(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function UD(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=$v(i),f=zv(i),d=$v(a),p=zv(a),m=$v(s),g=zv(s),y=$v(l),v=zv(l),x=$v(u),b=zv(u),T={a:P,A:B,b:F,B:V,c:null,d:pX,e:pX,f:lCe,g:vCe,G:bCe,H:aCe,I:sCe,j:oCe,L:xX,m:cCe,M:uCe,p:$,q:U,Q:yX,s:vX,S:hCe,u:fCe,U:dCe,V:pCe,w:mCe,W:gCe,x:null,X:null,y:yCe,Y:xCe,Z:TCe,"%":gX},S={a:j,A:ee,b:q,B:oe,c:null,d:mX,e:mX,f:SCe,g:OCe,G:BCe,H:wCe,I:kCe,j:ECe,L:TX,m:CCe,M:ACe,p:Q,q:ue,Q:yX,s:vX,S:_Ce,u:DCe,U:LCe,V:RCe,w:NCe,W:MCe,x:null,X:null,y:ICe,Y:PCe,Z:FCe,"%":gX},w={a:I,A:R,b:E,B:_,c:D,d:fX,e:fX,f:tCe,g:hX,G:uX,H:dX,I:dX,j:Q6e,L:eCe,m:K6e,M:Z6e,p:L,q:j6e,Q:nCe,s:iCe,S:J6e,u:H6e,U:q6e,V:W6e,w:U6e,W:Y6e,x:O,X:N,y:hX,Y:uX,Z:X6e,"%":rCe};T.x=k(r,T),T.X=k(n,T),T.c=k(e,T),S.x=k(r,S),S.X=k(n,S),S.c=k(e,S);function k(te,re){return function(J){var K=[],ae=-1,Z=0,de=te.length,ne,Te,W;for(J instanceof Date||(J=new Date(+J));++ae53)return null;"w"in K||(K.w=1),"Z"in K?(Z=VD(Fv(K.y,0,1)),de=Z.getUTCDay(),Z=de>4||de===0?Y0.ceil(Z):Y0(Z),Z=Bv.offset(Z,(K.V-1)*7),K.y=Z.getUTCFullYear(),K.m=Z.getUTCMonth(),K.d=Z.getUTCDate()+(K.w+6)%7):(Z=GD(Fv(K.y,0,1)),de=Z.getDay(),Z=de>4||de===0?Ih.ceil(Z):Ih(Z),Z=Ro.offset(Z,(K.V-1)*7),K.y=Z.getFullYear(),K.m=Z.getMonth(),K.d=Z.getDate()+(K.w+6)%7)}else("W"in K||"U"in K)&&("w"in K||(K.w="u"in K?K.u%7:"W"in K?1:0),de="Z"in K?VD(Fv(K.y,0,1)).getUTCDay():GD(Fv(K.y,0,1)).getDay(),K.m=0,K.d="W"in K?(K.w+6)%7+K.W*7-(de+5)%7:K.w+K.U*7-(de+6)%7);return"Z"in K?(K.H+=K.Z/100|0,K.M+=K.Z%100,VD(K)):GD(K)}}o(C,"newParse");function A(te,re,J,K){for(var ae=0,Z=re.length,de=J.length,ne,Te;ae=de)return-1;if(ne=re.charCodeAt(ae++),ne===37){if(ne=re.charAt(ae++),Te=w[ne in cX?re.charAt(ae++):ne],!Te||(K=Te(te,J,K))<0)return-1}else if(ne!=J.charCodeAt(K++))return-1}return K}o(A,"parseSpecifier");function L(te,re,J){var K=h.exec(re.slice(J));return K?(te.p=f.get(K[0].toLowerCase()),J+K[0].length):-1}o(L,"parsePeriod");function I(te,re,J){var K=m.exec(re.slice(J));return K?(te.w=g.get(K[0].toLowerCase()),J+K[0].length):-1}o(I,"parseShortWeekday");function R(te,re,J){var K=d.exec(re.slice(J));return K?(te.w=p.get(K[0].toLowerCase()),J+K[0].length):-1}o(R,"parseWeekday");function E(te,re,J){var K=x.exec(re.slice(J));return K?(te.m=b.get(K[0].toLowerCase()),J+K[0].length):-1}o(E,"parseShortMonth");function _(te,re,J){var K=y.exec(re.slice(J));return K?(te.m=v.get(K[0].toLowerCase()),J+K[0].length):-1}o(_,"parseMonth");function D(te,re,J){return A(te,e,re,J)}o(D,"parseLocaleDateTime");function O(te,re,J){return A(te,r,re,J)}o(O,"parseLocaleDate");function N(te,re,J){return A(te,n,re,J)}o(N,"parseLocaleTime");function P(te){return s[te.getDay()]}o(P,"formatShortWeekday");function B(te){return a[te.getDay()]}o(B,"formatWeekday");function F(te){return u[te.getMonth()]}o(F,"formatShortMonth");function V(te){return l[te.getMonth()]}o(V,"formatMonth");function $(te){return i[+(te.getHours()>=12)]}o($,"formatPeriod");function U(te){return 1+~~(te.getMonth()/3)}o(U,"formatQuarter");function j(te){return s[te.getUTCDay()]}o(j,"formatUTCShortWeekday");function ee(te){return a[te.getUTCDay()]}o(ee,"formatUTCWeekday");function q(te){return u[te.getUTCMonth()]}o(q,"formatUTCShortMonth");function oe(te){return l[te.getUTCMonth()]}o(oe,"formatUTCMonth");function Q(te){return i[+(te.getUTCHours()>=12)]}o(Q,"formatUTCPeriod");function ue(te){return 1+~~(te.getUTCMonth()/3)}return o(ue,"formatUTCQuarter"),{format:o(function(te){var re=k(te+="",T);return re.toString=function(){return te},re},"format"),parse:o(function(te){var re=C(te+="",!1);return re.toString=function(){return te},re},"parse"),utcFormat:o(function(te){var re=k(te+="",S);return re.toString=function(){return te},re},"utcFormat"),utcParse:o(function(te){var re=C(te+="",!0);return re.toString=function(){return te},re},"utcParse")}}function Kr(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function U6e(t,e,r){var n=Yi.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function H6e(t,e,r){var n=Yi.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function q6e(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function W6e(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Y6e(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function uX(t,e,r){var n=Yi.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function hX(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function X6e(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 j6e(t,e,r){var n=Yi.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function K6e(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function fX(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Q6e(t,e,r){var n=Yi.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function dX(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Z6e(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function J6e(t,e,r){var n=Yi.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function eCe(t,e,r){var n=Yi.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function tCe(t,e,r){var n=Yi.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function rCe(t,e,r){var n=z6e.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function nCe(t,e,r){var n=Yi.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function iCe(t,e,r){var n=Yi.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function pX(t,e){return Kr(t.getDate(),e,2)}function aCe(t,e){return Kr(t.getHours(),e,2)}function sCe(t,e){return Kr(t.getHours()%12||12,e,2)}function oCe(t,e){return Kr(1+Ro.count(ao(t),t),e,3)}function xX(t,e){return Kr(t.getMilliseconds(),e,3)}function lCe(t,e){return xX(t,e)+"000"}function cCe(t,e){return Kr(t.getMonth()+1,e,2)}function uCe(t,e){return Kr(t.getMinutes(),e,2)}function hCe(t,e){return Kr(t.getSeconds(),e,2)}function fCe(t){var e=t.getDay();return e===0?7:e}function dCe(t,e){return Kr(wl.count(ao(t)-1,t),e,2)}function bX(t){var e=t.getDay();return e>=4||e===0?fc(t):fc.ceil(t)}function pCe(t,e){return t=bX(t),Kr(fc.count(ao(t),t)+(ao(t).getDay()===4),e,2)}function mCe(t){return t.getDay()}function gCe(t,e){return Kr(Ih.count(ao(t)-1,t),e,2)}function yCe(t,e){return Kr(t.getFullYear()%100,e,2)}function vCe(t,e){return t=bX(t),Kr(t.getFullYear()%100,e,2)}function xCe(t,e){return Kr(t.getFullYear()%1e4,e,4)}function bCe(t,e){var r=t.getDay();return t=r>=4||r===0?fc(t):fc.ceil(t),Kr(t.getFullYear()%1e4,e,4)}function TCe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Kr(e/60|0,"0",2)+Kr(e%60,"0",2)}function mX(t,e){return Kr(t.getUTCDate(),e,2)}function wCe(t,e){return Kr(t.getUTCHours(),e,2)}function kCe(t,e){return Kr(t.getUTCHours()%12||12,e,2)}function ECe(t,e){return Kr(1+Bv.count(kl(t),t),e,3)}function TX(t,e){return Kr(t.getUTCMilliseconds(),e,3)}function SCe(t,e){return TX(t,e)+"000"}function CCe(t,e){return Kr(t.getUTCMonth()+1,e,2)}function ACe(t,e){return Kr(t.getUTCMinutes(),e,2)}function _Ce(t,e){return Kr(t.getUTCSeconds(),e,2)}function DCe(t){var e=t.getUTCDay();return e===0?7:e}function LCe(t,e){return Kr(Od.count(kl(t)-1,t),e,2)}function wX(t){var e=t.getUTCDay();return e>=4||e===0?Oh(t):Oh.ceil(t)}function RCe(t,e){return t=wX(t),Kr(Oh.count(kl(t),t)+(kl(t).getUTCDay()===4),e,2)}function NCe(t){return t.getUTCDay()}function MCe(t,e){return Kr(Y0.count(kl(t)-1,t),e,2)}function ICe(t,e){return Kr(t.getUTCFullYear()%100,e,2)}function OCe(t,e){return t=wX(t),Kr(t.getUTCFullYear()%100,e,2)}function PCe(t,e){return Kr(t.getUTCFullYear()%1e4,e,4)}function BCe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Oh(t):Oh.ceil(t),Kr(t.getUTCFullYear()%1e4,e,4)}function FCe(){return"+0000"}function gX(){return"%"}function yX(t){return+t}function vX(t){return Math.floor(+t/1e3)}var cX,Yi,z6e,G6e,kX=M(()=>{"use strict";V5();o(GD,"localDate");o(VD,"utcDate");o(Fv,"newDate");o(UD,"formatLocale");cX={"-":"",_:" ",0:"0"},Yi=/^\s*\d+/,z6e=/^%/,G6e=/[\\^$*+?|[\]().{}]/g;o(Kr,"pad");o(V6e,"requote");o($v,"formatRe");o(zv,"formatLookup");o(U6e,"parseWeekdayNumberSunday");o(H6e,"parseWeekdayNumberMonday");o(q6e,"parseWeekNumberSunday");o(W6e,"parseWeekNumberISO");o(Y6e,"parseWeekNumberMonday");o(uX,"parseFullYear");o(hX,"parseYear");o(X6e,"parseZone");o(j6e,"parseQuarter");o(K6e,"parseMonthNumber");o(fX,"parseDayOfMonth");o(Q6e,"parseDayOfYear");o(dX,"parseHour24");o(Z6e,"parseMinutes");o(J6e,"parseSeconds");o(eCe,"parseMilliseconds");o(tCe,"parseMicroseconds");o(rCe,"parseLiteralPercent");o(nCe,"parseUnixTimestamp");o(iCe,"parseUnixTimestampSeconds");o(pX,"formatDayOfMonth");o(aCe,"formatHour24");o(sCe,"formatHour12");o(oCe,"formatDayOfYear");o(xX,"formatMilliseconds");o(lCe,"formatMicroseconds");o(cCe,"formatMonthNumber");o(uCe,"formatMinutes");o(hCe,"formatSeconds");o(fCe,"formatWeekdayNumberMonday");o(dCe,"formatWeekNumberSunday");o(bX,"dISO");o(pCe,"formatWeekNumberISO");o(mCe,"formatWeekdayNumberSunday");o(gCe,"formatWeekNumberMonday");o(yCe,"formatYear");o(vCe,"formatYearISO");o(xCe,"formatFullYear");o(bCe,"formatFullYearISO");o(TCe,"formatZone");o(mX,"formatUTCDayOfMonth");o(wCe,"formatUTCHour24");o(kCe,"formatUTCHour12");o(ECe,"formatUTCDayOfYear");o(TX,"formatUTCMilliseconds");o(SCe,"formatUTCMicroseconds");o(CCe,"formatUTCMonthNumber");o(ACe,"formatUTCMinutes");o(_Ce,"formatUTCSeconds");o(DCe,"formatUTCWeekdayNumberMonday");o(LCe,"formatUTCWeekNumberSunday");o(wX,"UTCdISO");o(RCe,"formatUTCWeekNumberISO");o(NCe,"formatUTCWeekdayNumberSunday");o(MCe,"formatUTCWeekNumberMonday");o(ICe,"formatUTCYear");o(OCe,"formatUTCYearISO");o(PCe,"formatUTCFullYear");o(BCe,"formatUTCFullYearISO");o(FCe,"formatUTCZone");o(gX,"formatLiteralPercent");o(yX,"formatUnixTimestamp");o(vX,"formatUnixTimestampSeconds")});function HD(t){return X0=UD(t),Pd=X0.format,EX=X0.parse,SX=X0.utcFormat,CX=X0.utcParse,X0}var X0,Pd,EX,SX,CX,AX=M(()=>{"use strict";kX();HD({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"]});o(HD,"defaultLocale")});var qD=M(()=>{"use strict";AX()});function $Ce(t){return new Date(t)}function zCe(t){return t instanceof Date?+t:+new Date(+t)}function _X(t,e,r,n,i,a,s,l,u,h){var f=Ov(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),T=h("%B"),S=h("%Y");function w(k){return(u(k){"use strict";V5();qD();CD();Iv();KY();o($Ce,"date");o(zCe,"number");o(_X,"calendar");o(U5,"time")});var LX=M(()=>{"use strict";HY();jY();wD();DX()});function WD(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";o(WD,"default")});var YD,NX=M(()=>{"use strict";RX();YD=WD("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var MX=M(()=>{"use strict";NX()});function zn(t){return o(function(){return t},"constant")}var H5=M(()=>{"use strict";o(zn,"default")});function OX(t){return t>1?0:t<-1?j0:Math.acos(t)}function jD(t){return t>=1?Gv:t<=-1?-Gv:Math.asin(t)}var XD,ua,Ph,IX,q5,El,Bd,Xi,j0,Gv,K0,W5=M(()=>{"use strict";XD=Math.abs,ua=Math.atan2,Ph=Math.cos,IX=Math.max,q5=Math.min,El=Math.sin,Bd=Math.sqrt,Xi=1e-12,j0=Math.PI,Gv=j0/2,K0=2*j0;o(OX,"acos");o(jD,"asin")});function Y5(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new _d(e)}var KD=M(()=>{"use strict";W_();o(Y5,"withPath")});function GCe(t){return t.innerRadius}function VCe(t){return t.outerRadius}function UCe(t){return t.startAngle}function HCe(t){return t.endAngle}function qCe(t){return t&&t.padAngle}function WCe(t,e,r,n,i,a,s,l){var u=r-t,h=n-e,f=s-i,d=l-a,p=d*u-f*h;if(!(p*pD*D+O*O&&(A=I,L=R),{cx:A,cy:L,x01:-f,y01:-d,x11:A*(i/w-1),y11:L*(i/w-1)}}function Sl(){var t=GCe,e=VCe,r=zn(0),n=null,i=UCe,a=HCe,s=qCe,l=null,u=Y5(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-Gv,y=a.apply(this,arguments)-Gv,v=XD(y-g),x=y>g;if(l||(l=f=u()),mXi))l.moveTo(0,0);else if(v>K0-Xi)l.moveTo(m*Ph(g),m*El(g)),l.arc(0,0,m,g,y,!x),p>Xi&&(l.moveTo(p*Ph(y),p*El(y)),l.arc(0,0,p,y,g,x));else{var b=g,T=y,S=g,w=y,k=v,C=v,A=s.apply(this,arguments)/2,L=A>Xi&&(n?+n.apply(this,arguments):Bd(p*p+m*m)),I=q5(XD(m-p)/2,+r.apply(this,arguments)),R=I,E=I,_,D;if(L>Xi){var O=jD(L/p*El(A)),N=jD(L/m*El(A));(k-=O*2)>Xi?(O*=x?1:-1,S+=O,w-=O):(k=0,S=w=(g+y)/2),(C-=N*2)>Xi?(N*=x?1:-1,b+=N,T-=N):(C=0,b=T=(g+y)/2)}var P=m*Ph(b),B=m*El(b),F=p*Ph(w),V=p*El(w);if(I>Xi){var $=m*Ph(T),U=m*El(T),j=p*Ph(S),ee=p*El(S),q;if(vXi?E>Xi?(_=X5(j,ee,P,B,m,E,x),D=X5($,U,F,V,m,E,x),l.moveTo(_.cx+_.x01,_.cy+_.y01),EXi)||!(k>Xi)?l.lineTo(F,V):R>Xi?(_=X5(F,V,$,U,p,-R,x),D=X5(P,B,j,ee,p,-R,x),l.lineTo(_.cx+_.x01,_.cy+_.y01),R{"use strict";H5();W5();KD();o(GCe,"arcInnerRadius");o(VCe,"arcOuterRadius");o(UCe,"arcStartAngle");o(HCe,"arcEndAngle");o(qCe,"arcPadAngle");o(WCe,"intersect");o(X5,"cornerTangents");o(Sl,"default")});function Vv(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var nbt,QD=M(()=>{"use strict";nbt=Array.prototype.slice;o(Vv,"default")});function BX(t){this._context=t}function Cu(t){return new BX(t)}var ZD=M(()=>{"use strict";o(BX,"Linear");BX.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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}},"point")};o(Cu,"default")});function FX(t){return t[0]}function $X(t){return t[1]}var zX=M(()=>{"use strict";o(FX,"x");o($X,"y")});function Cl(t,e){var r=zn(!0),n=null,i=Cu,a=null,s=Y5(l);t=typeof t=="function"?t:t===void 0?FX:zn(t),e=typeof e=="function"?e:e===void 0?$X:zn(e);function l(u){var h,f=(u=Vv(u)).length,d,p=!1,m;for(n==null&&(a=i(m=s())),h=0;h<=f;++h)!(h{"use strict";QD();H5();ZD();KD();zX();o(Cl,"default")});function JD(t,e){return et?1:e>=t?0:NaN}var VX=M(()=>{"use strict";o(JD,"default")});function eL(t){return t}var UX=M(()=>{"use strict";o(eL,"default")});function j5(){var t=eL,e=JD,r=null,n=zn(0),i=zn(K0),a=zn(0);function s(l){var u,h=(l=Vv(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(K0,Math.max(-K0,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),T=b*(v<0?-1:1),S;for(u=0;u0&&(p+=S);for(e!=null?m.sort(function(w,k){return e(g[w],g[k])}):r!=null&&m.sort(function(w,k){return r(l[w],l[k])}),u=0,d=p?(v-h*T)/p:0;u0?S*d:0)+T,g[f]={data:l[f],index:u,value:S,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:zn(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:zn(+l),s):n},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:zn(+l),s):i},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:zn(+l),s):a},s}var HX=M(()=>{"use strict";QD();H5();VX();UX();W5();o(j5,"default")});function Uv(t){return new K5(t,!0)}function Hv(t){return new K5(t,!1)}var K5,qX=M(()=>{"use strict";K5=class{static{o(this,"Bump")}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}};o(Uv,"bumpX");o(Hv,"bumpY")});function so(){}var qv=M(()=>{"use strict";o(so,"default")});function Q0(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 Wv(t){this._context=t}function No(t){return new Wv(t)}var Yv=M(()=>{"use strict";o(Q0,"point");o(Wv,"Basis");Wv.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:Q0(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},"lineEnd"),point:o(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:Q0(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(No,"default")});function WX(t){this._context=t}function Q5(t){return new WX(t)}var YX=M(()=>{"use strict";qv();Yv();o(WX,"BasisClosed");WX.prototype={areaStart:so,areaEnd:so,lineStart:o(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},"lineStart"),lineEnd:o(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}}},"lineEnd"),point:o(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:Q0(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(Q5,"default")});function XX(t){this._context=t}function Z5(t){return new XX(t)}var jX=M(()=>{"use strict";Yv();o(XX,"BasisOpen");XX.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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:Q0(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(Z5,"default")});function KX(t,e){this._basis=new Wv(t),this._beta=e}var tL,QX=M(()=>{"use strict";Yv();o(KX,"Bundle");KX.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(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,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};tL=o((function t(e){function r(n){return e===1?new Wv(n):new KX(n,e)}return o(r,"bundle"),r.beta=function(n){return t(+n)},r}),"custom")(.85)});function Z0(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 J5(t,e){this._context=t,this._k=(1-e)/6}var Xv,jv=M(()=>{"use strict";o(Z0,"point");o(J5,"Cardinal");J5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Z0(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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:Z0(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},"point")};Xv=o((function t(e){function r(n){return new J5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function eT(t,e){this._context=t,this._k=(1-e)/6}var rL,nL=M(()=>{"use strict";qv();jv();o(eT,"CardinalClosed");eT.prototype={areaStart:so,areaEnd:so,lineStart:o(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},"lineStart"),lineEnd:o(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}}},"lineEnd"),point:o(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:Z0(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},"point")};rL=o((function t(e){function r(n){return new eT(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function tT(t,e){this._context=t,this._k=(1-e)/6}var iL,aL=M(()=>{"use strict";jv();o(tT,"CardinalOpen");tT.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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:Z0(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},"point")};iL=o((function t(e){function r(n){return new tT(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function Kv(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Xi){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Xi){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function ZX(t,e){this._context=t,this._alpha=e}var Qv,rT=M(()=>{"use strict";W5();jv();o(Kv,"point");o(ZX,"CatmullRom");ZX.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(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},"lineStart"),lineEnd:o(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},"lineEnd"),point:o(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:Kv(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},"point")};Qv=o((function t(e){function r(n){return e?new ZX(n,e):new J5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function JX(t,e){this._context=t,this._alpha=e}var sL,ej=M(()=>{"use strict";nL();qv();rT();o(JX,"CatmullRomClosed");JX.prototype={areaStart:so,areaEnd:so,lineStart:o(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},"lineStart"),lineEnd:o(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}}},"lineEnd"),point:o(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:Kv(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},"point")};sL=o((function t(e){function r(n){return e?new JX(n,e):new eT(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function tj(t,e){this._context=t,this._alpha=e}var oL,rj=M(()=>{"use strict";aL();rT();o(tj,"CatmullRomOpen");tj.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(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},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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:Kv(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},"point")};oL=o((function t(e){function r(n){return e?new tj(n,e):new tT(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function nj(t){this._context=t}function nT(t){return new nj(t)}var ij=M(()=>{"use strict";qv();o(nj,"LinearClosed");nj.prototype={areaStart:so,areaEnd:so,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(nT,"default")});function aj(t){return t<0?-1:1}function sj(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),l=(a*i+s*n)/(n+i);return(aj(a)+aj(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function oj(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function lL(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,s-l*r,a,s)}function iT(t){this._context=t}function lj(t){this._context=new cj(t)}function cj(t){this._context=t}function Zv(t){return new iT(t)}function Jv(t){return new lj(t)}var uj=M(()=>{"use strict";o(aj,"sign");o(sj,"slope3");o(oj,"slope2");o(lL,"point");o(iT,"MonotoneX");iT.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:lL(this,this._t0,oj(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(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,lL(this,oj(this,r=sj(this,t,e)),r);break;default:lL(this,this._t0,r=sj(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(lj,"MonotoneY");(lj.prototype=Object.create(iT.prototype)).point=function(t,e){iT.prototype.point.call(this,e,t)};o(cj,"ReflectContext");cj.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};o(Zv,"monotoneX");o(Jv,"monotoneY")});function fj(t){this._context=t}function hj(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=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";o(fj,"Natural");fj.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(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=hj(t),i=hj(e),a=0,s=1;s{"use strict";o(aT,"Step");aT.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(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},"point")};o(em,"default");o(e2,"stepBefore");o(t2,"stepAfter")});var mj=M(()=>{"use strict";PX();GX();HX();YX();jX();Yv();qX();QX();nL();aL();jv();ej();rj();rT();ij();ZD();uj();dj();pj()});var gj=M(()=>{"use strict"});var yj=M(()=>{"use strict"});function Bh(t,e,r){this.k=t,this.x=e,this.y=r}function uL(t){for(;!t.__zoom;)if(!(t=t.parentNode))return cL;return t.__zoom}var cL,hL=M(()=>{"use strict";o(Bh,"Transform");Bh.prototype={constructor:Bh,scale:o(function(t){return t===1?this:new Bh(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Bh(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};cL=new Bh(1,0,0);uL.prototype=Bh.prototype;o(uL,"transform")});var vj=M(()=>{"use strict"});var xj=M(()=>{"use strict";k5();gj();yj();hL();vj()});var bj=M(()=>{"use strict";xj();hL()});var yr=M(()=>{"use strict";Ch();_H();YW();QW();B0();ZW();JW();JA();xq();eY();G_();tY();nY();iD();yY();GY();z0();W_();VY();rY();UY();LX();MX();yl();mj();V5();qD();y5();k5();bj()});var Tj=sa(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});ji.BLANK_URL=ji.relativeFirstCharacters=ji.whitespaceEscapeCharsRegex=ji.urlSchemeRegex=ji.ctrlCharactersRegex=ji.htmlCtrlEntityRegex=ji.htmlEntitiesRegex=ji.invalidProtocolRegex=void 0;ji.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;ji.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;ji.htmlCtrlEntityRegex=/&(newline|tab);/gi;ji.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;ji.urlSchemeRegex=/^.+(:|:)/gim;ji.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;ji.relativeFirstCharacters=[".","/"];ji.BLANK_URL="about:blank"});var tm=sa(sT=>{"use strict";Object.defineProperty(sT,"__esModule",{value:!0});sT.sanitizeUrl=void 0;var Ma=Tj();function YCe(t){return Ma.relativeFirstCharacters.indexOf(t[0])>-1}o(YCe,"isRelativeUrlWithoutProtocol");function XCe(t){var e=t.replace(Ma.ctrlCharactersRegex,"");return e.replace(Ma.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}o(XCe,"decodeHtmlCharacters");function jCe(t){return URL.canParse(t)}o(jCe,"isValidUrl");function wj(t){try{return decodeURIComponent(t)}catch{return t}}o(wj,"decodeURI");function KCe(t){if(!t)return Ma.BLANK_URL;var e,r=wj(t.trim());do r=XCe(r).replace(Ma.htmlCtrlEntityRegex,"").replace(Ma.ctrlCharactersRegex,"").replace(Ma.whitespaceEscapeCharsRegex,"").trim(),r=wj(r),e=r.match(Ma.ctrlCharactersRegex)||r.match(Ma.htmlEntitiesRegex)||r.match(Ma.htmlCtrlEntityRegex)||r.match(Ma.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Ma.BLANK_URL;if(YCe(n))return n;var i=n.trimStart(),a=i.match(Ma.urlSchemeRegex);if(!a)return n;var s=a[0].toLowerCase().trim();if(Ma.invalidProtocolRegex.test(s))return Ma.BLANK_URL;var l=i.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!jCe(l))return Ma.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(KCe,"sanitizeUrl");sT.sanitizeUrl=KCe});var fL,Fd,oT,kj,lT,cT,ha,r2,n2=M(()=>{"use strict";fL=La(tm(),1);gr();Fd=o((t,e)=>{let 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(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),oT=o((t,e)=>{let 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"};Fd(t,r).lower()},"drawBackgroundRect"),kj=o((t,e)=>{let r=e.text.replace(pd," "),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);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),lT=o((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,fL.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),cT=o((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,fL.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),ha=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),r2=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var Ej,dL,Sj,QCe,ZCe,JCe,e7e,t7e,r7e,n7e,i7e,a7e,s7e,o7e,l7e,Au,Al,Cj=M(()=>{"use strict";gr();n2();Ej=La(tm(),1),dL=o(function(t,e){return Fd(t,e)},"drawRect"),Sj=o(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,Ej.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),QCe=o((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();Au(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:s},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),Au(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},d))}},"drawRels"),ZCe=o(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};dL(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,Au(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,Au(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,Au(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),JCe=o(function(t,e,r){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}let l=t.append("g");l.attr("class","person-man");let u=ha();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},dL(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.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)),l.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":l.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)),l.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 h=l7e(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.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":Sj(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,Au(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?Au(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&Au(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,Au(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),e7e=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),t7e=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),r7e=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),n7e=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),i7e=o(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),a7e=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),s7e=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),o7e=o(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.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"),r.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"),l7e=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),Au=(function(){function t(i,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split(tt.lineBreakRegex);for(let v=0;v{"use strict";c7e=typeof global=="object"&&global&&global.Object===Object&&global,hT=c7e});var u7e,h7e,hi,Mo=M(()=>{"use strict";pL();u7e=typeof self=="object"&&self&&self.Object===Object&&self,h7e=hT||u7e||Function("return this")(),hi=h7e});var f7e,Ki,$d=M(()=>{"use strict";Mo();f7e=hi.Symbol,Ki=f7e});function m7e(t){var e=d7e.call(t,i2),r=t[i2];try{t[i2]=void 0;var n=!0}catch{}var i=p7e.call(t);return n&&(e?t[i2]=r:delete t[i2]),i}var Aj,d7e,p7e,i2,_j,Dj=M(()=>{"use strict";$d();Aj=Object.prototype,d7e=Aj.hasOwnProperty,p7e=Aj.toString,i2=Ki?Ki.toStringTag:void 0;o(m7e,"getRawTag");_j=m7e});function v7e(t){return y7e.call(t)}var g7e,y7e,Lj,Rj=M(()=>{"use strict";g7e=Object.prototype,y7e=g7e.toString;o(v7e,"objectToString");Lj=v7e});function T7e(t){return t==null?t===void 0?b7e:x7e:Nj&&Nj in Object(t)?_j(t):Lj(t)}var x7e,b7e,Nj,fa,_u=M(()=>{"use strict";$d();Dj();Rj();x7e="[object Null]",b7e="[object Undefined]",Nj=Ki?Ki.toStringTag:void 0;o(T7e,"baseGetTag");fa=T7e});function w7e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Sn,oo=M(()=>{"use strict";o(w7e,"isObject");Sn=w7e});function A7e(t){if(!Sn(t))return!1;var e=fa(t);return e==E7e||e==S7e||e==k7e||e==C7e}var k7e,E7e,S7e,C7e,Si,a2=M(()=>{"use strict";_u();oo();k7e="[object AsyncFunction]",E7e="[object Function]",S7e="[object GeneratorFunction]",C7e="[object Proxy]";o(A7e,"isFunction");Si=A7e});var _7e,fT,Mj=M(()=>{"use strict";Mo();_7e=hi["__core-js_shared__"],fT=_7e});function D7e(t){return!!Ij&&Ij in t}var Ij,Oj,Pj=M(()=>{"use strict";Mj();Ij=(function(){var t=/[^.]+$/.exec(fT&&fT.keys&&fT.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();o(D7e,"isMasked");Oj=D7e});function N7e(t){if(t!=null){try{return R7e.call(t)}catch{}try{return t+""}catch{}}return""}var L7e,R7e,Du,mL=M(()=>{"use strict";L7e=Function.prototype,R7e=L7e.toString;o(N7e,"toSource");Du=N7e});function z7e(t){if(!Sn(t)||Oj(t))return!1;var e=Si(t)?$7e:I7e;return e.test(Du(t))}var M7e,I7e,O7e,P7e,B7e,F7e,$7e,Bj,Fj=M(()=>{"use strict";a2();Pj();oo();mL();M7e=/[\\^$.*+?()[\]{}|]/g,I7e=/^\[object .+?Constructor\]$/,O7e=Function.prototype,P7e=Object.prototype,B7e=O7e.toString,F7e=P7e.hasOwnProperty,$7e=RegExp("^"+B7e.call(F7e).replace(M7e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(z7e,"baseIsNative");Bj=z7e});function G7e(t,e){return t?.[e]}var $j,zj=M(()=>{"use strict";o(G7e,"getValue");$j=G7e});function V7e(t,e){var r=$j(t,e);return Bj(r)?r:void 0}var Ls,Fh=M(()=>{"use strict";Fj();zj();o(V7e,"getNative");Ls=V7e});var U7e,Lu,s2=M(()=>{"use strict";Fh();U7e=Ls(Object,"create"),Lu=U7e});function H7e(){this.__data__=Lu?Lu(null):{},this.size=0}var Gj,Vj=M(()=>{"use strict";s2();o(H7e,"hashClear");Gj=H7e});function q7e(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Uj,Hj=M(()=>{"use strict";o(q7e,"hashDelete");Uj=q7e});function j7e(t){var e=this.__data__;if(Lu){var r=e[t];return r===W7e?void 0:r}return X7e.call(e,t)?e[t]:void 0}var W7e,Y7e,X7e,qj,Wj=M(()=>{"use strict";s2();W7e="__lodash_hash_undefined__",Y7e=Object.prototype,X7e=Y7e.hasOwnProperty;o(j7e,"hashGet");qj=j7e});function Z7e(t){var e=this.__data__;return Lu?e[t]!==void 0:Q7e.call(e,t)}var K7e,Q7e,Yj,Xj=M(()=>{"use strict";s2();K7e=Object.prototype,Q7e=K7e.hasOwnProperty;o(Z7e,"hashHas");Yj=Z7e});function eAe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Lu&&e===void 0?J7e:e,this}var J7e,jj,Kj=M(()=>{"use strict";s2();J7e="__lodash_hash_undefined__";o(eAe,"hashSet");jj=eAe});function rm(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Vj();Hj();Wj();Xj();Kj();o(rm,"Hash");rm.prototype.clear=Gj;rm.prototype.delete=Uj;rm.prototype.get=qj;rm.prototype.has=Yj;rm.prototype.set=jj;gL=rm});function tAe(){this.__data__=[],this.size=0}var Zj,Jj=M(()=>{"use strict";o(tAe,"listCacheClear");Zj=tAe});function rAe(t,e){return t===e||t!==t&&e!==e}var Io,zd=M(()=>{"use strict";o(rAe,"eq");Io=rAe});function nAe(t,e){for(var r=t.length;r--;)if(Io(t[r][0],e))return r;return-1}var $h,o2=M(()=>{"use strict";zd();o(nAe,"assocIndexOf");$h=nAe});function sAe(t){var e=this.__data__,r=$h(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():aAe.call(e,r,1),--this.size,!0}var iAe,aAe,eK,tK=M(()=>{"use strict";o2();iAe=Array.prototype,aAe=iAe.splice;o(sAe,"listCacheDelete");eK=sAe});function oAe(t){var e=this.__data__,r=$h(e,t);return r<0?void 0:e[r][1]}var rK,nK=M(()=>{"use strict";o2();o(oAe,"listCacheGet");rK=oAe});function lAe(t){return $h(this.__data__,t)>-1}var iK,aK=M(()=>{"use strict";o2();o(lAe,"listCacheHas");iK=lAe});function cAe(t,e){var r=this.__data__,n=$h(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var sK,oK=M(()=>{"use strict";o2();o(cAe,"listCacheSet");sK=cAe});function nm(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Jj();tK();nK();aK();oK();o(nm,"ListCache");nm.prototype.clear=Zj;nm.prototype.delete=eK;nm.prototype.get=rK;nm.prototype.has=iK;nm.prototype.set=sK;zh=nm});var uAe,Gh,dT=M(()=>{"use strict";Fh();Mo();uAe=Ls(hi,"Map"),Gh=uAe});function hAe(){this.size=0,this.__data__={hash:new gL,map:new(Gh||zh),string:new gL}}var lK,cK=M(()=>{"use strict";Qj();l2();dT();o(hAe,"mapCacheClear");lK=hAe});function fAe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var uK,hK=M(()=>{"use strict";o(fAe,"isKeyable");uK=fAe});function dAe(t,e){var r=t.__data__;return uK(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Vh,c2=M(()=>{"use strict";hK();o(dAe,"getMapData");Vh=dAe});function pAe(t){var e=Vh(this,t).delete(t);return this.size-=e?1:0,e}var fK,dK=M(()=>{"use strict";c2();o(pAe,"mapCacheDelete");fK=pAe});function mAe(t){return Vh(this,t).get(t)}var pK,mK=M(()=>{"use strict";c2();o(mAe,"mapCacheGet");pK=mAe});function gAe(t){return Vh(this,t).has(t)}var gK,yK=M(()=>{"use strict";c2();o(gAe,"mapCacheHas");gK=gAe});function yAe(t,e){var r=Vh(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var vK,xK=M(()=>{"use strict";c2();o(yAe,"mapCacheSet");vK=yAe});function im(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";cK();dK();mK();yK();xK();o(im,"MapCache");im.prototype.clear=lK;im.prototype.delete=fK;im.prototype.get=pK;im.prototype.has=gK;im.prototype.set=vK;Gd=im});function yL(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(vAe);var r=o(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(yL.Cache||Gd),r}var vAe,am,vL=M(()=>{"use strict";pT();vAe="Expected a function";o(yL,"memoize");yL.Cache=Gd;am=yL});function xAe(){this.__data__=new zh,this.size=0}var bK,TK=M(()=>{"use strict";l2();o(xAe,"stackClear");bK=xAe});function bAe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var wK,kK=M(()=>{"use strict";o(bAe,"stackDelete");wK=bAe});function TAe(t){return this.__data__.get(t)}var EK,SK=M(()=>{"use strict";o(TAe,"stackGet");EK=TAe});function wAe(t){return this.__data__.has(t)}var CK,AK=M(()=>{"use strict";o(wAe,"stackHas");CK=wAe});function EAe(t,e){var r=this.__data__;if(r instanceof zh){var n=r.__data__;if(!Gh||n.length{"use strict";l2();dT();pT();kAe=200;o(EAe,"stackSet");_K=EAe});function sm(t){var e=this.__data__=new zh(t);this.size=e.size}var dc,u2=M(()=>{"use strict";l2();TK();kK();SK();AK();DK();o(sm,"Stack");sm.prototype.clear=bK;sm.prototype.delete=wK;sm.prototype.get=EK;sm.prototype.has=CK;sm.prototype.set=_K;dc=sm});var SAe,om,xL=M(()=>{"use strict";Fh();SAe=(function(){try{var t=Ls(Object,"defineProperty");return t({},"",{}),t}catch{}})(),om=SAe});function CAe(t,e,r){e=="__proto__"&&om?om(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var pc,lm=M(()=>{"use strict";xL();o(CAe,"baseAssignValue");pc=CAe});function AAe(t,e,r){(r!==void 0&&!Io(t[e],r)||r===void 0&&!(e in t))&&pc(t,e,r)}var h2,bL=M(()=>{"use strict";lm();zd();o(AAe,"assignMergeValue");h2=AAe});function _Ae(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),l=s.length;l--;){var u=s[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var LK,RK=M(()=>{"use strict";o(_Ae,"createBaseFor");LK=_Ae});var DAe,cm,mT=M(()=>{"use strict";RK();DAe=LK(),cm=DAe});function RAe(t,e){if(e)return t.slice();var r=t.length,n=IK?IK(r):new t.constructor(r);return t.copy(n),n}var OK,NK,LAe,MK,IK,gT,TL=M(()=>{"use strict";Mo();OK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,NK=OK&&typeof module=="object"&&module&&!module.nodeType&&module,LAe=NK&&NK.exports===OK,MK=LAe?hi.Buffer:void 0,IK=MK?MK.allocUnsafe:void 0;o(RAe,"cloneBuffer");gT=RAe});var NAe,um,wL=M(()=>{"use strict";Mo();NAe=hi.Uint8Array,um=NAe});function MAe(t){var e=new t.constructor(t.byteLength);return new um(e).set(new um(t)),e}var hm,yT=M(()=>{"use strict";wL();o(MAe,"cloneArrayBuffer");hm=MAe});function IAe(t,e){var r=e?hm(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var vT,kL=M(()=>{"use strict";yT();o(IAe,"cloneTypedArray");vT=IAe});function OAe(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";o(OAe,"copyArray");xT=OAe});var PK,PAe,BK,FK=M(()=>{"use strict";oo();PK=Object.create,PAe=(function(){function t(){}return o(t,"object"),function(e){if(!Sn(e))return{};if(PK)return PK(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),BK=PAe});function BAe(t,e){return function(r){return t(e(r))}}var bT,SL=M(()=>{"use strict";o(BAe,"overArg");bT=BAe});var FAe,fm,TT=M(()=>{"use strict";SL();FAe=bT(Object.getPrototypeOf,Object),fm=FAe});function zAe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||$Ae;return t===r}var $Ae,mc,dm=M(()=>{"use strict";$Ae=Object.prototype;o(zAe,"isPrototype");mc=zAe});function GAe(t){return typeof t.constructor=="function"&&!mc(t)?BK(fm(t)):{}}var wT,CL=M(()=>{"use strict";FK();TT();dm();o(GAe,"initCloneObject");wT=GAe});function VAe(t){return t!=null&&typeof t=="object"}var ai,Oo=M(()=>{"use strict";o(VAe,"isObjectLike");ai=VAe});function HAe(t){return ai(t)&&fa(t)==UAe}var UAe,AL,$K=M(()=>{"use strict";_u();Oo();UAe="[object Arguments]";o(HAe,"baseIsArguments");AL=HAe});var zK,qAe,WAe,YAe,_l,pm=M(()=>{"use strict";$K();Oo();zK=Object.prototype,qAe=zK.hasOwnProperty,WAe=zK.propertyIsEnumerable,YAe=AL((function(){return arguments})())?AL:function(t){return ai(t)&&qAe.call(t,"callee")&&!WAe.call(t,"callee")},_l=YAe});var XAe,Bt,Yn=M(()=>{"use strict";XAe=Array.isArray,Bt=XAe});function KAe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=jAe}var jAe,mm,kT=M(()=>{"use strict";jAe=9007199254740991;o(KAe,"isLength");mm=KAe});function QAe(t){return t!=null&&mm(t.length)&&!Si(t)}var fi,Po=M(()=>{"use strict";a2();kT();o(QAe,"isArrayLike");fi=QAe});function ZAe(t){return ai(t)&&fi(t)}var Vd,ET=M(()=>{"use strict";Po();Oo();o(ZAe,"isArrayLikeObject");Vd=ZAe});function JAe(){return!1}var GK,VK=M(()=>{"use strict";o(JAe,"stubFalse");GK=JAe});var qK,UK,e8e,HK,t8e,r8e,Dl,gm=M(()=>{"use strict";Mo();VK();qK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,UK=qK&&typeof module=="object"&&module&&!module.nodeType&&module,e8e=UK&&UK.exports===qK,HK=e8e?hi.Buffer:void 0,t8e=HK?HK.isBuffer:void 0,r8e=t8e||GK,Dl=r8e});function l8e(t){if(!ai(t)||fa(t)!=n8e)return!1;var e=fm(t);if(e===null)return!0;var r=s8e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&WK.call(r)==o8e}var n8e,i8e,a8e,WK,s8e,o8e,YK,XK=M(()=>{"use strict";_u();TT();Oo();n8e="[object Object]",i8e=Function.prototype,a8e=Object.prototype,WK=i8e.toString,s8e=a8e.hasOwnProperty,o8e=WK.call(Object);o(l8e,"isPlainObject");YK=l8e});function M8e(t){return ai(t)&&mm(t.length)&&!!Gn[fa(t)]}var c8e,u8e,h8e,f8e,d8e,p8e,m8e,g8e,y8e,v8e,x8e,b8e,T8e,w8e,k8e,E8e,S8e,C8e,A8e,_8e,D8e,L8e,R8e,N8e,Gn,jK,KK=M(()=>{"use strict";_u();kT();Oo();c8e="[object Arguments]",u8e="[object Array]",h8e="[object Boolean]",f8e="[object Date]",d8e="[object Error]",p8e="[object Function]",m8e="[object Map]",g8e="[object Number]",y8e="[object Object]",v8e="[object RegExp]",x8e="[object Set]",b8e="[object String]",T8e="[object WeakMap]",w8e="[object ArrayBuffer]",k8e="[object DataView]",E8e="[object Float32Array]",S8e="[object Float64Array]",C8e="[object Int8Array]",A8e="[object Int16Array]",_8e="[object Int32Array]",D8e="[object Uint8Array]",L8e="[object Uint8ClampedArray]",R8e="[object Uint16Array]",N8e="[object Uint32Array]",Gn={};Gn[E8e]=Gn[S8e]=Gn[C8e]=Gn[A8e]=Gn[_8e]=Gn[D8e]=Gn[L8e]=Gn[R8e]=Gn[N8e]=!0;Gn[c8e]=Gn[u8e]=Gn[w8e]=Gn[h8e]=Gn[k8e]=Gn[f8e]=Gn[d8e]=Gn[p8e]=Gn[m8e]=Gn[g8e]=Gn[y8e]=Gn[v8e]=Gn[x8e]=Gn[b8e]=Gn[T8e]=!1;o(M8e,"baseIsTypedArray");jK=M8e});function I8e(t){return function(e){return t(e)}}var Bo,Ud=M(()=>{"use strict";o(I8e,"baseUnary");Bo=I8e});var QK,f2,O8e,_L,P8e,Fo,d2=M(()=>{"use strict";pL();QK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,f2=QK&&typeof module=="object"&&module&&!module.nodeType&&module,O8e=f2&&f2.exports===QK,_L=O8e&&hT.process,P8e=(function(){try{var t=f2&&f2.require&&f2.require("util").types;return t||_L&&_L.binding&&_L.binding("util")}catch{}})(),Fo=P8e});var ZK,B8e,Uh,p2=M(()=>{"use strict";KK();Ud();d2();ZK=Fo&&Fo.isTypedArray,B8e=ZK?Bo(ZK):jK,Uh=B8e});function F8e(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var m2,DL=M(()=>{"use strict";o(F8e,"safeGet");m2=F8e});function G8e(t,e,r){var n=t[e];(!(z8e.call(t,e)&&Io(n,r))||r===void 0&&!(e in t))&&pc(t,e,r)}var $8e,z8e,gc,ym=M(()=>{"use strict";lm();zd();$8e=Object.prototype,z8e=$8e.hasOwnProperty;o(G8e,"assignValue");gc=G8e});function V8e(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";ym();lm();o(V8e,"copyObject");$o=V8e});function U8e(t,e){for(var r=-1,n=Array(t);++r{"use strict";o(U8e,"baseTimes");JK=U8e});function W8e(t,e){var r=typeof t;return e=e??H8e,!!e&&(r=="number"||r!="symbol"&&q8e.test(t))&&t>-1&&t%1==0&&t{"use strict";H8e=9007199254740991,q8e=/^(?:0|[1-9]\d*)$/;o(W8e,"isIndex");Hh=W8e});function j8e(t,e){var r=Bt(t),n=!r&&_l(t),i=!r&&!n&&Dl(t),a=!r&&!n&&!i&&Uh(t),s=r||n||i||a,l=s?JK(t.length,String):[],u=l.length;for(var h in t)(e||X8e.call(t,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Hh(h,u)))&&l.push(h);return l}var Y8e,X8e,ST,LL=M(()=>{"use strict";eQ();pm();Yn();gm();g2();p2();Y8e=Object.prototype,X8e=Y8e.hasOwnProperty;o(j8e,"arrayLikeKeys");ST=j8e});function K8e(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var tQ,rQ=M(()=>{"use strict";o(K8e,"nativeKeysIn");tQ=K8e});function J8e(t){if(!Sn(t))return tQ(t);var e=mc(t),r=[];for(var n in t)n=="constructor"&&(e||!Z8e.call(t,n))||r.push(n);return r}var Q8e,Z8e,nQ,iQ=M(()=>{"use strict";oo();dm();rQ();Q8e=Object.prototype,Z8e=Q8e.hasOwnProperty;o(J8e,"baseKeysIn");nQ=J8e});function e_e(t){return fi(t)?ST(t,!0):nQ(t)}var Rs,qh=M(()=>{"use strict";LL();iQ();Po();o(e_e,"keysIn");Rs=e_e});function t_e(t){return $o(t,Rs(t))}var aQ,sQ=M(()=>{"use strict";Hd();qh();o(t_e,"toPlainObject");aQ=t_e});function r_e(t,e,r,n,i,a,s){var l=m2(t,r),u=m2(e,r),h=s.get(u);if(h){h2(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=Bt(u),m=!p&&Dl(u),g=!p&&!m&&Uh(u);f=u,p||m||g?Bt(l)?f=l:Vd(l)?f=xT(l):m?(d=!1,f=gT(u,!0)):g?(d=!1,f=vT(u,!0)):f=[]:YK(u)||_l(u)?(f=l,_l(l)?f=aQ(l):(!Sn(l)||Si(l))&&(f=wT(u))):d=!1}d&&(s.set(u,f),i(f,u,n,a,s),s.delete(u)),h2(t,r,f)}var oQ,lQ=M(()=>{"use strict";bL();TL();kL();EL();CL();pm();Yn();ET();gm();a2();oo();XK();p2();DL();sQ();o(r_e,"baseMergeDeep");oQ=r_e});function cQ(t,e,r,n,i){t!==e&&cm(e,function(a,s){if(i||(i=new dc),Sn(a))oQ(t,e,s,r,cQ,n,i);else{var l=n?n(m2(t,s),a,s+"",t,e,i):void 0;l===void 0&&(l=a),h2(t,s,l)}},Rs)}var uQ,hQ=M(()=>{"use strict";u2();bL();mT();lQ();oo();qh();DL();o(cQ,"baseMerge");uQ=cQ});function n_e(t){return t}var Qi,Ru=M(()=>{"use strict";o(n_e,"identity");Qi=n_e});function i_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)}var fQ,dQ=M(()=>{"use strict";o(i_e,"apply");fQ=i_e});function a_e(t,e,r){return e=pQ(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=pQ(n.length-e,0),s=Array(a);++i{"use strict";dQ();pQ=Math.max;o(a_e,"overRest");CT=a_e});function s_e(t){return function(){return t}}var Ns,NL=M(()=>{"use strict";o(s_e,"constant");Ns=s_e});var o_e,mQ,gQ=M(()=>{"use strict";NL();xL();Ru();o_e=om?function(t,e){return om(t,"toString",{configurable:!0,enumerable:!1,value:Ns(e),writable:!0})}:Qi,mQ=o_e});function h_e(t){var e=0,r=0;return function(){var n=u_e(),i=c_e-(n-r);if(r=n,i>0){if(++e>=l_e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var l_e,c_e,u_e,yQ,vQ=M(()=>{"use strict";l_e=800,c_e=16,u_e=Date.now;o(h_e,"shortOut");yQ=h_e});var f_e,AT,ML=M(()=>{"use strict";gQ();vQ();f_e=yQ(mQ),AT=f_e});function d_e(t,e){return AT(CT(t,e,Qi),t+"")}var yc,vm=M(()=>{"use strict";Ru();RL();ML();o(d_e,"baseRest");yc=d_e});function p_e(t,e,r){if(!Sn(r))return!1;var n=typeof e;return(n=="number"?fi(r)&&Hh(e,r.length):n=="string"&&e in r)?Io(r[e],t):!1}var lo,qd=M(()=>{"use strict";zd();Po();g2();oo();o(p_e,"isIterateeCall");lo=p_e});function m_e(t){return yc(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&&lo(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";vm();qd();o(m_e,"createAssigner");_T=m_e});var g_e,Wh,OL=M(()=>{"use strict";hQ();IL();g_e=_T(function(t,e,r){uQ(t,e,r)}),Wh=g_e});function FL(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return y_e[r]??e}function T_e(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,TQ.sanitizeUrl)(r):r}function EQ(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function k_e(t){let e,r=0;t.forEach(i=>{r+=EQ(i,e),e=i});let n=r/2;return $L(t,n)}function E_e(t){return t.length===1?t[0]:k_e(t)}function C_e(t,e,r){let n=structuredClone(r);X.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=$L(n,i),s=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2),u}function zL(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function A_e(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;iMath.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}var TQ,BL,y_e,v_e,x_e,wQ,kQ,b_e,w_e,xQ,$L,S_e,bQ,GL,VL,__e,D_e,UL,L_e,HL,PL,DT,R_e,N_e,vc,qt,SQ,Ji,xc,tr=M(()=>{"use strict";TQ=La(tm(),1);yr();gr();S7();pt();vd();v0();vL();OL();$3();BL="\u200B",y_e={curveBasis:No,curveBasisClosed:Q5,curveBasisOpen:Z5,curveBumpX:Uv,curveBumpY:Hv,curveBundle:tL,curveCardinalClosed:rL,curveCardinalOpen:iL,curveCardinal:Xv,curveCatmullRomClosed:sL,curveCatmullRomOpen:oL,curveCatmullRom:Qv,curveLinear:Cu,curveLinearClosed:nT,curveMonotoneX:Zv,curveMonotoneY:Jv,curveNatural:J0,curveStep:em,curveStepAfter:t2,curveStepBefore:e2},v_e=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,x_e=o(function(t,e){let r=wQ(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let s=r.map(l=>l.args);b0(s),n=Rn(n,[...s])}else n=r.args;if(!n)return;let i=_0(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),wQ=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${v_e.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),X.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=yd.exec(t))!==null;)if(n.index===yd.lastIndex&&yd.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return X.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),kQ=o(function(t){return t.replace(yd,"")},"removeDirectives"),b_e=o(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");o(FL,"interpolateToCurve");o(T_e,"formatUrl");w_e=o((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),$L=o((t,e)=>{let r,n=e;for(let i of t){if(r){let a=EQ(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:xQ((1-s)*r.x+s*i.x,5),y:xQ((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),S_e=o((t,e,r)=>{X.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=$L(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+i.x)/2,l.y=-Math.cos(s)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");o(C_e,"calcTerminalLabelPosition");o(zL,"getStylesFromArray");bQ=0,GL=o(()=>(bQ++,"id-"+Math.random().toString(36).substr(2,12)+"-"+bQ),"generateId");o(A_e,"makeRandomHex");VL=o(t=>A_e(t.length),"random"),__e=o(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"),D_e=o(function(t,e){let r=e.text.replace(tt.lineBreakRegex," "),[,n]=vc(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);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),UL=am((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),tt.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((s,l)=>{let u=Zi(`${s} `,r),h=Zi(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=L_e(s,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+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}`),L_e=am((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],s="";return i.forEach((l,u)=>{let h=`${s}${l}`;if(Zi(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);o(LT,"calculateTextHeight");o(Zi,"calculateTextWidth");HL=am((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=vc(r),s=["sans-serif",n],l=t.split(tt.lineBreakRegex),u=[],h=qe("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=__e();v.text=y||BL;let x=D_e(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[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)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),PL=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},R_e=o(function(t){return DT=DT||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),DT.innerHTML=t,unescape(DT.textContent)},"entityDecode");o(qL,"isDetailedError");N_e=o((t,e,r,n)=>{if(!n)return;let i=t.node()?.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"),vc=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(Vn,"cleanAndMerge");qt={assignWithDepth:Rn,wrapLabel:UL,calculateTextHeight:LT,calculateTextWidth:Zi,calculateTextDimensions:HL,cleanAndMerge:Vn,detectInit:x_e,detectDirective:wQ,isSubstringInArray:b_e,interpolateToCurve:FL,calcLabelPosition:E_e,calcCardinalityPosition:S_e,calcTerminalLabelPosition:C_e,formatUrl:T_e,getStylesFromArray:zL,generateId:GL,random:VL,runFunc:w_e,entityDecode:R_e,insertTitle:N_e,isLabelCoordinateInPath:M_e,parseFontSize:vc,InitIDGenerator:PL},SQ=o(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){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),Ji=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),xc=o((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");o(Cn,"handleUndefinedAttr");o(M_e,"isLabelCoordinateInPath")});function Ll(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=UL(e[t].text,i,n),e[t].textLines=e[t].text.split(tt.lineBreakRegex).length,e[t].width=i,e[t].height=LT(e[t].text,n);else{let a=e[t].text.split(tt.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(Zi(l,n),e[t].width),s=LT(l,n),e[t].height=e[t].height+s}}function LQ(t,e,r,n,i){let a=new IT(i);a.data.widthLimit=r.data.widthLimit/Math.min(WL,n.length);for(let[s,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&Wt.wrap,f=RT(Wt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",Ll("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=RT(Wt);Ll("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=RT(Wt);g.fontSize=g.fontSize-2,Ll("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%WL===0){let g=r.data.startx+Wt.diagramMarginX,y=r.data.stopy+Wt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Wt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&DQ(a,t,d,p),e=l.alias;let m=i.db.getBoundaries(e);m.length>0&&LQ(t,e,a,m,i),l.alias!=="global"&&_Q(t,l,a),r.data.stopy=Math.max(a.data.stopy+Wt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Wt.c4ShapeMargin,r.data.stopx),NT=Math.max(NT,r.data.stopx),MT=Math.max(MT,r.data.stopy)}}var NT,MT,AQ,WL,Wt,IT,YL,y2,RT,I_e,_Q,DQ,Ms,CQ,O_e,P_e,B_e,XL,RQ=M(()=>{"use strict";yr();Cj();pt();RA();gr();GA();Xt();v0();tr();Ei();NT=0,MT=0,AQ=4,WL=2;rv.yy=lv;Wt={},IT=class{static{o(this,"Bounds")}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,YL(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>AQ)&&(r=this.nextData.startx+e.margin+Wt.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},YL(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},YL=o(function(t){Rn(Wt,t),t.fontFamily&&(Wt.personFontFamily=Wt.systemFontFamily=Wt.messageFontFamily=t.fontFamily),t.fontSize&&(Wt.personFontSize=Wt.systemFontSize=Wt.messageFontSize=t.fontSize),t.fontWeight&&(Wt.personFontWeight=Wt.systemFontWeight=Wt.messageFontWeight=t.fontWeight)},"setConf"),y2=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),RT=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),I_e=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(Ll,"calcC4ShapeTextWH");_Q=o(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=Wt.c4ShapeMargin-35;let n=e.wrap&&Wt.wrap,i=RT(Wt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=Zi(e.label.text,i);Ll("label",e,n,i,a),Al.drawBoundary(t,e,Wt)},"drawBoundary"),DQ=o(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],l=y2(Wt,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=Zi("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=Wt.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 u=s.wrap&&Wt.wrap,h=Wt.width-Wt.c4ShapePadding*2,f=y2(Wt,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",Ll("label",s,u,f,h),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=y2(Wt,s.typeC4Shape.text);Ll("type",s,u,m,h),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 m=y2(Wt,s.techn.text);Ll("techn",s,u,m,h),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=y2(Wt,s.typeC4Shape.text);Ll("descr",s,u,m,h),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}p=p+Wt.c4ShapePadding,s.width=Math.max(s.width||Wt.width,p,Wt.width),s.height=Math.max(s.height||Wt.height,d,Wt.height),s.margin=s.margin||Wt.c4ShapeMargin,t.insert(s),Al.drawC4Shape(e,s,Wt)}t.bumpLastMargin(Wt.c4ShapeMargin)},"drawC4ShapeArray"),Ms=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},CQ=o(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new Ms(r,l):r==i&&na&&(p=new Ms(s,n)),r>i&&n=f?p=new Ms(r,l+f*t.width/2):p=new Ms(s-u/h*t.height/2,n+t.height):r=f?p=new Ms(r+t.width,l+f*t.width/2):p=new Ms(s+u/h*t.height/2,n+t.height):ra?d>=f?p=new Ms(r+t.width,l-f*t.width/2):p=new Ms(s+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new Ms(r,l-t.width/2*f):p=new Ms(s-t.height/2*u/h,n)),p},"getIntersectPoint"),O_e=o(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=CQ(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=CQ(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),P_e=o(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Wt.wrap,l=I_e(Wt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=Zi(a.label.text,l);Ll("label",a,s,l,h),a.techn&&a.techn.text!==""&&(h=Zi(a.techn.text,l),Ll("techn",a,s,l,h)),a.descr&&a.descr.text!==""&&(h=Zi(a.descr.text,l),Ll("descr",a,s,l,h));let f=r(a.from),d=r(a.to),p=O_e(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}Al.drawRels(t,e,Wt)},"drawRels");o(LQ,"drawInsideBoundary");B_e=o(function(t,e,r,n){Wt=ge().c4;let i=ge().securityLevel,a;i==="sandbox"&&(a=qe("#i"+e));let s=i==="sandbox"?qe(a.nodes()[0].contentDocument.body):qe("body"),l=n.db;n.db.setWrap(Wt.wrap),AQ=l.getC4ShapeInRow(),WL=l.getC4BoundaryInRow(),X.debug(`C:${JSON.stringify(Wt,null,2)}`);let u=i==="sandbox"?s.select(`[id="${e}"]`):qe(`[id="${e}"]`);Al.insertComputerIcon(u),Al.insertDatabaseIcon(u),Al.insertClockIcon(u);let h=new IT(n);h.setData(Wt.diagramMarginX,Wt.diagramMarginX,Wt.diagramMarginY,Wt.diagramMarginY),h.data.widthLimit=screen.availWidth,NT=Wt.diagramMarginX,MT=Wt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundaries("");LQ(u,"",h,d,n),Al.insertArrowHead(u),Al.insertArrowEnd(u),Al.insertArrowCrossHead(u),Al.insertArrowFilledHead(u),P_e(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=NT,h.data.stopy=MT;let p=h.data,g=p.stopy-p.starty+2*Wt.diagramMarginY,v=p.stopx-p.startx+2*Wt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*Wt.diagramMarginX).attr("y",p.starty+Wt.diagramMarginY),mn(u,g,v,Wt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-Wt.diagramMarginX+" -"+(Wt.diagramMarginY+x)+" "+v+" "+(g+x)),X.debug("models:",p)},"draw"),XL={drawPersonOrSystemArray:DQ,drawBoundary:_Q,setConf:YL,draw:B_e}});var F_e,NQ,MQ=M(()=>{"use strict";F_e=o(t=>`.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +`,"getStyles"),NQ=F_e});var IQ={};dr(IQ,{diagram:()=>$_e});var $_e,OQ=M(()=>{"use strict";RA();GA();RQ();MQ();$_e={parser:sH,db:lv,renderer:XL,styles:NQ,init:o(({c4:t,wrap:e})=>{XL.setConf(t),lv.setWrap(e)},"init")}});function ZQ(t){return typeof t>"u"||t===null}function U_e(t){return typeof t=="object"&&t!==null}function H_e(t){return Array.isArray(t)?t:ZQ(t)?[]:[t]}function q_e(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rl&&(a=" ... ",e=n-l+a.length),r-n>l&&(s=" ...",r=n+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:n-e+a.length}}function KL(t,e){return Pi.repeat(" ",e-t.length)+t}function eDe(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 l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=jL(t.buffer,n[s-u],i[s-u],t.position-(n[s]-n[s-u]),d),l=Pi.repeat(" ",e.indent)+KL((t.line-u+1).toString(),f)+" | "+h.str+` +`+l;for(h=jL(t.buffer,n[s],i[s],t.position,d),l+=Pi.repeat(" ",e.indent)+KL((t.line+1).toString(),f)+" | "+h.str+` +`,l+=Pi.repeat("-",e.indent+f+3+h.pos)+`^ +`,u=1;u<=e.linesAfter&&!(s+u>=i.length);u++)h=jL(t.buffer,n[s+u],i[s+u],t.position-(n[s]-n[s+u]),d),l+=Pi.repeat(" ",e.indent)+KL((t.line+u+1).toString(),f)+" | "+h.str+` +`;return l.replace(/\n$/,"")}function iDe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}function aDe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(rDe.indexOf(r)===-1)throw new Is('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=iDe(e.styleAliases||null),nDe.indexOf(this.kind)===-1)throw new Is('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function BQ(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}function sDe(){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(o(n,"collectType"),e=0,r=arguments.length;e=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}function RDe(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(Pi.isNegativeZero(t))return"-0.0";return r=t.toString(10),LDe.test(r)?r.replace("e",".e"):r}function NDe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Pi.isNegativeZero(t))}function ODe(t){return t===null?!1:tZ.exec(t)!==null||rZ.exec(t)!==null}function PDe(t){var e,r,n,i,a,s,l,u=0,h=null,f,d,p;if(e=tZ.exec(t),e===null&&(e=rZ.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],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}function BDe(t){return t.toISOString()}function $De(t){return t==="<<"||t===null}function GDe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=n9;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}function VDe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=n9,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}function UDe(t){var e="",r=0,n,i,a=t.length,s=n9;for(n=0;n>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}function HDe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function XDe(t){if(t===null)return!0;var e=[],r,n,i,a,s,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}function dLe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||nZ,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function uZ(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=tDe(r),new Is(e,r)}function Zt(t,e){throw uZ(t,e)}function BT(t,e){t.onWarning&&t.onWarning.call(null,uZ(t,e))}function Yh(t,e,r,n){var i,a,s,l;if(e1&&(t.result+=Pi.repeat(` +`,e-1))}function pLe(t,e,r){var n,i,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),Os(m)||bm(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),Os(i)||r&&bm(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),Os(i)||r&&bm(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),Os(n))break}else{if(t.position===t.lineStart&&zT(t)||r&&bm(m))break;if(bc(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,Ci(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Yh(t,a,s,!1),a9(t,t.line-u),a=s=t.position,l=!1),Yd(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return Yh(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}function mLe(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(Yh(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 bc(r)?(Yh(t,n,i,!0),a9(t,Ci(t,!1,e)),n=i=t.position):t.position===t.lineStart&&zT(t)?Zt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Zt(t,"unexpected end of the stream within a single quoted scalar")}function gLe(t,e){var r,n,i,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Yh(t,r,t.position,!0),t.position++,!0;if(l===92){if(Yh(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),bc(l))Ci(t,!1,e);else if(l<256&&lZ[l])t.result+=cZ[l],t.position++;else if((s=uLe(l))>0){for(i=s,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(s=cLe(l))>=0?a=(a<<4)+s:Zt(t,"expected hexadecimal character");t.result+=fLe(a),t.position++}else Zt(t,"unknown escape sequence");r=n=t.position}else bc(l)?(Yh(t,r,n,!0),a9(t,Ci(t,!1,e)),r=n=t.position):t.position===t.lineStart&&zT(t)?Zt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Zt(t,"unexpected end of the stream within a double quoted scalar")}function yLe(t,e){var r=!0,n,i,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(Ci(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&Zt(t,"expected the node content, but found ','"):Zt(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),Os(h)&&(d=p=!0,t.position++,Ci(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,wm(t,e,OT,!1,!0),v=t.tag,y=t.result,Ci(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),Ci(t,!0,e),wm(t,e,OT,!1,!0),x=t.result),m?Tm(t,l,g,v,y,x,n,i,a):d?l.push(Tm(t,null,g,v,y,x,n,i,a)):l.push(y),Ci(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}Zt(t,"unexpected end of the stream within a flow collection")}function vLe(t,e){var r,n,i=QL,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)QL===i?i=d===43?FQ:aLe:Zt(t,"repeat of a chomping mode identifier");else if((f=hLe(d))>=0)f===0?Zt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Zt(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(Yd(d)){do d=t.input.charCodeAt(++t.position);while(Yd(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!bc(d)&&d!==0)}for(;d!==0;){for(i9(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),bc(d)){u++;continue}if(t.lineIndente)&&u!==0)Zt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),wm(t,e,PT,!0,i)&&(v?g=t.result:y=t.result),v||(Tm(t,d,p,m,g,y,s,l,u),m=g=y=null),Ci(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)Zt(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&Zt(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)):Zt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}function kLe(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&&(Ci(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&&!Os(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&Zt(t,"directive name must not be less than one character in length");s!==0;){for(;Yd(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!bc(s));break}if(bc(s))break;for(r=t.position;s!==0&&!Os(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&i9(t),Xh.call(GQ,n)?GQ[n](t,n,i):BT(t,'unknown document directive "'+n+'"')}if(Ci(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,Ci(t,!0,-1)):a&&Zt(t,"directives end mark is expected"),wm(t,t.lineIndent-1,PT,!1,!0),Ci(t,!0,-1),t.checkLineBreaks&&oLe.test(t.input.slice(e,t.position))&&BT(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&zT(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ci(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=hZ(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function bZ(t){var e=/^\n* /;return e.test(t)}function JLe(t,e,r,n,i,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=QLe(v2(t,0))&&ZLe(v2(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=v2(t,u),!w2(h))return xm;y=y&&WQ(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=v2(t,u),h===b2)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!w2(h))return xm;y=y&&WQ(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!s&&!i(t)?TZ:a===T2?xm:t9:r>9&&bZ(t)?xm:s?a===T2?xm:t9:p?kZ:wZ}function e9e(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===T2?'""':"''";if(!t.noCompatMode&&(HLe.indexOf(e)!==-1||qLe.test(e)))return t.quotingType===T2?'"'+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),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return KLe(t,h)}switch(o(u,"testAmbiguity"),JLe(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!n,i)){case TZ:return e;case t9:return"'"+e.replace(/'/g,"''")+"'";case wZ:return"|"+YQ(e,t.indent)+XQ(HQ(e,a));case kZ:return">"+YQ(e,t.indent)+XQ(HQ(t9e(e,s),a));case xm:return'"'+r9e(e)+'"';default:throw new Is("impossible error: invalid scalar style")}})()}function YQ(t,e){var r=bZ(t)?String(e):"",n=t[t.length-1]===` +`,i=n&&(t[t.length-2]===` +`||t===` +`),a=i?"+":n?"":"-";return r+a+` +`}function XQ(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function t9e(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,jQ(t.slice(0,h),e)})(),i=t[0]===` +`||t[0]===" ",a,s;s=r.exec(t);){var l=s[1],u=s[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?` +`:"")+jQ(u,e),i=a}return n}function jQ(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=s>i?s:l,u+=` +`+t.slice(i,a),i=a+1),s=l;return u+=` +`,t.length-i>e&&s>i?u+=t.slice(i,s)+` +`+t.slice(s+1):u+=t.slice(i),u.slice(1)}function r9e(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=v2(t,i),n=Oa[r],!n&&w2(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||YLe(r);return e}function n9e(t,e,r){var n="",i=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&Nu(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}function KQ(t,e,r,n){var i="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&Nu(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=e9(t,e)),t.dump&&b2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}function i9e(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Nu(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}function a9e(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Is("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&b2===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=e9(t,e)),Nu(t,e+1,f,!0,d)&&(t.dump&&b2===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}function QQ(t,e,r){var n,i,a,s,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}function Nu(t,e,r,n,i,a,s){t.tag=null,t.dump=r,QQ(t,r,!1)||QQ(t,r,!0);var l=dZ.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(a9e(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(i9e(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?KQ(t,e-1,t.dump,i):KQ(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(n9e(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&e9e(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Is("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}function s9e(t,e){var r=[],n=[],i,a;for(r9(t,r,n),i=0,a=n.length;i{"use strict";o(ZQ,"isNothing");o(U_e,"isObject");o(H_e,"toArray");o(q_e,"extend");o(W_e,"repeat");o(Y_e,"isNegativeZero");X_e=ZQ,j_e=U_e,K_e=H_e,Q_e=W_e,Z_e=Y_e,J_e=q_e,Pi={isNothing:X_e,isObject:j_e,toArray:K_e,repeat:Q_e,isNegativeZero:Z_e,extend:J_e};o(JQ,"formatError");o(x2,"YAMLException$1");x2.prototype=Object.create(Error.prototype);x2.prototype.constructor=x2;x2.prototype.toString=o(function(e){return this.name+": "+JQ(this,e)},"toString");Is=x2;o(jL,"getLine");o(KL,"padStart");o(eDe,"makeSnippet");tDe=eDe,rDe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],nDe=["scalar","sequence","mapping"];o(iDe,"compileStyleAliases");o(aDe,"Type$1");Ia=aDe;o(BQ,"compileList");o(sDe,"compileMap");o(ZL,"Schema$1");ZL.prototype.extend=o(function(e){var r=[],n=[];if(e instanceof Ia)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 Is("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof Ia))throw new Is("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new Is("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 Is("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 Ia))throw new Is("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(ZL.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=BQ(i,"implicit"),i.compiledExplicit=BQ(i,"explicit"),i.compiledTypeMap=sDe(i.compiledImplicit,i.compiledExplicit),i},"extend");oDe=ZL,lDe=new Ia("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(t){return t!==null?t:""},"construct")}),cDe=new Ia("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(t){return t!==null?t:[]},"construct")}),uDe=new Ia("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(t){return t!==null?t:{}},"construct")}),hDe=new oDe({explicit:[lDe,cDe,uDe]});o(fDe,"resolveYamlNull");o(dDe,"constructYamlNull");o(pDe,"isNull");mDe=new Ia("tag:yaml.org,2002:null",{kind:"scalar",resolve:fDe,construct:dDe,predicate:pDe,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});o(gDe,"resolveYamlBoolean");o(yDe,"constructYamlBoolean");o(vDe,"isBoolean");xDe=new Ia("tag:yaml.org,2002:bool",{kind:"scalar",resolve:gDe,construct:yDe,predicate:vDe,represent:{lowercase:o(function(t){return t?"true":"false"},"lowercase"),uppercase:o(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});o(bDe,"isHexCode");o(TDe,"isOctCode");o(wDe,"isDecCode");o(kDe,"resolveYamlInteger");o(EDe,"constructYamlInteger");o(SDe,"isInteger");CDe=new Ia("tag:yaml.org,2002:int",{kind:"scalar",resolve:kDe,construct:EDe,predicate:SDe,represent:{binary:o(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(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"]}}),ADe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");o(_De,"resolveYamlFloat");o(DDe,"constructYamlFloat");LDe=/^[-+]?[0-9]+e/;o(RDe,"representYamlFloat");o(NDe,"isFloat");MDe=new Ia("tag:yaml.org,2002:float",{kind:"scalar",resolve:_De,construct:DDe,predicate:NDe,represent:RDe,defaultStyle:"lowercase"}),eZ=hDe.extend({implicit:[mDe,xDe,CDe,MDe]}),IDe=eZ,tZ=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),rZ=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]))?))?$");o(ODe,"resolveYamlTimestamp");o(PDe,"constructYamlTimestamp");o(BDe,"representYamlTimestamp");FDe=new Ia("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:ODe,construct:PDe,instanceOf:Date,represent:BDe});o($De,"resolveYamlMerge");zDe=new Ia("tag:yaml.org,2002:merge",{kind:"scalar",resolve:$De}),n9=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;o(GDe,"resolveYamlBinary");o(VDe,"constructYamlBinary");o(UDe,"representYamlBinary");o(HDe,"isBinary");qDe=new Ia("tag:yaml.org,2002:binary",{kind:"scalar",resolve:GDe,construct:VDe,predicate:HDe,represent:UDe}),WDe=Object.prototype.hasOwnProperty,YDe=Object.prototype.toString;o(XDe,"resolveYamlOmap");o(jDe,"constructYamlOmap");KDe=new Ia("tag:yaml.org,2002:omap",{kind:"sequence",resolve:XDe,construct:jDe}),QDe=Object.prototype.toString;o(ZDe,"resolveYamlPairs");o(JDe,"constructYamlPairs");eLe=new Ia("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:ZDe,construct:JDe}),tLe=Object.prototype.hasOwnProperty;o(rLe,"resolveYamlSet");o(nLe,"constructYamlSet");iLe=new Ia("tag:yaml.org,2002:set",{kind:"mapping",resolve:rLe,construct:nLe}),nZ=IDe.extend({implicit:[FDe,zDe],explicit:[qDe,KDe,eLe,iLe]}),Xh=Object.prototype.hasOwnProperty,OT=1,iZ=2,aZ=3,PT=4,QL=1,aLe=2,FQ=3,sLe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,oLe=/[\x85\u2028\u2029]/,lLe=/[,\[\]\{\}]/,sZ=/^(?:!|!!|![a-z\-]+!)$/i,oZ=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o($Q,"_class");o(bc,"is_EOL");o(Yd,"is_WHITE_SPACE");o(Os,"is_WS_OR_EOL");o(bm,"is_FLOW_INDICATOR");o(cLe,"fromHexCode");o(uLe,"escapedHexLen");o(hLe,"fromDecimalCode");o(zQ,"simpleEscapeSequence");o(fLe,"charFromCodepoint");lZ=new Array(256),cZ=new Array(256);for(Wd=0;Wd<256;Wd++)lZ[Wd]=zQ(Wd)?1:0,cZ[Wd]=zQ(Wd);o(dLe,"State$1");o(uZ,"generateError");o(Zt,"throwError");o(BT,"throwWarning");GQ={YAML:o(function(e,r,n){var i,a,s;e.version!==null&&Zt(e,"duplication of %YAML directive"),n.length!==1&&Zt(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Zt(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&Zt(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&BT(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,n){var i,a;n.length!==2&&Zt(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],sZ.test(i)||Zt(e,"ill-formed tag handle (first argument) of the TAG directive"),Xh.call(e.tagMap,i)&&Zt(e,'there is a previously declared suffix for "'+i+'" tag handle'),oZ.test(a)||Zt(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{Zt(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};o(Yh,"captureSegment");o(VQ,"mergeMappings");o(Tm,"storeMappingPair");o(i9,"readLineBreak");o(Ci,"skipSeparationSpace");o(zT,"testDocumentSeparator");o(a9,"writeFoldedLines");o(pLe,"readPlainScalar");o(mLe,"readSingleQuotedScalar");o(gLe,"readDoubleQuotedScalar");o(yLe,"readFlowCollection");o(vLe,"readBlockScalar");o(UQ,"readBlockSequence");o(xLe,"readBlockMapping");o(bLe,"readTagProperty");o(TLe,"readAnchorProperty");o(wLe,"readAlias");o(wm,"composeNode");o(kLe,"readDocument");o(hZ,"loadDocuments");o(ELe,"loadAll$1");o(SLe,"load$1");CLe=ELe,ALe=SLe,fZ={loadAll:CLe,load:ALe},dZ=Object.prototype.toString,pZ=Object.prototype.hasOwnProperty,s9=65279,_Le=9,b2=10,DLe=13,LLe=32,RLe=33,NLe=34,JL=35,MLe=37,ILe=38,OLe=39,PLe=42,mZ=44,BLe=45,FT=58,FLe=61,$Le=62,zLe=63,GLe=64,gZ=91,yZ=93,VLe=96,vZ=123,ULe=124,xZ=125,Oa={};Oa[0]="\\0";Oa[7]="\\a";Oa[8]="\\b";Oa[9]="\\t";Oa[10]="\\n";Oa[11]="\\v";Oa[12]="\\f";Oa[13]="\\r";Oa[27]="\\e";Oa[34]='\\"';Oa[92]="\\\\";Oa[133]="\\N";Oa[160]="\\_";Oa[8232]="\\L";Oa[8233]="\\P";HLe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],qLe=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;o(WLe,"compileStyleMap");o(YLe,"encodeHex");XLe=1,T2=2;o(jLe,"State");o(HQ,"indentString");o(e9,"generateNextLine");o(KLe,"testImplicitResolving");o($T,"isWhitespace");o(w2,"isPrintable");o(qQ,"isNsCharOrWhitespace");o(WQ,"isPlainSafe");o(QLe,"isPlainSafeFirst");o(ZLe,"isPlainSafeLast");o(v2,"codePointAt");o(bZ,"needIndentIndicator");TZ=1,t9=2,wZ=3,kZ=4,xm=5;o(JLe,"chooseScalarStyle");o(e9e,"writeScalar");o(YQ,"blockHeader");o(XQ,"dropEndingNewline");o(t9e,"foldString");o(jQ,"foldLine");o(r9e,"escapeString");o(n9e,"writeFlowSequence");o(KQ,"writeBlockSequence");o(i9e,"writeFlowMapping");o(a9e,"writeBlockMapping");o(QQ,"detectType");o(Nu,"writeNode");o(s9e,"getDuplicateReferences");o(r9,"inspectNode");o(o9e,"dump$1");l9e=o9e,c9e={dump:l9e};o(o9,"renamed");jh=eZ,Kh=fZ.load,N6t=fZ.loadAll,M6t=c9e.dump,I6t=o9("safeLoad","load"),O6t=o9("safeLoadAll","loadAll"),P6t=o9("safeDump","dump")});function h9(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function DZ(t){jd=t}function on(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:o((i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(as.caret,"$1"),r=r.replace(i,s),n},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return n}function Tc(t,e){if(e){if(as.escapeTest.test(t))return t.replace(as.escapeReplace,SZ)}else if(as.escapeTestNoEncode.test(t))return t.replace(as.escapeReplaceNoEncode,SZ);return t}function CZ(t){try{t=encodeURI(t).replace(as.percentDecode,"%")}catch{return null}return t}function AZ(t,e){let r=t.replace(as.findPipe,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(as.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function _Z(t,e,r,n,i){let a=e.href,s=e.title||null,l=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let u={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:l,tokens:n.inlineTokens(l)};return n.state.inLink=!1,u}function H9e(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[l]=s;return l.length>=i.length?a.slice(i.length):a}).join(` +`)}function nn(t,e){return Xd.parse(t,e)}var jd,A2,as,u9e,h9e,f9e,_2,d9e,f9,LZ,RZ,p9e,d9,m9e,p9,g9e,y9e,WT,m9,v9e,NZ,x9e,g9,EZ,b9e,T9e,w9e,k9e,MZ,E9e,YT,y9,IZ,S9e,OZ,C9e,A9e,_9e,PZ,D9e,L9e,BZ,R9e,N9e,M9e,I9e,O9e,P9e,B9e,UT,F9e,FZ,$Z,$9e,v9,z9e,l9,G9e,VT,E2,V9e,SZ,HT,Mu,qT,x9,Iu,C2,q9e,Xd,F6t,$6t,z6t,G6t,V6t,U6t,H6t,zZ=M(()=>{"use strict";o(h9,"L");jd=h9();o(DZ,"G");A2={exec:o(()=>null,"exec")};o(on,"h");as={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:/^
/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,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:o(t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),"headingBeginRegex"),htmlBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},u9e=/^(?:[ \t]*(?:\n|$))+/,h9e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,f9e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,_2=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,d9e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,f9=/(?:[*+-]|\d{1,9}[.)])/,LZ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,RZ=on(LZ).replace(/bull/g,f9).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(),p9e=on(LZ).replace(/bull/g,f9).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(),d9=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,m9e=/^[^\n]+/,p9=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,g9e=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",p9).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),y9e=on(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,f9).getRegex(),WT="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",m9=/|$))/,v9e=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",m9).replace("tag",WT).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),NZ=on(d9).replace("hr",_2).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",")|<(?:script|pre|style|textarea|!--)").replace("tag",WT).getRegex(),x9e=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",NZ).getRegex(),g9={blockquote:x9e,code:h9e,def:g9e,fences:f9e,heading:d9e,hr:_2,html:v9e,lheading:RZ,list:y9e,newline:u9e,paragraph:NZ,table:A2,text:m9e},EZ=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",_2).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",")|<(?:script|pre|style|textarea|!--)").replace("tag",WT).getRegex(),b9e={...g9,lheading:p9e,table:EZ,paragraph:on(d9).replace("hr",_2).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",EZ).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",WT).getRegex()},T9e={...g9,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",m9).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:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:A2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(d9).replace("hr",_2).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",RZ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},w9e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,k9e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,MZ=/^( {2,}|\\)\n(?!\s*$)/,E9e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,PZ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,D9e=on(PZ,"u").replace(/punct/g,YT).getRegex(),L9e=on(PZ,"u").replace(/punct/g,OZ).getRegex(),BZ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",R9e=on(BZ,"gu").replace(/notPunctSpace/g,IZ).replace(/punctSpace/g,y9).replace(/punct/g,YT).getRegex(),N9e=on(BZ,"gu").replace(/notPunctSpace/g,A9e).replace(/punctSpace/g,C9e).replace(/punct/g,OZ).getRegex(),M9e=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,IZ).replace(/punctSpace/g,y9).replace(/punct/g,YT).getRegex(),I9e=on(/\\(punct)/,"gu").replace(/punct/g,YT).getRegex(),O9e=on(/^<(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(),P9e=on(m9).replace("(?:-->|$)","-->").getRegex(),B9e=on("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",P9e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),UT=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,F9e=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",UT).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),FZ=on(/^!?\[(label)\]\[(ref)\]/).replace("label",UT).replace("ref",p9).getRegex(),$Z=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",p9).getRegex(),$9e=on("reflink|nolink(?!\\()","g").replace("reflink",FZ).replace("nolink",$Z).getRegex(),v9={_backpedal:A2,anyPunctuation:I9e,autolink:O9e,blockSkip:_9e,br:MZ,code:k9e,del:A2,emStrongLDelim:D9e,emStrongRDelimAst:R9e,emStrongRDelimUnd:M9e,escape:w9e,link:F9e,nolink:$Z,punctuation:S9e,reflink:FZ,reflinkSearch:$9e,tag:B9e,text:E9e,url:A2},z9e={...v9,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",UT).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",UT).getRegex()},l9={...v9,emStrongRDelimAst:N9e,emStrongLDelim:L9e,url:on(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").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:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},SZ=o(t=>V9e[t],"ke");o(Tc,"w");o(CZ,"J");o(AZ,"V");o(S2,"z");o(U9e,"ge");o(_Z,"fe");o(H9e,"Je");HT=class{static{o(this,"y")}options;rules;lexer;constructor(t){this.options=t||jd}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:S2(r,` +`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let r=e[0],n=H9e(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let n=S2(r,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(r=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:S2(e[0],` +`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let r=S2(e[0],` +`).split(` +`),n="",i="",a=[];for(;r.length>0;){let s=!1,l=[],u;for(u=0;u1,i={type:"list",raw:"",ordered:n,start:n?+r.slice(0,-1):"",loose:!1,items:[]};r=n?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=n?r:"[*+-]");let a=this.rules.other.listItemRegex(r),s=!1;for(;t;){let u=!1,h="",f="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;h=e[0],t=t.substring(h.length);let d=e[2].split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,x=>" ".repeat(3*x.length)),p=t.split(` +`,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=e[1].length+1:(g=e[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,f=d.slice(g),g+=e[1].length),m&&this.rules.other.blankLine.test(p)&&(h+=p+` +`,t=t.substring(p.length+1),u=!0),!u){let x=this.rules.other.nextBulletRegex(g),b=this.rules.other.hrRegex(g),T=this.rules.other.fencesBeginRegex(g),S=this.rules.other.headingBeginRegex(g),w=this.rules.other.htmlBeginRegex(g);for(;t;){let k=t.split(` +`,1)[0],C;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),C=p):C=p.replace(this.rules.other.tabCharGlobal," "),T.test(p)||S.test(p)||w.test(p)||x.test(p)||b.test(p))break;if(C.search(this.rules.other.nonSpaceChar)>=g||!p.trim())f+=` +`+C.slice(g);else{if(m||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||T.test(d)||S.test(d)||b.test(d))break;f+=` +`+p}!m&&!p.trim()&&(m=!0),h+=k+` +`,t=t.substring(k.length+1),d=C.slice(g)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(s=!0));let y=null,v;this.options.gfm&&(y=this.rules.other.listIsTask.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),i.raw+=h}let l=i.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=f}if(i.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[u]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let r=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let a=S2(r.slice(0,-1),"\\");if((r.length-a.length)%2===0)return}else{let a=U9e(e[2],"()");if(a===-2)return;if(a>-1){let s=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,s).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(n);a&&(n=a[1],i=a[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?n=n.slice(1):n=n.slice(1,-1)),_Z(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let n=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[n.toLowerCase()];if(!i){let a=r[0].charAt(0);return{type:"text",raw:a,text:a}}return _Z(r,i,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!(!n||n[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[2])||!r||this.rules.inline.punctuation.exec(r))){let i=[...n[0]].length-1,a,s,l=i,u=0,h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*t.length+i);(n=h.exec(e))!=null;){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(s=[...a].length,n[3]||n[4]){l+=s;continue}else if((n[5]||n[6])&&i%3&&!((i+s)%3)){u+=s;continue}if(l-=s,l>0)continue;s=Math.min(s,s+l+u);let f=[...n[0]][0].length,d=t.slice(0,i+n.index+f+s);if(Math.min(i,s)%2){let m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(r),i=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return n&&i&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let r,n;return e[2]==="@"?(r=e[1],n="mailto:"+r):(r=e[1],n=r),{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let r,n;if(e[2]==="@")r=e[0],n="mailto:"+r;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);r=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},Mu=class c9{static{o(this,"l")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||jd,this.options.tokenizer=this.options.tokenizer||new HT,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:as,block:VT.normal,inline:E2.normal};this.options.pedantic?(r.block=VT.pedantic,r.inline=E2.pedantic):this.options.gfm&&(r.block=VT.gfm,this.options.breaks?r.inline=E2.breaks:r.inline=E2.gfm),this.tokenizer.rules=r}static get rules(){return{block:VT,inline:E2}}static lex(e,r){return new c9(r).lex(e)}static lexInline(e,r){return new c9(r).inlineTokens(e)}lex(e){e=e.replace(as.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` +`:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` +`)?"":` +`)+i.raw,s.text+=` +`+i.text,this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` +`)?"":` +`)+i.raw,s.text+=` +`+i.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},r.push(i));continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),r.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let s=1/0,l=e.slice(1),u;this.options.extensions.startBlock.forEach(h=>{u=h.call({lexer:this},l),typeof u=="number"&&u>=0&&(s=Math.min(s,u))}),s<1/0&&s>=0&&(a=e.substring(0,s+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let s=r.at(-1);n&&s?.type==="paragraph"?(s.raw+=(s.raw.endsWith(` +`)?"":` +`)+i.raw,s.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="text"?(s.raw+=(s.raw.endsWith(` +`)?"":` +`)+i.raw,s.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.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);for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,s="";for(;e;){a||(s=""),a=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,s)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,f=e.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},f),typeof d=="number"&&d>=0&&(h=Math.min(h,d))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(s=l.raw.slice(-1)),a=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},qT=class{static{o(this,"P")}options;parser;constructor(t){this.options=t||jd}space(t){return""}code({text:t,lang:e,escaped:r}){let n=(e||"").match(as.notSpaceStart)?.[0],i=t.replace(as.endingNewline,"")+` +`;return n?'
'+(r?i:Tc(i,!0))+`
+`:"
"+(r?i:Tc(i,!0))+`
+`}blockquote({tokens:t}){return`
+${this.parser.parse(t)}
+`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)} +`}hr(t){return`
+`}list(t){let e=t.ordered,r=t.start,n="";for(let s=0;s +`+n+" +`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=r+" "+Tc(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
  • ${e}
  • +`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    +`}table(t){let e="",r="";for(let i=0;i${n}`),` + +`+e+` +`+n+`
    +`}tablerow({text:t}){return` +${t} +`}tablecell(t){let e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+` +`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${Tc(t,!0)}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:r}){let n=this.parser.parseInline(r),i=CZ(t);if(i===null)return n;t=i;let a='
    ",a}image({href:t,title:e,text:r,tokens:n}){n&&(r=this.parser.parseInline(n,this.parser.textRenderer));let i=CZ(t);if(i===null)return Tc(r);t=i;let a=`${r}{let s=i[a].flat(1/0);r=r.concat(this.walkTokens(s,e))}):i.tokens&&(r=r.concat(this.walkTokens(i.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(r=>{let n={...r};if(n.async=this.defaults.async||n.async||!1,r.extensions&&(r.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let a=e.renderers[i.name];a?e.renderers[i.name]=function(...s){let l=i.renderer.apply(this,s);return l===!1&&(l=a.apply(this,s)),l}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[i.level];a?a.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),n.extensions=e),r.renderer){let i=this.defaults.renderer||new qT(this.defaults);for(let a in r.renderer){if(!(a in i))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let s=a,l=r.renderer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f||""}}n.renderer=i}if(r.tokenizer){let i=this.defaults.tokenizer||new HT(this.defaults);for(let a in r.tokenizer){if(!(a in i))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let s=a,l=r.tokenizer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.tokenizer=i}if(r.hooks){let i=this.defaults.hooks||new C2;for(let a in r.hooks){if(!(a in i))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let s=a,l=r.hooks[s],u=i[s];C2.passThroughHooks.has(a)?i[s]=h=>{if(this.defaults.async&&C2.passThroughHooksRespectAsync.has(a))return Promise.resolve(l.call(i,h)).then(d=>u.call(i,d));let f=l.call(i,h);return u.call(i,f)}:i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.hooks=i}if(r.walkTokens){let i=this.defaults.walkTokens,a=r.walkTokens;n.walkTokens=function(s){let l=[];return l.push(a.call(this,s)),i&&(l=l.concat(i.call(this,s))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return Mu.lex(t,e??this.defaults)}parser(t,e){return Iu.parse(t,e??this.defaults)}parseMarkdown(t){return(e,r)=>{let n={...r},i={...this.defaults,...n},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return a(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 e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=t);let s=i.hooks?i.hooks.provideLexer():t?Mu.lex:Mu.lexInline,l=i.hooks?i.hooks.provideParser():t?Iu.parse:Iu.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(e):e).then(u=>s(u,i)).then(u=>i.hooks?i.hooks.processAllTokens(u):u).then(u=>i.walkTokens?Promise.all(this.walkTokens(u,i.walkTokens)).then(()=>u):u).then(u=>l(u,i)).then(u=>i.hooks?i.hooks.postprocess(u):u).catch(a);try{i.hooks&&(e=i.hooks.preprocess(e));let u=s(e,i);i.hooks&&(u=i.hooks.processAllTokens(u)),i.walkTokens&&this.walkTokens(u,i.walkTokens);let h=l(u,i);return i.hooks&&(h=i.hooks.postprocess(h)),h}catch(u){return a(u)}}}onError(t,e){return r=>{if(r.message+=` +Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error occurred:

    "+Tc(r.message+"",!0)+"
    ";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},Xd=new q9e;o(nn,"d");nn.options=nn.setOptions=function(t){return Xd.setOptions(t),nn.defaults=Xd.defaults,DZ(nn.defaults),nn};nn.getDefaults=h9;nn.defaults=jd;nn.use=function(...t){return Xd.use(...t),nn.defaults=Xd.defaults,DZ(nn.defaults),nn};nn.walkTokens=function(t,e){return Xd.walkTokens(t,e)};nn.parseInline=Xd.parseInline;nn.Parser=Iu;nn.parser=Iu.parse;nn.Renderer=qT;nn.TextRenderer=x9;nn.Lexer=Mu;nn.lexer=Mu.lex;nn.Tokenizer=HT;nn.Hooks=C2;nn.parse=nn;F6t=nn.options,$6t=nn.setOptions,z6t=nn.use,G6t=nn.walkTokens,V6t=nn.parseInline,U6t=Iu.parse,H6t=Mu.lex});function W9e(t,{markdownAutoWrap:e}){let n=t.replace(//g,` +`).replace(/\n{2,}/g,` +`),i=B3(n);return e===!1?i.replace(/ /g," "):i}function GZ(t,e={}){let r=W9e(t,e),n=nn.lexer(r),i=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` +`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p=p.replace(/'/g,"'"),p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"?i[a].push({content:l.text,type:"normal"}):i[a].push({content:l.raw,type:"normal"})}),i}function VZ(t,{markdownAutoWrap:e}={}){let r=nn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(X.warn(`Unsupported markdown: ${i.type}`),i.raw)}return o(n,"output"),r.map(n).join("")}var UZ=M(()=>{"use strict";zZ();_A();pt();o(W9e,"preprocessMarkdown");o(GZ,"markdownToLines");o(VZ,"markdownToHTML")});function Y9e(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function X9e(t,e){let r=Y9e(e.content);return HZ(t,[],r,e.type)}function HZ(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?HZ(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function qZ(t,e){if(t.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return b9(t,e)}function b9(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());let a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return b9(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=X9e(e,a);r.push([l]),u.content&&t.unshift(u)}return b9(t,e,r)}var WZ=M(()=>{"use strict";o(Y9e,"splitTextToChars");o(X9e,"splitWordToFitWidth");o(HZ,"splitWordToFitWidthRecursion");o(qZ,"splitLineToFitWidth");o(b9,"splitLineToFitWidthRecursion")});function YZ(t,e){e&&t.attr("style",e)}async function j9e(t,e,r,n,i=!1,a=Qt()){let s=t.append("foreignObject");s.attr("width",`${10*r}px`),s.attr("height",`${10*r}px`);let l=s.append("xhtml:div"),u=kn(e.label)?await kh(e.label.replace(tt.lineBreakRegex,` +`),a):sr(e.label,a),h=e.isNode?"nodeLabel":"edgeLabel",f=l.append("span");f.html(u),YZ(f,e.labelStyle),f.attr("class",`${h} ${n}`),YZ(l,e.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("line-height","1.5"),l.style("max-width",r+"px"),l.style("text-align","center"),l.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&l.attr("class","labelBkg");let d=l.node().getBoundingClientRect();return d.width===r&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",r+"px"),d=l.node().getBoundingClientRect()),s.node()}function T9(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function K9e(t,e,r){let n=t.append("text"),i=T9(n,1,e);w9(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function XZ(t,e,r){let n=t.append("text"),i=T9(n,1,e);w9(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function Q9e(t,e,r,n=!1){let a=e.append("g"),s=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=o(p=>K9e(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:qZ(h,f);for(let p of d){let m=T9(l,u,1.1);w9(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return s.attr("x",h.x-f).attr("y",h.y-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function w9(t,e){t.text(""),e.forEach((r,n)=>{let 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(r.content):i.text(" "+r.content)})}async function k9(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{let l=`${a}:${s}`;return await nH(l)?await _s(l,void 0,{class:"label-icon"}):``})()),i));let n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}var di,zo=M(()=>{"use strict";yr();gr();pt();UZ();tr();nc();WZ();qn();o(YZ,"applyStyle");o(j9e,"addHtmlSpan");o(T9,"createTspan");o(K9e,"computeWidthOfText");o(XZ,"computeDimensionOfText");o(Q9e,"createFormattedText");o(w9,"updateTextContentAndStyles");o(k9,"replaceIconSubstring");di=o(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:s=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(X.debug("XYZ createText",e,r,n,i,a,s,"addSvgBackground: ",u),a){let f=VZ(e,h),d=await k9(Ji(f),h),p=e.replace(/\\\\/g,"\\"),m={isNode:s,label:kn(e)?p:d,labelStyle:r.replace("fill:","color:")};return await j9e(t,m,l,i,u,h)}else{let f=e.replace(//g,"
    "),d=GZ(f.replace("
    ","
    "),h),p=Q9e(l,t,d,e?u:!1);if(s){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");qe(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");qe(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");qe(p).select("text").attr("style",g)}return p}},"createText")});function Vt(t){let e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}function Go(t,e,r,n,i,a){let s=[],u=r-t,h=n-e,f=u/a,d=2*Math.PI/f,p=e+h/2;for(let m=0;m<=50;m++){let g=m/50,y=t+g*u,v=p+i*Math.sin(d*(y-t));s.push({x:y,y:v})}return s}function Kd(t,e,r,n,i,a){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;d{"use strict";zo();Xt();yr();Ra();gr();tr();ut=o(async(t,e,r)=>{let n,i=e.useHtmlLabels||vr(ge()?.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",Cn(e.labelStyle)),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u=await di(s,sr(Ji(l),ge()),{useHtmlLabels:i,width:e.width||ge().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle,addSvgBackground:!!e.icon||!!e.img}),h=u.getBBox(),f=(e?.padding??0)/2;if(i){let d=u.children[0],p=qe(u),m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=ge().fontSize?ge().fontSize:window.getComputedStyle(document.body).fontSize,T=5,[S=ur.fontSize]=vc(b),w=S*T+"px";y.style.minWidth=w,y.style.maxWidth=w}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.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"),XT=o(async(t,e,r)=>{let n=r.useHtmlLabels||vr(ge()?.flowchart?.htmlLabels),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await di(i,sr(Ji(e),ge()),{useHtmlLabels:n,width:r.width||ge()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),s=a.getBBox(),l=r.padding/2;if(vr(ge()?.flowchart?.htmlLabels)){let u=a.children[0],h=qe(a);s=u.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:l,label:i}},"insertLabel"),Qe=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),st=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");o(Vt,"createPathFromPoints");o(Go,"generateFullSineWavePoints");o(Kd,"generateCirclePoints")});function Z9e(t,e){return t.intersect(e)}var jZ,KZ=M(()=>{"use strict";o(Z9e,"intersectNode");jZ=Z9e});function J9e(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(J9e,"intersectEllipse");jT=J9e});function eRe(t,e,r){return jT(t,e,e,r)}var QZ,ZZ=M(()=>{"use strict";E9();o(eRe,"intersectCircle");QZ=eRe});function tRe(t,e,r,n){{let i=e.y-t.y,a=t.x-e.x,s=e.x*t.y-t.x*e.y,l=i*r.x+a*r.y+s,u=i*n.x+a*n.y+s,h=1e-6;if(l!==0&&u!==0&&JZ(l,u))return;let f=n.y-r.y,d=r.x-n.x,p=n.x*r.y-r.x*n.y,m=f*t.x+d*t.y+p,g=f*e.x+d*e.y+p;if(Math.abs(m)0}var eJ,tJ=M(()=>{"use strict";o(tRe,"intersectLine");o(JZ,"sameSign");eJ=tRe});function rRe(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=n-t.width/2-s,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";tJ();o(rRe,"intersectPolygon");rJ=rRe});var nRe,Qh,S9=M(()=>{"use strict";nRe=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Qh=nRe});var Xe,Ut=M(()=>{"use strict";KZ();ZZ();E9();nJ();S9();Xe={node:jZ,circle:QZ,ellipse:jT,polygon:rJ,rect:Qh}});var iJ,wc,iRe,D2,je,Je,aRe,$t=M(()=>{"use strict";Xt();iJ=o(t=>{let{handDrawnSeed:e}=ge();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),wc=o(t=>{let e=iRe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),iRe=o(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),D2=o(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"),je=o(t=>{let{stylesArray:e}=wc(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{let l=s[0];D2(l)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),l.includes("stroke")&&i.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),Je=o((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=ge(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=wc(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:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:aRe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),aRe=o(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(e.length===1){let i=isNaN(e[0])?0:e[0];return[i,i]}let r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray")});function C9(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*s-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*s+i}}}function sRe(t,e){return t[0]===e[0]&&t[1]===e[1]}function oRe(t,e,r,n=1){let i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of s)C9(h,l,i);let u=(function(h,f,d){let p=[];for(let b of h){let T=[...b];sRe(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&p.push(T)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let T=0;Tb.yminT.ymin?1:b.xT.x?1:b.ymax===T.ymax?0:(b.ymax-T.ymax)/Math.abs(b.ymax-T.ymax))),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let T=0;Tv);T++)b=T;g.splice(0,b+1).forEach((T=>{y.push({s:v,edge:T})}))}if(y=y.filter((b=>!(b.edge.ymax<=v))),y.sort(((b,T)=>b.edge.x===T.edge.x?0:(b.edge.x-T.edge.x)/Math.abs(b.edge.x-T.edge.x))),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let S=y[b].edge,w=y[T].edge;m.push([[Math.round(S.x),v],[Math.round(w.x),v]])}v+=d,y.forEach((b=>{b.edge.x=b.edge.x+d*b.edge.islope})),x++}return m})(s,a,n);if(i){for(let h of s)C9(h,l,-i);(function(h,f,d){let p=[];h.forEach((m=>p.push(...m))),C9(p,f,d)})(u,l,-i)}return u}function M2(t,e){var r;let n=e.hachureAngle+90,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),oRe(t,i,n,a||1)}function iw(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function _9(t,e){return t.type===e}function V9(t){let e=[],r=(function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:lRe,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:A9,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:aJ,text:""},l})(t),n="BOD",i=0,a=r[i];for(;!_9(a,aJ);){let s=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return V9("M0,0"+t);i++,s=KT[a.text],n=a.text}else _9(a,A9)?s=KT[n]:(i++,s=KT[a.text],n=a.text);if(!(i+sf%2?h+r:h+e));a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[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 pJ(t){let e=[],r="",n=0,i=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(mJ(n,i,v,x,d,p,m,g,y).forEach((function(b){e.push({key:"C",data:b})})),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=h}return e}function L2(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function mJ(t,e,r,n,i,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=L2(t,e,-f),[r,n]=L2(r,n,-f);let _=(t-r)/2,D=(e-n)/2,O=_*_/(i*i)+D*D/(a*a);O>1&&(O=Math.sqrt(O),i*=O,a*=O);let N=i*i,P=a*a,B=N*P-N*D*D-P*_*_,F=N*D*D+P*_*_,V=(l===u?-1:1)*Math.sqrt(Math.abs(B/F));y=V*i*D/a+(t+r)/2,v=V*-a*_/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let _=g,D=r,O=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=mJ(r=y+i*Math.cos(g),n=v+a*Math.sin(g),D,O,i,a,s,0,u,[g,_,y,v])}x=g-m;let b=Math.cos(m),T=Math.sin(m),S=Math.cos(g),w=Math.sin(g),k=Math.tan(x/4),C=4/3*i*k,A=4/3*a*k,L=[t,e],I=[t+C*T,e-A*b],R=[r+C*w,n-A*S],E=[r,n];if(I[0]=2*L[0]-I[0],I[1]=2*L[1]-I[1],h)return[I,R,E].concat(p);{p=[I,R,E].concat(p);let _=[];for(let D=0;D2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=hJ(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=hJ(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...Zh(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Zh(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function lJ(t,e){let r=pJ(dJ(V9(t))),n=[],i=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Zh(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...hRe(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Zh(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function D9(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+or(i,e),n[0][1]+or(i,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*vJ(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=or(m,i,h),g=or(g,i,h);let y=[],v=o(()=>or(d,i,h),"M"),x=o(()=>or(f,i,h),"k"),b=i.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:or(f,i,h)),e+(b?0:or(f,i,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function QT(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+or(e,r),t[0][1]+or(e,r)]),n.push([t[0][0]+or(e,r),t[0][1]+or(e,r)]);for(let i=1;i3){let a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=Qd(u,h,.5),m=Qd(h,f,.5),g=Qd(f,d,.5),y=Qd(p,m,.5),v=Qd(m,g,.5),x=Qd(y,v,.5);$9([u,p,y,x],0,r,i),$9([x,v,g,d],0,r,i)}var a,s;return i}function dRe(t,e){return nw(t,0,t.length,e)}function nw(t,e,r,n,i){let a=i||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(nw(t,e,h+1,n,a),nw(t,h,r,n,a)):(a.length||a.push(s),a.push(l)),a}function L9(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?nw(n,0,n.length,r):n}var N2,R9,N9,M9,I9,O9,Ps,P9,lRe,A9,aJ,KT,cRe,co,Em,z9,ZT,G9,Ze,Ht=M(()=>{"use strict";o(C9,"t");o(sRe,"e");o(oRe,"s");o(M2,"n");N2=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=M2(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};o(iw,"a");R9=class extends N2{static{o(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=M2(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)iw([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},N9=class extends N2{static{o(this,"r")}fillPolygons(e,r){let 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}},M9=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=M2(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=i/4;for(let l of e){let u=iw(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=iw(s),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=iw(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(C=0,A=2*Math.PI);let L=(A-C)/b.curveStepCount,I=[];for(let R=C;R<=A;R+=L)I.push([T+w*Math.cos(R),S+k*Math.sin(R)]);return I.push([T+w*Math.cos(A),S+k*Math.sin(A)]),I.push([T,S]),km([I],b)})(e,r,n,i,a,s,h));return h.stroke!==co&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=sJ(e,n);if(n.fill&&n.fill!==co)if(n.fillStyle==="solid"){let s=sJ(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{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...L9(fJ([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):s.push(...L9(fJ(h),10,(1+n.roughness)/2))}s.length&&i.push(km([s],n))}return n.stroke!==co&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=JT(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(D9([e],n)):i.push(km([e],n))),n.stroke!==co&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==co,s=n.stroke!==co,l=!!(n.simplification&&n.simplification<1),u=(function(f,d,p){let m=pJ(dJ(V9(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...L9(x,d)),x=[]},"i"),T=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:w,data:k}of m)switch(w){case"M":T(),v=[k[0],k[1]],y.push(v);break;case"L":b(),y.push([k[0],k[1]]);break;case"C":if(!x.length){let C=y.length?y[y.length-1]:v;x.push([C[0],C[1]])}x.push([k[0],k[1]]),x.push([k[2],k[3]]),x.push([k[4],k[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(T(),!p)return g;let S=[];for(let w of g){let k=dRe(w,p);k.length&&S.push(k)}return S})(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=lJ(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=lJ(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(D9(u,n));else i.push(km(u,n));return s&&(l?u.forEach((f=>{i.push(JT(f,!1,n))})):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let 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){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:co};break;case"fillPath":s={d:this.opsToPath(a),stroke:co,strokeWidth:0,fill:n.fill||co};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||co,strokeWidth:n,fill:co}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}},z9=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new Em(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let 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||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,l),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(let a of r.ops){let s=typeof n=="number"&&n>=0?a.data.map((l=>+l.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){let s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},ZT="http://www.w3.org/2000/svg",G9=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new Em(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(ZT,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(ZT,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(ZT,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(ZT,"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){let s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Ze={canvas:o((t,e)=>new z9(t,e),"canvas"),svg:o((t,e)=>new G9(t,e),"svg"),generator:o(t=>new Em(t),"generator"),newSeed:o(()=>Em.newSeed(),"newSeed")}});function xJ(t,e){let{labelStyles:r}=je(e);e.labelStyle=r;let n=st(e),i=n;n||(i="anchor");let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=1,{cssStyles:l}=e,u=Ze.svg(a),h=Je(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);let f=u.circle(0,0,s*2,h),d=a.insert(()=>f,":first-child");return d.attr("class","anchor").attr("style",Cn(l)),Qe(e,d),e.intersect=function(p){return X.info("Circle intersect",e,s,p),Xe.circle(e,s,p)},a}var bJ=M(()=>{"use strict";pt();It();Ut();$t();Ht();tr();o(xJ,"anchor")});function TJ(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let k=[];for(let C=0;C<20;C++){let A=C/19,L=T+A*w,I=x+i*Math.cos(L),R=b+a*Math.sin(L);k.push({x:I,y:R})}return k}async function wJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=a.width+e.padding+20,l=a.height+e.padding,u=l/2,h=u/(2.5+l/50),{cssStyles:f}=e,d=[{x:s/2,y:-l/2},{x:-s/2,y:-l/2},...TJ(-s/2,-l/2,-s/2,l/2,h,u,!1),{x:s/2,y:l/2},...TJ(s/2,l/2,s/2,-l/2,h,u,!0)],p=Ze.svg(i),m=Je(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=Vt(d),y=p.path(g,m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${h/2}, 0)`),Qe(e,v),e.intersect=function(x){return Xe.polygon(e,d,x)},i}var kJ=M(()=>{"use strict";It();Ut();$t();Ht();o(TJ,"generateArcPoints");o(wJ,"bowTieRect")});function Bs(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+")")}var Jh=M(()=>{"use strict";o(Bs,"insertPolygonShape")});async function EJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=a.height+e.padding,l=12,u=a.width+e.padding+l,h=0,f=u,d=-s,p=0,m=[{x:h+l,y:d},{x:f,y:d},{x:f,y:p},{x:h,y:p},{x:h,y:d+l},{x:h+l,y:d}],g,{cssStyles:y}=e;if(e.look==="handDrawn"){let v=Ze.svg(i),x=Je(e,{}),b=Vt(m),T=v.path(b,x);g=i.insert(()=>T,":first-child").attr("transform",`translate(${-u/2}, ${s/2})`),y&&g.attr("style",y)}else g=Bs(i,u,s,m);return n&&g.attr("style",n),Qe(e,g),e.intersect=function(v){return Xe.polygon(e,m,v)},i}var SJ=M(()=>{"use strict";It();Ut();$t();Ht();Jh();It();o(EJ,"card")});function CJ(t,e){let{nodeStyles:r}=je(e);e.label="";let n=t.insert("g").attr("class",st(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}],l=Ze.svg(n),u=Je(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=Vt(s),f=l.path(h,u),d=n.insert(()=>f,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(p){return Xe.polygon(e,s,p)},n}var AJ=M(()=>{"use strict";Ut();Ht();$t();It();o(CJ,"choice")});async function aw(t,e,r){let{labelStyles:n,nodeStyles:i}=je(e);e.labelStyle=n;let{shapeSvg:a,bbox:s,halfPadding:l}=await ut(t,e,st(e)),u=r?.padding??l,h=s.width/2+u,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ze.svg(a),m=Je(e,{}),g=p.circle(0,0,h*2,m);f=a.insert(()=>g,":first-child"),f.attr("class","basic label-container").attr("style",Cn(d))}else f=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return Qe(e,f),e.calcIntersect=function(p,m){let g=p.width/2;return Xe.circle(p,g,m)},e.intersect=function(p){return X.info("Circle intersect",e,h,p),Xe.circle(e,h,p)},a}var U9=M(()=>{"use strict";Ht();pt();tr();Ut();$t();It();o(aw,"circle")});function pRe(t){let 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},l={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${l.x},${l.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}function _J(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r,e.label="";let i=t.insert("g").attr("class",st(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=Ze.svg(i),u=Je(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=l.circle(0,0,a*2,u),f=pRe(a),d=l.path(f,u),p=i.insert(()=>h,":first-child");return p.insert(()=>d),s&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",n),Qe(e,p),e.intersect=function(m){return X.info("crossedCircle intersect",e,{radius:a,point:m}),Xe.circle(e,a,m)},i}var DJ=M(()=>{"use strict";pt();It();$t();Ht();Ut();o(pRe,"createLine");o(_J,"crossedCircle")});function ef(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),S.insert(()=>x,":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(${-l/2+h-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Qe(e,S),e.intersect=function(w){return Xe.polygon(e,p,w)},i}var RJ=M(()=>{"use strict";It();Ut();$t();Ht();o(ef,"generateCirclePoints");o(LJ,"curlyBraceLeft")});function tf(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),S.insert(()=>x,":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(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Qe(e,S),e.intersect=function(w){return Xe.polygon(e,p,w)},i}var MJ=M(()=>{"use strict";It();Ut();$t();Ht();o(tf,"generateCirclePoints");o(NJ,"curlyBraceRight")});function Pa(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dC,":first-child").attr("stroke-opacity",0),A.insert(()=>b,":first-child"),A.insert(()=>w,":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(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Qe(e,A),e.intersect=function(L){return Xe.polygon(e,m,L)},i}var OJ=M(()=>{"use strict";It();Ut();$t();Ht();o(Pa,"generateCirclePoints");o(IJ,"curlyBraces")});async function PJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=80,l=20,u=Math.max(s,(a.width+(e.padding??0)*2)*1.25,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Ze.svg(i),m=Je(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=u,y=h,v=g-f,x=y/4,b=[{x:v,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:v,y},...Kd(-v,-y/2,f,50,270,90)],T=Vt(b),S=p.path(T,m),w=i.insert(()=>S,":first-child");return w.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",n),w.attr("transform",`translate(${-u/2}, ${-h/2})`),Qe(e,w),e.intersect=function(k){return Xe.polygon(e,b,k)},i}var BJ=M(()=>{"use strict";It();Ut();$t();Ht();o(PJ,"curvedTrapezoid")});async function FJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+e.padding,e.height??0),d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Ze.svg(i),g=gRe(0,0,l,f,u,h),y=yRe(0,h,l,f,u,h),v=m.path(g,Je(e,{})),x=m.path(y,Je(e,{fill:"none"}));d=i.insert(()=>x,":first-child"),d=i.insert(()=>v,":first-child"),d.attr("class","basic label-container"),p&&d.attr("style",p)}else{let m=mRe(0,0,l,f,u,h);d=i.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",Cn(p)).attr("style",n)}return d.attr("label-offset-y",h),d.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Qe(e,d),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(m){let g=Xe.rect(e,m),y=g.x-(e.x??0);if(u!=0&&(Math.abs(y)<(e.width??0)/2||Math.abs(y)==(e.width??0)/2&&Math.abs(g.y-(e.y??0))>(e.height??0)/2-h)){let v=h*h*(1-y*y/(u*u));v>0&&(v=Math.sqrt(v)),v=h-v,m.y-(e.y??0)>0&&(v=-v),g.y+=v}return g},i}var mRe,gRe,yRe,$J=M(()=>{"use strict";It();Ut();$t();Ht();tr();mRe=o((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"),gRe=o((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"),yRe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(FJ,"cylinder")});async function zJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=a.width+e.padding,u=a.height+e.padding,h=u*.2,f=-l/2,d=-u/2-h/2,{cssStyles:p}=e,m=Ze.svg(i),g=Je(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d+h},{x:-f,y:d+h},{x:-f,y:-d},{x:f,y:-d},{x:f,y:d},{x:-f,y:d},{x:-f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${f+(e.padding??0)/2-(a.x-(a.left??0))}, ${d+h+(e.padding??0)/2-(a.y-(a.top??0))})`),Qe(e,x),e.intersect=function(b){return Xe.rect(e,b)},i}var GJ=M(()=>{"use strict";It();Ut();$t();Ht();o(zJ,"dividedRectangle")});async function VJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await ut(t,e,st(e)),u=a.width/2+s+5,h=a.width/2+s,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ze.svg(i),m=Je(e,{roughness:.2,strokeWidth:2.5}),g=Je(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",Cn(e.cssClasses)).attr("style",Cn(d)),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return Qe(e,f),e.intersect=function(p){return X.info("DoubleCircle intersect",e,u,p),Xe.circle(e,u,p)},i}var UJ=M(()=>{"use strict";pt();It();Ut();$t();Ht();tr();o(VJ,"doublecircle")});function HJ(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=je(e);e.label="",e.labelStyle=n;let a=t.insert("g").attr("class",st(e)).attr("id",e.domId??e.id),s=7,{cssStyles:l}=e,u=Ze.svg(a),{nodeBorder:h}=r,f=Je(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(f.roughness=0);let d=u.circle(0,0,s*2,f),p=a.insert(()=>d,":first-child");return p.selectAll("path").attr("style",`fill: ${h} !important;`),l&&l.length>0&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",l),i&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",i),Qe(e,p),e.intersect=function(m){return X.info("filledCircle intersect",e,{radius:s,point:m}),Xe.circle(e,s,m)},a}var qJ=M(()=>{"use strict";Ht();pt();Ut();$t();It();o(HJ,"filledCircle")});async function WJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=a.width+(e.padding??0),u=l+a.height,h=l+a.height,f=[{x:0,y:-u},{x:h,y:-u},{x:h/2,y:0}],{cssStyles:d}=e,p=Ze.svg(i),m=Je(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=Vt(f),y=p.path(g,m),v=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return d&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),e.width=l,e.height=u,Qe(e,v),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(x){return X.info("Triangle intersect",e,f,x),Xe.polygon(e,f,x)},i}var YJ=M(()=>{"use strict";pt();It();Ut();$t();Ht();It();o(WJ,"flippedTriangle")});function XJ(t,e,{dir:r,config:{state:n,themeVariables:i}}){let{nodeStyles:a}=je(e);e.label="";let s=t.insert("g").attr("class",st(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,u=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);r==="LR"&&(u=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));let f=-1*u/2,d=-1*h/2,p=Ze.svg(s),m=Je(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=p.rectangle(f,d,u,h,m),y=s.insert(()=>g,":first-child");l&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",l),a&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",a),Qe(e,y);let v=n?.padding??0;return e.width&&e.height&&(e.width+=v/2||0,e.height+=v/2||0),e.intersect=function(x){return Xe.rect(e,x)},s}var jJ=M(()=>{"use strict";Ht();Ut();$t();It();o(XJ,"forkJoin")});async function KJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let i=80,a=50,{shapeSvg:s,bbox:l}=await ut(t,e,st(e)),u=Math.max(i,l.width+(e.padding??0)*2,e?.width??0),h=Math.max(a,l.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Ze.svg(s),m=Je(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-u/2,y:-h/2},{x:u/2-f,y:-h/2},...Kd(-u/2+f,0,f,50,90,270),{x:u/2-f,y:h/2},{x:-u/2,y:h/2}],y=Vt(g),v=p.path(y,m),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),Qe(e,x),e.intersect=function(b){return X.info("Pill intersect",e,{radius:f,point:b}),Xe.polygon(e,g,b)},s}var QJ=M(()=>{"use strict";pt();It();Ut();$t();Ht();o(KJ,"halfRoundedRectangle")});async function ZJ(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=a.height+(e.padding??0),l=a.width+(e.padding??0)*2.5,{cssStyles:u}=e,h=Ze.svg(i),f=Je(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");let d=l/2,p=d/6;d=d+p;let m=s/2,g=m/2,y=d-g,v=[{x:-y,y:-m},{x:0,y:-m},{x:y,y:-m},{x:d,y:0},{x:y,y:m},{x:0,y:m},{x:-y,y:m},{x:-d,y:0}],x=Vt(v),b=h.path(x,f),T=i.insert(()=>b,":first-child");return T.attr("class","basic label-container"),u&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",u),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=l,e.height=s,Qe(e,T),e.intersect=function(S){return Xe.polygon(e,v,S)},i}var JJ=M(()=>{"use strict";It();Ut();$t();Ht();o(ZJ,"hexagon")});async function eee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.label="",e.labelStyle=r;let{shapeSvg:i}=await ut(t,e,st(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=Ze.svg(i),h=Je(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let f=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Vt(f),p=u.path(d,h),m=i.insert(()=>p,":first-child");return m.attr("class","basic label-container"),l&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",l),n&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",n),m.attr("transform",`translate(${-a/2}, ${-s/2})`),Qe(e,m),e.intersect=function(g){return X.info("Pill intersect",e,{points:f}),Xe.polygon(e,f,g)},i}var tee=M(()=>{"use strict";pt();It();Ut();$t();Ht();o(eee,"hourglass")});async function ree(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=je(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await ut(t,e,"icon-shape default"),p=e.pos==="t",m=l,g=l,{nodeBorder:y}=r,{stylesMap:v}=wc(e),x=-g/2,b=-m/2,T=e.label?8:0,S=Ze.svg(h),w=Je(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let k=S.rectangle(x,b,g,m,w),C=Math.max(g,f.width),A=m+f.height+T,L=S.rectangle(-C/2,-A/2,C,A,{...w,fill:"transparent",stroke:"none"}),I=h.insert(()=>k,":first-child"),R=h.insert(()=>L);if(e.icon){let E=h.append("g");E.html(`${await _s(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let _=E.node().getBBox(),D=_.width,O=_.height,N=_.x,P=_.y;E.attr("transform",`translate(${-D/2-N},${p?f.height/2+T/2-O/2-P:-f.height/2-T/2-O/2-P})`),E.attr("style",`color: ${v.get("stroke")??y};`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-A/2:A/2-f.height})`),I.attr("transform",`translate(0,${p?f.height/2+T/2:-f.height/2-T/2})`),Qe(e,R),e.intersect=function(E){if(X.info("iconSquare intersect",e,E),!e.label)return Xe.rect(e,E);let _=e.x??0,D=e.y??0,O=e.height??0,N=[];return p?N=[{x:_-f.width/2,y:D-O/2},{x:_+f.width/2,y:D-O/2},{x:_+f.width/2,y:D-O/2+f.height+T},{x:_+g/2,y:D-O/2+f.height+T},{x:_+g/2,y:D+O/2},{x:_-g/2,y:D+O/2},{x:_-g/2,y:D-O/2+f.height+T},{x:_-f.width/2,y:D-O/2+f.height+T}]:N=[{x:_-g/2,y:D-O/2},{x:_+g/2,y:D-O/2},{x:_+g/2,y:D-O/2+m},{x:_+f.width/2,y:D-O/2+m},{x:_+f.width/2/2,y:D+O/2},{x:_-f.width/2,y:D+O/2},{x:_-f.width/2,y:D-O/2+m},{x:_-g/2,y:D-O/2+m}],Xe.polygon(e,N,E)},h}var nee=M(()=>{"use strict";Ht();pt();nc();Ut();$t();It();o(ree,"icon")});async function iee(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=je(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await ut(t,e,"icon-shape default"),p=20,m=e.label?8:0,g=e.pos==="t",{nodeBorder:y,mainBkg:v}=r,{stylesMap:x}=wc(e),b=Ze.svg(h),T=Je(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let S=x.get("fill");T.stroke=S??v;let w=h.append("g");e.icon&&w.html(`${await _s(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let k=w.node().getBBox(),C=k.width,A=k.height,L=k.x,I=k.y,R=Math.max(C,A)*Math.SQRT2+p*2,E=b.circle(0,0,R,T),_=Math.max(R,f.width),D=R+f.height+m,O=b.rectangle(-_/2,-D/2,_,D,{...T,fill:"transparent",stroke:"none"}),N=h.insert(()=>E,":first-child"),P=h.insert(()=>O);return w.attr("transform",`translate(${-C/2-L},${g?f.height/2+m/2-A/2-I:-f.height/2-m/2-A/2-I})`),w.attr("style",`color: ${x.get("stroke")??y};`),d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-D/2:D/2-f.height})`),N.attr("transform",`translate(0,${g?f.height/2+m/2:-f.height/2-m/2})`),Qe(e,P),e.intersect=function(B){return X.info("iconSquare intersect",e,B),Xe.rect(e,B)},h}var aee=M(()=>{"use strict";Ht();pt();nc();Ut();$t();It();o(iee,"iconCircle")});var Fs,Zd=M(()=>{"use strict";Fs=o((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")});async function see(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=je(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await ut(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=wc(e),T=-y/2,S=-g/2,w=e.label?8:0,k=Ze.svg(h),C=Je(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");let A=b.get("fill");C.stroke=A??x;let L=k.path(Fs(T,S,y,g,5),C),I=Math.max(y,f.width),R=g+f.height+w,E=k.rectangle(-I/2,-R/2,I,R,{...C,fill:"transparent",stroke:"none"}),_=h.insert(()=>L,":first-child").attr("class","icon-shape2"),D=h.insert(()=>E);if(e.icon){let O=h.append("g");O.html(`${await _s(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let N=O.node().getBBox(),P=N.width,B=N.height,F=N.x,V=N.y;O.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-V:-f.height/2-w/2-B/2-V})`),O.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-R/2:R/2-f.height})`),_.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),Qe(e,D),e.intersect=function(O){if(X.info("iconSquare intersect",e,O),!e.label)return Xe.rect(e,O);let N=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:N-f.width/2,y:P-B/2},{x:N+f.width/2,y:P-B/2},{x:N+f.width/2,y:P-B/2+f.height+w},{x:N+y/2,y:P-B/2+f.height+w},{x:N+y/2,y:P+B/2},{x:N-y/2,y:P+B/2},{x:N-y/2,y:P-B/2+f.height+w},{x:N-f.width/2,y:P-B/2+f.height+w}]:F=[{x:N-y/2,y:P-B/2},{x:N+y/2,y:P-B/2},{x:N+y/2,y:P-B/2+g},{x:N+f.width/2,y:P-B/2+g},{x:N+f.width/2/2,y:P+B/2},{x:N-f.width/2,y:P+B/2},{x:N-f.width/2,y:P-B/2+g},{x:N-y/2,y:P-B/2+g}],Xe.polygon(e,F,O)},h}var oee=M(()=>{"use strict";Ht();pt();nc();Ut();$t();Zd();It();o(see,"iconRounded")});async function lee(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=je(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await ut(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=wc(e),T=-y/2,S=-g/2,w=e.label?8:0,k=Ze.svg(h),C=Je(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");let A=b.get("fill");C.stroke=A??x;let L=k.path(Fs(T,S,y,g,.1),C),I=Math.max(y,f.width),R=g+f.height+w,E=k.rectangle(-I/2,-R/2,I,R,{...C,fill:"transparent",stroke:"none"}),_=h.insert(()=>L,":first-child"),D=h.insert(()=>E);if(e.icon){let O=h.append("g");O.html(`${await _s(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let N=O.node().getBBox(),P=N.width,B=N.height,F=N.x,V=N.y;O.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-V:-f.height/2-w/2-B/2-V})`),O.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-R/2:R/2-f.height})`),_.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),Qe(e,D),e.intersect=function(O){if(X.info("iconSquare intersect",e,O),!e.label)return Xe.rect(e,O);let N=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:N-f.width/2,y:P-B/2},{x:N+f.width/2,y:P-B/2},{x:N+f.width/2,y:P-B/2+f.height+w},{x:N+y/2,y:P-B/2+f.height+w},{x:N+y/2,y:P+B/2},{x:N-y/2,y:P+B/2},{x:N-y/2,y:P-B/2+f.height+w},{x:N-f.width/2,y:P-B/2+f.height+w}]:F=[{x:N-y/2,y:P-B/2},{x:N+y/2,y:P-B/2},{x:N+y/2,y:P-B/2+g},{x:N+f.width/2,y:P-B/2+g},{x:N+f.width/2/2,y:P+B/2},{x:N-f.width/2,y:P+B/2},{x:N-f.width/2,y:P-B/2+g},{x:N-y/2,y:P-B/2+g}],Xe.polygon(e,F,O)},h}var cee=M(()=>{"use strict";Ht();pt();nc();Ut();Zd();$t();It();o(lee,"iconSquare")});async function uee(t,e,{config:{flowchart:r}}){let n=new Image;n.src=e?.img??"",await n.decode();let i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;let{labelStyles:s}=je(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let u=Math.max(e.label?l??0:0,e?.assetWidth??i),h=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f=e.constraint==="on"?h/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(h,l??0);let{shapeSvg:d,bbox:p,label:m}=await ut(t,e,"image-shape default"),g=e.pos==="t",y=-h/2,v=-f/2,x=e.label?8:0,b=Ze.svg(d),T=Je(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let S=b.rectangle(y,v,h,f,T),w=Math.max(h,p.width),k=f+p.height+x,C=b.rectangle(-w/2,-k/2,w,k,{...T,fill:"none",stroke:"none"}),A=d.insert(()=>S,":first-child"),L=d.insert(()=>C);if(e.img){let I=d.append("image");I.attr("href",e.img),I.attr("width",h),I.attr("height",f),I.attr("preserveAspectRatio","none"),I.attr("transform",`translate(${-h/2},${g?k/2-f:-k/2})`)}return m.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${g?-f/2-p.height/2-x/2:f/2-p.height/2+x/2})`),A.attr("transform",`translate(0,${g?p.height/2+x/2:-p.height/2-x/2})`),Qe(e,L),e.intersect=function(I){if(X.info("iconSquare intersect",e,I),!e.label)return Xe.rect(e,I);let R=e.x??0,E=e.y??0,_=e.height??0,D=[];return g?D=[{x:R-p.width/2,y:E-_/2},{x:R+p.width/2,y:E-_/2},{x:R+p.width/2,y:E-_/2+p.height+x},{x:R+h/2,y:E-_/2+p.height+x},{x:R+h/2,y:E+_/2},{x:R-h/2,y:E+_/2},{x:R-h/2,y:E-_/2+p.height+x},{x:R-p.width/2,y:E-_/2+p.height+x}]:D=[{x:R-h/2,y:E-_/2},{x:R+h/2,y:E-_/2},{x:R+h/2,y:E-_/2+f},{x:R+p.width/2,y:E-_/2+f},{x:R+p.width/2/2,y:E+_/2},{x:R-p.width/2,y:E+_/2},{x:R-p.width/2,y:E-_/2+f},{x:R-h/2,y:E-_/2+f}],Xe.polygon(e,D,I)},d}var hee=M(()=>{"use strict";Ht();pt();Ut();$t();It();o(uee,"imageSquare")});async function fee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=[{x:0,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:-3*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ze.svg(i),p=Je(e,{}),m=Vt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Bs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Qe(e,h),e.intersect=function(d){return Xe.polygon(e,u,d)},i}var dee=M(()=>{"use strict";It();Ut();$t();Ht();Jh();o(fee,"inv_trapezoid")});async function Jd(t,e,r){let{labelStyles:n,nodeStyles:i}=je(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await ut(t,e,st(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Ze.svg(a),v=Je(e,{}),x=p||m?y.path(Fs(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",Cn(g))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",Cn(p)).attr("ry",Cn(m)).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return Qe(e,d),e.calcIntersect=function(y,v){return Xe.rect(y,v)},e.intersect=function(y){return Xe.rect(e,y)},a}var I2=M(()=>{"use strict";It();Ut();Zd();$t();Ht();tr();o(Jd,"drawRect")});async function pee(t,e){let{shapeSvg:r,bbox:n,label:i}=await ut(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))})`),Qe(e,a),e.intersect=function(u){return Xe.rect(e,u)},r}var mee=M(()=>{"use strict";I2();It();Ut();o(pee,"labelRect")});async function gee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:0,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:-(3*l)/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ze.svg(i),p=Je(e,{}),m=Vt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Bs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Qe(e,h),e.intersect=function(d){return Xe.polygon(e,u,d)},i}var yee=M(()=>{"use strict";It();Ut();$t();Ht();Jh();o(gee,"lean_left")});async function vee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:-3*l/6,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ze.svg(i),p=Je(e,{}),m=Vt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Bs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Qe(e,h),e.intersect=function(d){return Xe.polygon(e,u,d)},i}var xee=M(()=>{"use strict";It();Ut();$t();Ht();Jh();o(vee,"lean_right")});function bee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.label="",e.labelStyle=r;let i=t.insert("g").attr("class",st(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),u=7,h=[{x:s,y:0},{x:0,y:l+u/2},{x:s-2*u,y:l+u/2},{x:0,y:2*l},{x:s,y:l-u/2},{x:2*u,y:l-u/2}],f=Ze.svg(i),d=Je(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=Vt(h),m=f.path(p,d),g=i.insert(()=>m,":first-child");return 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},${-l})`),Qe(e,g),e.intersect=function(y){return X.info("lightningBolt intersect",e,y),Xe.polygon(e,h,y)},i}var Tee=M(()=>{"use strict";pt();It();$t();Ht();Ut();It();o(bee,"lightningBolt")});async function wee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+(e.padding??0),e.height??0),d=f*.1,p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=Ze.svg(i),y=xRe(0,0,l,f,u,h,d),v=bRe(0,h,l,f,u,h),x=Je(e,{}),b=g.path(y,x),T=g.path(v,x);i.insert(()=>T,":first-child").attr("class","line"),p=i.insert(()=>b,":first-child"),p.attr("class","basic label-container"),m&&p.attr("style",m)}else{let g=vRe(0,0,l,f,u,h,d);p=i.insert("path",":first-child").attr("d",g).attr("class","basic label-container").attr("style",Cn(m)).attr("style",n)}return p.attr("label-offset-y",h),p.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Qe(e,p),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),e.intersect=function(g){let y=Xe.rect(e,g),v=y.x-(e.x??0);if(u!=0&&(Math.abs(v)<(e.width??0)/2||Math.abs(v)==(e.width??0)/2&&Math.abs(y.y-(e.y??0))>(e.height??0)/2-h)){let x=h*h*(1-v*v/(u*u));x>0&&(x=Math.sqrt(x)),x=h-x,g.y-(e.y??0)>0&&(x=-x),y.y+=x}return y},i}var vRe,xRe,bRe,kee=M(()=>{"use strict";It();Ut();$t();Ht();tr();vRe=o((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"),xRe=o((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"),bRe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(wee,"linedCylinder")});async function Eee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,{cssStyles:d}=e,p=Ze.svg(i),m=Je(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-l/2-l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:f/2},...Go(-l/2-l/2*.1,f/2,l/2+l/2*.1,f/2,h,.8),{x:l/2+l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:-f/2},{x:-l/2,y:-f/2},{x:-l/2,y:f/2*1.1},{x:-l/2,y:-f/2}],y=p.polygon(g.map(x=>[x.x,x.y]),m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)+l/2*.1/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Qe(e,v),e.intersect=function(x){return Xe.polygon(e,g,x)},i}var See=M(()=>{"use strict";It();Ut();Ht();$t();o(Eee,"linedWaveEdgedRect")});async function Cee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Ze.svg(i),g=Je(e,{}),y=[{x:f-h,y:d+h},{x:f-h,y:d+u+h},{x:f+l-h,y:d+u+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d+u-h},{x:f+l+h,y:d+u-h},{x:f+l+h,y:d-h},{x:f+h,y:d-h},{x:f+h,y:d},{x:f,y:d},{x:f,y:d+h}],v=[{x:f,y:d+h},{x:f+l-h,y:d+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d},{x:f,y:d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=Vt(y),b=m.path(x,g),T=Vt(v),S=m.path(T,{...g,fill:"none"}),w=i.insert(()=>S,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)-h-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),Qe(e,w),e.intersect=function(k){return Xe.polygon(e,y,k)},i}var Aee=M(()=>{"use strict";It();$t();Ht();Ut();o(Cee,"multiRect")});async function _ee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,d=-l/2,p=-f/2,m=5,{cssStyles:g}=e,y=Go(d-m,p+f+m,d+l-m,p+f+m,h,.8),v=y?.[y.length-1],x=[{x:d-m,y:p+m},{x:d-m,y:p+f+m},...y,{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:v.y-2*m},{x:d+l+m,y:v.y-2*m},{x:d+l+m,y:p-m},{x:d+m,y:p-m},{x:d+m,y:p},{x:d,y:p},{x:d,y:p+m}],b=[{x:d,y:p+m},{x:d+l-m,y:p+m},{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:p},{x:d,y:p}],T=Ze.svg(i),S=Je(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");let w=Vt(x),k=T.path(w,S),C=Vt(b),A=T.path(C,S),L=i.insert(()=>k,":first-child");return L.insert(()=>A),L.attr("class","basic label-container"),g&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-(a.width/2)-m-(a.x-(a.left??0))}, ${-(a.height/2)+m-h/2-(a.y-(a.top??0))})`),Qe(e,L),e.intersect=function(I){return Xe.polygon(e,x,I)},i}var Dee=M(()=>{"use strict";It();Ut();Ht();$t();o(_ee,"multiWaveEdgedRectangle")});async function Lee(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=je(e);e.labelStyle=n,e.useHtmlLabels||Qt().flowchart?.htmlLabels!==!1||(e.centerLabel=!0);let{shapeSvg:s,bbox:l,label:u}=await ut(t,e,st(e)),h=Math.max(l.width+(e.padding??0)*2,e?.width??0),f=Math.max(l.height+(e.padding??0)*2,e?.height??0),d=-h/2,p=-f/2,{cssStyles:m}=e,g=Ze.svg(s),y=Je(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=g.rectangle(d,p,h,f,y),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",m),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),Qe(e,x),e.intersect=function(b){return Xe.rect(e,b)},s}var Ree=M(()=>{"use strict";Ht();Ut();$t();It();qn();o(Lee,"note")});async function Nee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=a.width+e.padding,l=a.height+e.padding,u=s+l,h=.5,f=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Ze.svg(i),g=Je(e,{}),y=TRe(0,0,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-u/2+h}, ${u/2})`),p&&d.attr("style",p)}else d=Bs(i,u,u,f),d.attr("transform",`translate(${-u/2+h}, ${u/2})`);return n&&d.attr("style",n),Qe(e,d),e.calcIntersect=function(m,g){let y=m.width,v=[{x:y/2,y:0},{x:y,y:-y/2},{x:y/2,y:-y},{x:0,y:-y/2}],x=Xe.polygon(m,v,g);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(m){return this.calcIntersect(e,m)},i}var TRe,Mee=M(()=>{"use strict";It();Ut();$t();Ht();Jh();TRe=o((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");o(Nee,"question")});async function Iee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0),e?.width??0),u=Math.max(a.height+(e.padding??0),e?.height??0),h=-l/2,f=-u/2,d=f/2,p=[{x:h+d,y:f},{x:h,y:0},{x:h+d,y:-f},{x:-h,y:-f},{x:-h,y:f}],{cssStyles:m}=e,g=Ze.svg(i),y=Je(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=Vt(p),x=g.path(v,y),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-d/2},0)`),s.attr("transform",`translate(${-d/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Qe(e,b),e.intersect=function(T){return Xe.polygon(e,p,T)},i}var Oee=M(()=>{"use strict";It();Ut();$t();Ht();o(Iee,"rect_left_inv_arrow")});function wRe(t,e){e&&t.attr("style",e)}async function kRe(t){let e=qe(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=ge(),i=t.label;t.label&&kn(t.label)&&(i=await kh(t.label.replace(tt.lineBreakRegex,` +`),n));let s='"+i+"";return r.html(sr(s,n)),wRe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var ERe,kc,sw=M(()=>{"use strict";yr();Xt();gr();pt();tr();o(wRe,"applyStyle");o(kRe,"addHtmlLabel");ERe=o(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),vr(ge().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),X.info("vertexText"+i);let a={isNode:n,label:Ji(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:e&&e.replace("fill:","color:")};return await kRe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(let l of s){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),kc=ERe});async function Pee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=l.node().appendChild(await kc(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(vr(ge()?.flowchart?.htmlLabels)){let A=f.children[0],L=qe(f);d=A.getBoundingClientRect(),L.attr("width",d.width),L.attr("height",d.height)}X.info("Text 2",u);let p=u||[],m=f.getBBox(),g=l.node().appendChild(await kc(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),y=g.children[0],v=qe(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;qe(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),qe(f).attr("transform","translate( "+(d.width(X.debug("Rough node insert CXC",I),R),":first-child"),k=a.insert(()=>(X.debug("Rough node insert CXC",I),I),":first-child")}else k=s.insert("rect",":first-child"),C=s.insert("line"),k.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),C.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return Qe(e,k),e.intersect=function(A){return Xe.rect(e,A)},a}var Bee=M(()=>{"use strict";yr();gr();It();sw();Ut();$t();Ht();Xt();Zd();pt();o(Pee,"rectWithTitle")});function ow(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let k=[];for(let C=0;C<20;C++){let A=C/19,L=T+A*w,I=x+i*Math.cos(L),R=b+a*Math.sin(L);k.push({x:I,y:R})}return k}async function Fee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=e?.padding??0,l=e?.padding??0,u=(e?.width?e?.width:a.width)+s*2,h=(e?.height?e?.height:a.height)+l*2,f=e.radius||5,d=e.taper||5,{cssStyles:p}=e,m=Ze.svg(i),g=Je(e,{});e.stroke&&(g.stroke=e.stroke),e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:-u/2+d,y:-h/2},{x:u/2-d,y:-h/2},...ow(u/2-d,-h/2,u/2,-h/2+d,f,f,!0),{x:u/2,y:-h/2+d},{x:u/2,y:h/2-d},...ow(u/2,h/2-d,u/2-d,h/2,f,f,!0),{x:u/2-d,y:h/2},{x:-u/2+d,y:h/2},...ow(-u/2+d,h/2,-u/2,h/2-d,f,f,!0),{x:-u/2,y:h/2-d},{x:-u/2,y:-h/2+d},...ow(-u/2,-h/2+d,-u/2+d,-h/2,f,f,!0)],v=Vt(y),x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",n),Qe(e,b),e.intersect=function(T){return Xe.polygon(e,y,T)},i}var $ee=M(()=>{"use strict";It();Ut();$t();Ht();o(ow,"generateArcPoints");o(Fee,"roundedRect")});async function zee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=e?.padding??0,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=-a.width/2-l,d=-a.height/2-l,{cssStyles:p}=e,m=Ze.svg(i),g=Je(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d},{x:f+u+8,y:d},{x:f+u+8,y:d+h},{x:f-8,y:d+h},{x:f-8,y:d},{x:f,y:d},{x:f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container").attr("style",Cn(p)),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-h/2+(e.padding??0)-(a.y-(a.top??0))})`),Qe(e,x),e.intersect=function(b){return Xe.rect(e,b)},i}var Gee=M(()=>{"use strict";It();Ut();$t();Ht();tr();o(zee,"shadedProcess")});async function Vee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=-l/2,f=-u/2,{cssStyles:d}=e,p=Ze.svg(i),m=Je(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:h,y:f},{x:h,y:f+u},{x:h+l,y:f+u},{x:h+l,y:f-u/2}],y=Vt(g),v=p.path(y,m),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),x.attr("transform",`translate(0, ${u/4})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))}, ${-u/4+(e.padding??0)-(a.y-(a.top??0))})`),Qe(e,x),e.intersect=function(b){return Xe.polygon(e,g,b)},i}var Uee=M(()=>{"use strict";It();Ut();$t();Ht();o(Vee,"slopedRect")});async function Hee(t,e){let r={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return Jd(t,e,r)}var qee=M(()=>{"use strict";I2();o(Hee,"squareRect")});async function Wee(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,u=s/2,{cssStyles:h}=e,f=Ze.svg(i),d=Je(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-l/2+u,y:-s/2},{x:l/2-u,y:-s/2},...Kd(-l/2+u,0,u,50,90,270),{x:l/2-u,y:s/2},...Kd(l/2-u,0,u,50,270,450)],m=Vt(p),g=f.path(m,d),y=i.insert(()=>g,":first-child");return y.attr("class","basic label-container outer-path"),h&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",h),n&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",n),Qe(e,y),e.intersect=function(v){return Xe.polygon(e,p,v)},i}var Yee=M(()=>{"use strict";It();Ut();$t();Ht();o(Wee,"stadium")});async function Xee(t,e){return Jd(t,e,{rx:5,ry:5,classes:"flowchart-node"})}var jee=M(()=>{"use strict";I2();o(Xee,"state")});function Kee(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=je(e);e.labelStyle=n;let{cssStyles:a}=e,{lineColor:s,stateBorder:l,nodeBorder:u}=r,h=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),f=Ze.svg(h),d=Je(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=f.circle(0,0,14,{...d,stroke:s,strokeWidth:2}),m=l??u,g=f.circle(0,0,5,{...d,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),y=h.insert(()=>p,":first-child");return y.insert(()=>g),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),Qe(e,y),e.intersect=function(v){return Xe.circle(e,7,v)},h}var Qee=M(()=>{"use strict";Ht();Ut();$t();It();o(Kee,"stateEnd")});function Zee(t,e,{config:{themeVariables:r}}){let{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Ze.svg(i).circle(0,0,14,iJ(n));a=i.insert(()=>l),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return Qe(e,a),e.intersect=function(s){return Xe.circle(e,7,s)},i}var Jee=M(()=>{"use strict";Ht();Ut();$t();It();o(Zee,"stateStart")});async function ete(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-s,f=-a.height/2-s,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Ze.svg(i),m=Je(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",Cn(b)),Qe(e,x)}else{let p=Bs(i,l,u,d);n&&p.attr("style",n),Qe(e,p)}return e.intersect=function(p){return Xe.polygon(e,d,p)},i}var tte=M(()=>{"use strict";It();Ut();$t();Ht();Jh();tr();o(ete,"subroutine")});async function rte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=-s/2,h=-l/2,f=.2*l,d=.2*l,{cssStyles:p}=e,m=Ze.svg(i),g=Je(e,{}),y=[{x:u-f/2,y:h},{x:u+s+f/2,y:h},{x:u+s+f/2,y:h+l},{x:u-f/2,y:h+l}],v=[{x:u+s-f/2,y:h+l},{x:u+s+f/2,y:h+l},{x:u+s+f/2,y:h+l-d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=Vt(y),b=m.path(x,g),T=Vt(v),S=m.path(T,{...g,fillStyle:"solid"}),w=i.insert(()=>S,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),Qe(e,w),e.intersect=function(k){return Xe.polygon(e,y,k)},i}var nte=M(()=>{"use strict";It();$t();Ht();Ut();o(rte,"taggedRect")});async function ite(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=.2*l,d=.2*u,p=u+h,{cssStyles:m}=e,g=Ze.svg(i),y=Je(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-l/2-l/2*.1,y:p/2},...Go(-l/2-l/2*.1,p/2,l/2+l/2*.1,p/2,h,.8),{x:l/2+l/2*.1,y:-p/2},{x:-l/2-l/2*.1,y:-p/2}],x=-l/2+l/2*.1,b=-p/2-d*.4,T=[{x:x+l-f,y:(b+u)*1.4},{x:x+l,y:b+u-d},{x:x+l,y:(b+u)*.9},...Go(x+l,(b+u)*1.3,x+l-f,(b+u)*1.5,-u*.03,.5)],S=Vt(v),w=g.path(S,y),k=Vt(T),C=g.path(k,{...y,fillStyle:"solid"}),A=i.insert(()=>C,":first-child");return A.insert(()=>w,":first-child"),A.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Qe(e,A),e.intersect=function(L){return Xe.polygon(e,v,L)},i}var ate=M(()=>{"use strict";It();Ut();Ht();$t();o(ite,"taggedWaveEdgedRectangle")});async function ste(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=Math.max(a.width+e.padding,e?.width||0),l=Math.max(a.height+e.padding,e?.height||0),u=-s/2,h=-l/2,f=i.insert("rect",":first-child");return f.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",u).attr("y",h).attr("width",s).attr("height",l),Qe(e,f),e.intersect=function(d){return Xe.rect(e,d)},i}var ote=M(()=>{"use strict";It();Ut();$t();o(ste,"text")});async function lte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s,halfPadding:l}=await ut(t,e,st(e)),u=e.look==="neo"?l*2:l,h=a.height+u,f=h/2,d=f/(2.5+h/50),p=a.width+d+u,{cssStyles:m}=e,g;if(e.look==="handDrawn"){let y=Ze.svg(i),v=CRe(0,0,p,h,d,f),x=ARe(0,0,p,h,d,f),b=y.path(v,Je(e,{})),T=y.path(x,Je(e,{fill:"none"}));g=i.insert(()=>T,":first-child"),g=i.insert(()=>b,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{let y=SRe(0,0,p,h,d,f);g=i.insert("path",":first-child").attr("d",y).attr("class","basic label-container").attr("style",Cn(m)).attr("style",n),g.attr("class","basic label-container"),m&&g.selectAll("path").attr("style",m),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-p/2}, ${h/2} )`),s.attr("transform",`translate(${-(a.width/2)-d-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Qe(e,g),e.intersect=function(y){let v=Xe.rect(e,y),x=v.y-(e.y??0);if(f!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-d)){let b=d*d*(1-x*x/(f*f));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,y.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},i}var SRe,CRe,ARe,cte=M(()=>{"use strict";It();$t();Ht();Ut();tr();SRe=o((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"),CRe=o((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"),ARe=o((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD");o(lte,"tiltedCylinder")});async function ute(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-3*l/6,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ze.svg(i),p=Je(e,{}),m=Vt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Bs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Qe(e,h),e.intersect=function(d){return Xe.polygon(e,u,d)},i}var hte=M(()=>{"use strict";It();Ut();$t();Ht();Jh();o(ute,"trapezoid")});async function fte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=60,l=20,u=Math.max(s,a.width+(e.padding??0)*2,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),{cssStyles:f}=e,d=Ze.svg(i),p=Je(e,{});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let m=[{x:-u/2*.8,y:-h/2},{x:u/2*.8,y:-h/2},{x:u/2,y:-h/2*.6},{x:u/2,y:h/2},{x:-u/2,y:h/2},{x:-u/2,y:-h/2*.6}],g=Vt(m),y=d.path(g,p),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),Qe(e,v),e.intersect=function(x){return Xe.polygon(e,m,x)},i}var dte=M(()=>{"use strict";It();Ut();$t();Ht();o(fte,"trapezoidalPentagon")});async function pte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=vr(ge().flowchart?.htmlLabels),u=a.width+(e.padding??0),h=u+a.height,f=u+a.height,d=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-h}],{cssStyles:p}=e,m=Ze.svg(i),g=Je(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=Vt(d),v=m.path(y,g),x=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`);return p&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),e.width=u,e.height=h,Qe(e,x),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${h/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(b){return X.info("Triangle intersect",e,d,b),Xe.polygon(e,d,b)},i}var mte=M(()=>{"use strict";pt();It();Ut();$t();Ht();It();gr();Xt();o(pte,"triangle")});async function gte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/8,f=u+h,{cssStyles:d}=e,m=70-l,g=m>0?m/2:0,y=Ze.svg(i),v=Je(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:-l/2-g,y:f/2},...Go(-l/2-g,f/2,l/2+g,f/2,h,.8),{x:l/2+g,y:-f/2},{x:-l/2-g,y:-f/2}],b=Vt(x),T=y.path(b,v),S=i.insert(()=>T,":first-child");return S.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",n),S.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h-(a.y-(a.top??0))})`),Qe(e,S),e.intersect=function(w){return Xe.polygon(e,x,w)},i}var yte=M(()=>{"use strict";It();Ut();Ht();$t();o(gte,"waveEdgedRectangle")});async function vte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ut(t,e,st(e)),s=100,l=50,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=u/h,d=u,p=h;d>p*f?p=d/f:d=p*f,d=Math.max(d,s),p=Math.max(p,l);let m=Math.min(p*.2,p/4),g=p+m*2,{cssStyles:y}=e,v=Ze.svg(i),x=Je(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let b=[{x:-d/2,y:g/2},...Go(-d/2,g/2,d/2,g/2,m,1),{x:d/2,y:-g/2},...Go(d/2,-g/2,-d/2,-g/2,m,-1)],T=Vt(b),S=v.path(T,x),w=i.insert(()=>S,":first-child");return w.attr("class","basic label-container"),y&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),Qe(e,w),e.intersect=function(k){return Xe.polygon(e,b,k)},i}var xte=M(()=>{"use strict";It();Ut();$t();Ht();o(vte,"waveRectangle")});async function bte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ut(t,e,st(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Ze.svg(i),g=Je(e,{}),y=[{x:f-h,y:d-h},{x:f-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d-h}],v=`M${f-h},${d-h} L${f+l},${d-h} L${f+l},${d+u} L${f-h},${d+u} L${f-h},${d-h} + M${f-h},${d} L${f+l},${d} + M${f},${d-h} L${f},${d+u}`;e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("transform",`translate(${h/2}, ${h/2})`),b.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)+h/2-(a.x-(a.left??0))}, ${-(a.height/2)+h/2-(a.y-(a.top??0))})`),Qe(e,b),e.intersect=function(T){return Xe.polygon(e,y,T)},i}var Tte=M(()=>{"use strict";It();$t();Ht();Ut();o(bte,"windowPane")});async function H9(t,e){let r=e;if(r.alias&&(e.label=r.alias),e.look==="handDrawn"){let{themeVariables:U}=Qt(),{background:j}=U,ee={...e,id:e.id+"-background",look:"default",cssStyles:["stroke: none",`fill: ${j}`]};await H9(t,ee)}let n=Qt();e.useHtmlLabels=n.htmlLabels;let i=n.er?.diagramPadding??10,a=n.er?.entityPadding??6,{cssStyles:s}=e,{labelStyles:l,nodeStyles:u}=je(e);if(r.attributes.length===0&&e.label){let U={rx:0,ry:0,labelPaddingX:i,labelPaddingY:i*1.5,classes:""};Zi(e.label,n)+U.labelPaddingX*20){let U=d.width+i*2-(y+v+x+b);y+=U/w,v+=U/w,x>0&&(x+=U/w),b>0&&(b+=U/w)}let C=y+v+x+b,A=Ze.svg(f),L=Je(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");let I=0;g.length>0&&(I=g.reduce((U,j)=>U+(j?.rowHeight??0),0));let R=Math.max(k.width+i*2,e?.width||0,C),E=Math.max((I??0)+d.height,e?.height||0),_=-R/2,D=-E/2;f.selectAll("g:not(:first-child)").each((U,j,ee)=>{let q=qe(ee[j]),oe=q.attr("transform"),Q=0,ue=0;if(oe){let re=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(oe);re&&(Q=parseFloat(re[1]),ue=parseFloat(re[2]),q.attr("class").includes("attribute-name")?Q+=y:q.attr("class").includes("attribute-keys")?Q+=y+v:q.attr("class").includes("attribute-comment")&&(Q+=y+v+x))}q.attr("transform",`translate(${_+i/2+Q}, ${ue+D+d.height+a/2})`)}),f.select(".name").attr("transform","translate("+-d.width/2+", "+(D+a/2)+")");let O=A.rectangle(_,D,R,E,L),N=f.insert(()=>O,":first-child").attr("style",s.join("")),{themeVariables:P}=Qt(),{rowEven:B,rowOdd:F,nodeBorder:V}=P;m.push(0);for(let[U,j]of g.entries()){let q=(U+1)%2===0&&j.yOffset!==0,oe=A.rectangle(_,d.height+D+j?.yOffset,R,j?.rowHeight,{...L,fill:q?B:F,stroke:V});f.insert(()=>oe,"g.label").attr("style",s.join("")).attr("class",`row-rect-${q?"even":"odd"}`)}let $=A.line(_,d.height+D,R+_,d.height+D,L);f.insert(()=>$).attr("class","divider"),$=A.line(y+_,d.height+D,y+_,E+D,L),f.insert(()=>$).attr("class","divider"),T&&($=A.line(y+v+_,d.height+D,y+v+_,E+D,L),f.insert(()=>$).attr("class","divider")),S&&($=A.line(y+v+x+_,d.height+D,y+v+x+_,E+D,L),f.insert(()=>$).attr("class","divider"));for(let U of m)$=A.line(_,d.height+D+U,R+_,d.height+D+U,L),f.insert(()=>$).attr("class","divider");if(Qe(e,N),u&&e.look!=="handDrawn"){let j=u.split(";")?.filter(ee=>ee.includes("stroke"))?.map(ee=>`${ee}`).join("; ");f.selectAll("path").attr("style",j??""),f.selectAll(".row-rect-even path").attr("style",u)}return e.intersect=function(U){return Xe.rect(e,U)},f}async function O2(t,e,r,n=0,i=0,a=[],s=""){let l=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==rc(e)&&(e=rc(e),e=e.replaceAll("<","<").replaceAll(">",">"));let u=l.node().appendChild(await di(l,e,{width:Zi(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let f=u.children[0];for(f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">");f.childNodes[0];)f=f.childNodes[0],f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">")}let h=u.getBBox();if(vr(r.htmlLabels)){let f=u.children[0];f.style.textAlign="start";let d=qe(u);h=f.getBoundingClientRect(),d.attr("width",h.width),d.attr("height",h.height)}return h}var wte=M(()=>{"use strict";It();Ut();$t();Ht();I2();qn();zo();gr();yr();tr();o(H9,"erBox");o(O2,"addText")});async function kte(t,e,r,n,i=r.class.padding??12){let a=n?0:3,s=t.insert("g").attr("class",st(e)).attr("id",e.domId||e.id),l=null,u=null,h=null,f=null,d=0,p=0,m=0;if(l=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await lw(l,{text:`\xAB${b}\xBB`},0),d=l.node().getBBox().height}u=s.insert("g").attr("class","label-group text"),await lw(u,e,0,["font-weight: bolder"]);let g=u.node().getBBox();p=g.height,h=s.insert("g").attr("class","members-group text");let y=0;for(let b of e.members){let T=await lw(h,b,y,[b.parseClassifier()]);y+=T+a}m=h.node().getBBox().height,m<=0&&(m=i/2),f=s.insert("g").attr("class","methods-group text");let v=0;for(let b of e.methods){let T=await lw(f,b,v,[b.parseClassifier()]);v+=T+a}let x=s.node().getBBox();if(l!==null){let b=l.node().getBBox();l.attr("transform",`translate(${-b.width/2})`)}return u.attr("transform",`translate(${-g.width/2}, ${d})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+p+i*2})`),x=s.node().getBBox(),f.attr("transform",`translate(0, ${d+p+(m?m+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}async function lw(t,e,r,n=[]){let i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=Qt(),s="useHtmlLabels"in e?e.useHtmlLabels:vr(a.htmlLabels)??!0,l="";"text"in e?l=e.text:l=e.label,!s&&l.startsWith("\\")&&(l=l.substring(1)),kn(l)&&(s=!0);let u=await di(i,av(Ji(l)),{width:Zi(l,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),h,f=1;if(s){let d=u.children[0],p=qe(u);f=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(f+=d.innerHTML.split("").length-1);let m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,S=parseInt(b,10)*5+"px";y.style.minWidth=S,y.style.maxWidth=S}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}else{n.includes("font-weight: bolder")&&qe(u).selectAll("tspan").attr("font-weight",""),f=u.children.length;let d=u.children[0];(u.textContent===""||u.textContent.includes(">"))&&(d.textContent=l[0]+l.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),l[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),h=u.getBBox()}return i.attr("transform","translate(0,"+(-h.height/(2*f)+r)+")"),h.height}var Ete=M(()=>{"use strict";yr();qn();It();tr();Xt();zo();gr();o(kte,"textHelper");o(lw,"addText")});async function Ste(t,e){let r=ge(),n=r.class.padding??12,i=n,a=e.useHtmlLabels??vr(r.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:l,bbox:u}=await kte(t,e,r,a,i),{labelStyles:h,nodeStyles:f}=je(e);e.labelStyle=h,e.cssStyles=s.styles||"";let d=s.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=d.replaceAll("!important","").split(";"));let p=s.members.length===0&&s.methods.length===0&&!r.class?.hideEmptyMembersBox,m=Ze.svg(l),g=Je(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=u.width,v=u.height;s.members.length===0&&s.methods.length===0?v+=i:s.members.length>0&&s.methods.length===0&&(v+=i*2);let x=-y/2,b=-v/2,T=m.rectangle(x-n,b-n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0),y+2*n,v+2*n+(p?n*2:s.members.length===0&&s.methods.length===0?-n:0),g),S=l.insert(()=>T,":first-child");S.attr("class","basic label-container");let w=S.node().getBBox();l.selectAll(".text").each((L,I,R)=>{let E=qe(R[I]),_=E.attr("transform"),D=0;if(_){let B=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(_);B&&(D=parseFloat(B[2]))}let O=D+b+n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0);a||(O-=4);let N=x;(E.attr("class").includes("label-group")||E.attr("class").includes("annotation-group"))&&(N=-E.node()?.getBBox().width/2||0,l.selectAll("text").each(function(P,B,F){window.getComputedStyle(F[B]).textAnchor==="middle"&&(N=0)})),E.attr("transform",`translate(${N}, ${O})`)});let k=l.select(".annotation-group").node().getBBox().height-(p?n/2:0)||0,C=l.select(".label-group").node().getBBox().height-(p?n/2:0)||0,A=l.select(".members-group").node().getBBox().height-(p?n/2:0)||0;if(s.members.length>0||s.methods.length>0||p){let L=m.line(w.x,k+C+b+n,w.x+w.width,k+C+b+n,g);l.insert(()=>L).attr("class","divider").attr("style",d)}if(p||s.members.length>0||s.methods.length>0){let L=m.line(w.x,k+C+A+b+i*2+n,w.x+w.width,k+C+A+b+n+i*2,g);l.insert(()=>L).attr("class","divider").attr("style",d)}if(s.look!=="handDrawn"&&l.selectAll("path").attr("style",d),S.select(":nth-child(2)").attr("style",d),l.selectAll(".divider").select("path").attr("style",d),e.labelStyle?l.selectAll("span").attr("style",e.labelStyle):l.selectAll("span").attr("style",d),!a){let L=RegExp(/color\s*:\s*([^;]*)/),I=L.exec(d);if(I){let R=I[0].replace("color","fill");l.selectAll("tspan").attr("style",R)}else if(h){let R=L.exec(h);if(R){let E=R[0].replace("color","fill");l.selectAll("tspan").attr("style",E)}}}return Qe(e,S),e.intersect=function(L){return Xe.rect(e,L)},l}var Cte=M(()=>{"use strict";It();Xt();yr();Ht();$t();Ut();Ete();gr();o(Ste,"classBox")});async function Ate(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let i=e,a=e,s=20,l=20,u="verifyMethod"in e,h=st(e),f=t.insert("g").attr("class",h).attr("id",e.domId??e.id),d;u?d=await Ou(f,`<<${i.type}>>`,0,e.labelStyle):d=await Ou(f,"<<Element>>",0,e.labelStyle);let p=d,m=await Ou(f,i.name,p,e.labelStyle+"; font-weight: bold;");if(p+=m+l,u){let k=await Ou(f,`${i.requirementId?`ID: ${i.requirementId}`:""}`,p,e.labelStyle);p+=k;let C=await Ou(f,`${i.text?`Text: ${i.text}`:""}`,p,e.labelStyle);p+=C;let A=await Ou(f,`${i.risk?`Risk: ${i.risk}`:""}`,p,e.labelStyle);p+=A,await Ou(f,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,p,e.labelStyle)}else{let k=await Ou(f,`${a.type?`Type: ${a.type}`:""}`,p,e.labelStyle);p+=k,await Ou(f,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,p,e.labelStyle)}let g=(f.node()?.getBBox().width??200)+s,y=(f.node()?.getBBox().height??200)+s,v=-g/2,x=-y/2,b=Ze.svg(f),T=Je(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let S=b.rectangle(v,x,g,y,T),w=f.insert(()=>S,":first-child");if(w.attr("class","basic label-container").attr("style",n),f.selectAll(".label").each((k,C,A)=>{let L=qe(A[C]),I=L.attr("transform"),R=0,E=0;if(I){let N=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(I);N&&(R=parseFloat(N[1]),E=parseFloat(N[2]))}let _=E-y/2,D=v+s/2;(C===0||C===1)&&(D=R),L.attr("transform",`translate(${D}, ${_+s})`)}),p>d+m+l){let k=b.line(v,x+d+m+l,v+g,x+d+m+l,T);f.insert(()=>k).attr("style",n)}return Qe(e,w),e.intersect=function(k){return Xe.rect(e,k)},f}async function Ou(t,e,r,n=""){if(e==="")return 0;let i=t.insert("g").attr("class","label").attr("style",n),a=ge(),s=a.htmlLabels??!0,l=await di(i,av(Ji(e)),{width:Zi(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a),u;if(s){let h=l.children[0],f=qe(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{let h=l.children[0];for(let f of h.children)f.textContent=f.textContent.replaceAll(">",">").replaceAll("<","<"),n&&f.setAttribute("style",n);u=l.getBBox(),u.height+=6}return i.attr("transform",`translate(${-u.width/2},${-u.height/2+r})`),u.height}var _te=M(()=>{"use strict";It();Ut();$t();Ht();tr();Xt();zo();yr();o(Ate,"requirementBox");o(Ou,"addText")});async function Dte(t,e,{config:r}){let{labelStyles:n,nodeStyles:i}=je(e);e.labelStyle=n||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:l,bbox:u,label:h}=await ut(t,e,st(e)),f=e.padding||10,d="",p;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),p=l.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));let m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,y;p?{label:g,bbox:y}=await XT(p,"ticket"in e&&e.ticket||"",m):{label:g,bbox:y}=await XT(l,"ticket"in e&&e.ticket||"",m);let{label:v,bbox:x}=await XT(l,"assigned"in e&&e.assigned||"",m);e.width=s;let b=10,T=e?.width||0,S=Math.max(y.height,x.height)/2,w=Math.max(u.height+b*2,e?.height||0)+S,k=-T/2,C=-w/2;h.attr("transform","translate("+(f-T/2)+", "+(-S-u.height/2)+")"),g.attr("transform","translate("+(f-T/2)+", "+(-S+u.height/2)+")"),v.attr("transform","translate("+(f+T/2-x.width-2*a)+", "+(-S+u.height/2)+")");let A,{rx:L,ry:I}=e,{cssStyles:R}=e;if(e.look==="handDrawn"){let E=Ze.svg(l),_=Je(e,{}),D=L||I?E.path(Fs(k,C,T,w,L||0),_):E.rectangle(k,C,T,w,_);A=l.insert(()=>D,":first-child"),A.attr("class","basic label-container").attr("style",R||null)}else{A=l.insert("rect",":first-child"),A.attr("class","basic label-container __APA__").attr("style",i).attr("rx",L??5).attr("ry",I??5).attr("x",k).attr("y",C).attr("width",T).attr("height",w);let E="priority"in e&&e.priority;if(E){let _=l.append("line"),D=k+2,O=C+Math.floor((L??0)/2),N=C+w-Math.floor((L??0)/2);_.attr("x1",D).attr("y1",O).attr("x2",D).attr("y2",N).attr("stroke-width","4").attr("stroke",_Re(E))}}return Qe(e,A),e.height=w,e.intersect=function(E){return Xe.rect(e,E)},l}var _Re,Lte=M(()=>{"use strict";It();Ut();Zd();$t();Ht();_Re=o(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");o(Dte,"kanbanItem")});async function Rte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ut(t,e,st(e)),u=a.width+10*s,h=a.height+8*s,f=.15*u,{cssStyles:d}=e,p=a.width+20,m=a.height+20,g=Math.max(u,p),y=Math.max(h,m);l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let v,x=`M0 0 + a${f},${f} 1 0,0 ${g*.25},${-1*y*.1} + a${f},${f} 1 0,0 ${g*.25},0 + a${f},${f} 1 0,0 ${g*.25},0 + a${f},${f} 1 0,0 ${g*.25},${y*.1} + + a${f},${f} 1 0,0 ${g*.15},${y*.33} + a${f*.8},${f*.8} 1 0,0 0,${y*.34} + a${f},${f} 1 0,0 ${-1*g*.15},${y*.33} + + a${f},${f} 1 0,0 ${-1*g*.25},${y*.15} + a${f},${f} 1 0,0 ${-1*g*.25},0 + a${f},${f} 1 0,0 ${-1*g*.25},0 + a${f},${f} 1 0,0 ${-1*g*.25},${-1*y*.15} + + a${f},${f} 1 0,0 ${-1*g*.1},${-1*y*.33} + a${f*.8},${f*.8} 1 0,0 0,${-1*y*.34} + a${f},${f} 1 0,0 ${g*.1},${-1*y*.33} + H0 V0 Z`;if(e.look==="handDrawn"){let b=Ze.svg(i),T=Je(e,{}),S=b.path(x,T);v=i.insert(()=>S,":first-child"),v.attr("class","basic label-container").attr("style",Cn(d))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return v.attr("transform",`translate(${-g/2}, ${-y/2})`),Qe(e,v),e.calcIntersect=function(b,T){return Xe.rect(b,T)},e.intersect=function(b){return X.info("Bang intersect",e,b),Xe.rect(e,b)},i}var Nte=M(()=>{"use strict";pt();It();Ut();$t();Ht();tr();o(Rte,"bang")});async function Mte(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ut(t,e,st(e)),u=a.width+2*s,h=a.height+2*s,f=.15*u,d=.25*u,p=.35*u,m=.2*u,{cssStyles:g}=e,y,v=`M0 0 + a${f},${f} 0 0,1 ${u*.25},${-1*u*.1} + a${p},${p} 1 0,1 ${u*.4},${-1*u*.1} + a${d},${d} 1 0,1 ${u*.35},${u*.2} + + a${f},${f} 1 0,1 ${u*.15},${h*.35} + a${m},${m} 1 0,1 ${-1*u*.15},${h*.65} + + a${d},${f} 1 0,1 ${-1*u*.25},${u*.15} + a${p},${p} 1 0,1 ${-1*u*.5},0 + a${f},${f} 1 0,1 ${-1*u*.25},${-1*u*.15} + + a${f},${f} 1 0,1 ${-1*u*.1},${-1*h*.35} + a${m},${m} 1 0,1 ${u*.1},${-1*h*.65} + H0 V0 Z`;if(e.look==="handDrawn"){let x=Ze.svg(i),b=Je(e,{}),T=x.path(v,b);y=i.insert(()=>T,":first-child"),y.attr("class","basic label-container").attr("style",Cn(g))}else y=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",v);return l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),y.attr("transform",`translate(${-u/2}, ${-h/2})`),Qe(e,y),e.calcIntersect=function(x,b){return Xe.rect(x,b)},e.intersect=function(x){return X.info("Cloud intersect",e,x),Xe.rect(e,x)},i}var Ite=M(()=>{"use strict";Ht();pt();tr();Ut();$t();It();o(Mte,"cloud")});async function Ote(t,e){let{labelStyles:r,nodeStyles:n}=je(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ut(t,e,st(e)),u=a.width+8*s,h=a.height+2*s,f=5,d=` + M${-u/2} ${h/2-f} + v${-h+2*f} + q0,-${f} ${f},-${f} + h${u-2*f} + q${f},0 ${f},${f} + v${h-2*f} + q0,${f} -${f},${f} + h${-u+2*f} + q-${f},0 -${f},-${f} + Z + `,p=i.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-u/2).attr("y1",h/2).attr("x2",u/2).attr("y2",h/2),l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>l.node()),Qe(e,p),e.calcIntersect=function(m,g){return Xe.rect(m,g)},e.intersect=function(m){return Xe.rect(e,m)},i}var Pte=M(()=>{"use strict";Ut();$t();It();o(Ote,"defaultMindmapNode")});async function Bte(t,e){let r={padding:e.padding??0};return aw(t,e,r)}var Fte=M(()=>{"use strict";U9();o(Bte,"mindmapCircle")});function $te(t){return t in q9}var DRe,LRe,q9,W9=M(()=>{"use strict";bJ();kJ();SJ();AJ();U9();DJ();RJ();MJ();OJ();BJ();$J();GJ();UJ();qJ();YJ();jJ();QJ();JJ();tee();nee();aee();oee();cee();hee();dee();mee();yee();xee();Tee();kee();See();Aee();Dee();Ree();Mee();Oee();Bee();$ee();Gee();Uee();qee();Yee();jee();Qee();Jee();tte();nte();ate();ote();cte();hte();dte();mte();yte();xte();Tte();wte();Cte();_te();Lte();Nte();Ite();Pte();Fte();DRe=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:Hee},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:Fee},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:Wee},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:ete},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:FJ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:aw},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:Rte},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:Mte},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:Nee},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:ZJ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:vee},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:gee},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:ute},{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:fee},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:VJ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:ste},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:EJ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:zee},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:Zee},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:Kee},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:XJ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:eee},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:LJ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:NJ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:IJ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:bee},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:gte},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:KJ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:lte},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:wee},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:PJ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:zJ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:pte},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:bte},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:HJ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:fte},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:WJ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:Vee},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:_ee},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:Cee},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:wJ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:_J},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:ite},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:rte},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:vte},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:Iee},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:Eee}],LRe=o(()=>{let e=[...Object.entries({state:Xee,choice:CJ,note:Lee,rectWithTitle:Pee,labelRect:pee,iconSquare:lee,iconCircle:iee,icon:ree,iconRounded:see,imageSquare:uee,anchor:xJ,kanbanItem:Dte,mindmapCircle:Bte,defaultMindmapNode:Ote,classBox:Ste,erBox:H9,requirementBox:Ate}),...DRe.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),q9=LRe();o($te,"isValidShape")});var RRe,cw,zte=M(()=>{"use strict";yr();k2();Xt();pt();W9();tr();gr();ci();RRe="flowchart-",cw=class{constructor(){this.vertexCounter=0;this.config=ge();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=Rr;this.setAccDescription=Ir;this.setDiagramTitle=$r;this.getAccTitle=Mr;this.getAccDescription=Or;this.getDiagramTitle=Pr;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")}static{o(this,"FlowDB")}sanitizeText(e){return tt.sanitizeText(e,this.config)}lookUpDomId(e){for(let r of this.vertices.values())if(r.id===e)return r.domId;return e}addVertex(e,r,n,i,a,s,l={},u){if(!e||e.trim().length===0)return;let h;if(u!==void 0){let m;u.includes(` +`)?m=u+` +`:m=`{ +`+u+` +}`,h=Kh(m,{schema:jh})}let f=this.edges.find(m=>m.id===e);if(f){let m=h;m?.animate!==void 0&&(f.animate=m.animate),m?.animation!==void 0&&(f.animation=m.animation),m?.curve!==void 0&&(f.interpolate=m.curve);return}let d,p=this.vertices.get(e);if(p===void 0&&(p={id:e,labelType:"text",domId:RRe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,p)),this.vertexCounter++,r!==void 0?(this.config=ge(),d=this.sanitizeText(r.text.trim()),p.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),p.text=d):p.text===void 0&&(p.text=e),n!==void 0&&(p.type=n),i?.forEach(m=>{p.styles.push(m)}),a?.forEach(m=>{p.classes.push(m)}),s!==void 0&&(p.dir=s),p.props===void 0?p.props=l:l!==void 0&&Object.assign(p.props,l),h!==void 0){if(h.shape){if(h.shape!==h.shape.toLowerCase()||h.shape.includes("_"))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);if(!$te(h.shape))throw new Error(`No such shape: ${h.shape}.`);p.type=h?.shape}h?.label&&(p.text=h?.label),h?.icon&&(p.icon=h?.icon,!h.label?.trim()&&p.text===e&&(p.text="")),h?.form&&(p.form=h?.form),h?.pos&&(p.pos=h?.pos),h?.img&&(p.img=h?.img,!h.label?.trim()&&p.text===e&&(p.text="")),h?.constraint&&(p.constraint=h.constraint),h.w&&(p.assetWidth=Number(h.w)),h.h&&(p.assetHeight=Number(h.h))}}addSingleLink(e,r,n,i){let l={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};X.info("abc78 Got edge...",l);let u=n.text;if(u!==void 0&&(l.text=this.sanitizeText(u.text.trim()),l.text.startsWith('"')&&l.text.endsWith('"')&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=u.type),n!==void 0&&(l.type=n.type,l.stroke=n.stroke,l.length=n.length>10?10:n.length),i&&!this.edges.some(h=>h.id===i))l.id=i,l.isUserDefinedId=!0;else{let h=this.edges.filter(f=>f.start===l.start&&f.end===l.end);h.length===0?l.id=xc(l.start,l.end,{counter:0,prefix:"L"}):l.id=xc(l.start,l.end,{counter:h.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))X.info("Pushing edge..."),this.edges.push(l);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){let i=this.isLinkData(n)?n.id.replace("@",""):void 0;X.info("addLink",e,r,i);for(let a of e)for(let s of r){let l=a===e[e.length-1],u=s===r[0];l&&u?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=>{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,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){let n=r.join().replace(/\\,/g,"\xA7\xA7\xA7").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?.forEach(s=>{if(/color/.exec(s)){let l=s.replace("fill","bgFill");a.textStyles.push(l)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(let n of e.split(",")){let i=this.vertices.get(n);i&&i.classes.push(r);let a=this.edges.find(l=>l.id===n);a&&a.classes.push(r);let s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(let n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){let i=this.lookUpDomId(e);if(ge().securityLevel!=="loose"||r===void 0)return;let a=[];if(typeof n=="string"){a=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{let l=document.querySelector(`[id="${i}"]`);l!==null&&l.addEventListener("click",()=>{qt.runFunc(r,...a)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{let a=this.vertices.get(i);a!==void 0&&(a.link=qt.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(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let r=qe(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=qe("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),qe(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=qe(a.currentTarget);if(s.attr("title")===null)return;let u=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),r.html(r.html().replace(/<br\/>/g,"
    ")),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),qe(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.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=ge(),Sr()}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);let l=o(p=>{let m={boolean:{},number:{},string:{}},g=[],y;return{nodeList:p.filter(function(x){let b=typeof x;return x.stmt&&x.stmt==="dir"?(y=x.value,!1):x.trim()===""?!1:b in m?m[b].hasOwnProperty(x)?!1:m[b][x]=!0:g.includes(x)?!1:g.push(x)}),dir:y}},"uniq")(r.flat()),u=l.nodeList,h=l.dir,f=ge().flowchart??{};if(h=h??(f.inheritDir?this.getDirection()??ge().direction??void 0:void 0),this.version==="gen-1")for(let p=0;p2e3)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=0){let l=this.indexNodes2(e,s);if(l.result)return{result:!0,count:a+l.count};a=a+l.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){let n=r.length,i=0;for(let a=0;a":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");let l=this.countChar(".",n);return l&&(a="dotted",s=l),{type:i,stroke:a,length:s}}destructLink(e,r){let n=this.destructEndLink(e),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(let n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){let 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){let l=n.get(e.id),u=i.get(e.id)??!1,h=this.findNode(r,e.id);if(h)h.cssStyles=e.styles,h.cssCompiledStyles=this.getCompiledStyles(e.classes),h.cssClasses=e.classes.join(" ");else{let f={id:e.id,label:e.text,labelStyle:"",parentId:l,padding:a.flowchart?.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};u?r.push({...f,isGroup:!0,shape:"rect"}):r.push({...f,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){let e=ge(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let h=i.length-1;h>=0;h--){let f=i[h];f.nodes.length>0&&s.set(f.id,!0);for(let d of f.nodes)a.set(d,f.id)}for(let h=i.length-1;h>=0;h--){let f=i[h];r.push({id:f.id,label:f.title,labelStyle:"",parentId:a.get(f.id),padding:8,cssCompiledStyles:this.getCompiledStyles(f.classes),cssClasses:f.classes.join(" "),shape:"rect",dir:f.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(h=>{this.addNodeFromVertex(h,r,a,s,e,e.look||"classic")});let u=this.getEdges();return u.forEach((h,f)=>{let{arrowTypeStart:d,arrowTypeEnd:p}=this.destructEdgeType(h.type),m=[...u.defaultStyle??[]];h.style&&m.push(...h.style);let g={id:xc(h.start,h.end,{counter:f,prefix:"L"},h.id),isUserDefinedId:h.isUserDefinedId,start:h.start,end:h.end,type:h.type??"normal",label:h.text,labelpos:"c",thickness:h.stroke,minlen:h.length,classes:h?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":d,arrowTypeEnd:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":p,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(h.classes),labelStyle:m,style:m,pattern:h.stroke,look:e.look,animate:h.animate,animation:h.animation,curve:h.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(g)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return V3.flowchart}}});var Vo,ep=M(()=>{"use strict";yr();Vo=o((t,e)=>{let r;return e==="sandbox"&&(r=qe("#i"+t)),(e==="sandbox"?qe(r.nodes()[0].contentDocument.body):qe("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Pu,P2=M(()=>{"use strict";Pu=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});var Gte,NRe,MRe,IRe,ORe,PRe,BRe,Vte,Sm,Ute,uw=M(()=>{"use strict";Xt();gr();pt();P2();yr();Ht();zo();S9();sw();Zd();$t();Gte=o(async(t,e)=>{X.info("Creating subgraph rect for ",e.id,e);let r=ge(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=je(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=vr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await di(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(vr(r.flowchart.htmlLabels)){let C=g.children[0],A=qe(g);y=C.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;X.trace("Data ",e,JSON.stringify(e));let S;if(e.look==="handDrawn"){let C=Ze.svg(d),A=Je(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),L=C.path(Fs(b,T,v,x,0),A);S=d.insert(()=>(X.debug("Rough node insert CXC",L),L),":first-child"),S.select("path:nth-child(2)").attr("style",h.join(";")),S.select("path").attr("style",f.join(";").replace("fill","stroke"))}else S=d.insert("rect",":first-child"),S.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Pu(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let C=m.select("span");C&&C.attr("style",l)}let k=S.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(C){return Qh(e,C)},{cluster:d,labelBBox:y}},"rect"),NRe=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),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");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Qh(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),MRe=o(async(t,e)=>{let r=ge(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=d.node().appendChild(await kc(e.label,e.labelStyle,void 0,!0)),g=m.getBBox();if(vr(r.flowchart.htmlLabels)){let L=m.children[0],I=qe(m);g=L.getBoundingClientRect(),I.attr("width",g.width),I.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,T=e.height+y-g.height-6,S=e.x-x/2,w=e.y-b/2;e.width=x;let k=e.y-e.height/2-v+g.height+2,C;if(e.look==="handDrawn"){let L=e.cssClasses.includes("statediagram-cluster-alt"),I=Ze.svg(h),R=e.rx||e.ry?I.path(Fs(S,w,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):I.rectangle(S,w,x,b,{seed:i});C=h.insert(()=>R,":first-child");let E=I.rectangle(S,k,x,T,{fill:L?a:s,fillStyle:L?"hachure":"solid",stroke:u,seed:i});C=h.insert(()=>R,":first-child"),p=h.insert(()=>E)}else C=f.insert("rect",":first-child"),C.attr("class","outer").attr("x",S).attr("y",w).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",S).attr("y",k).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-g.width/2}, ${w+1-(vr(r.flowchart.htmlLabels)?0:3)})`);let A=C.node().getBBox();return e.height=A.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(L){return Qh(e,L)},{cluster:h,labelBBox:g}},"roundedWithTitle"),IRe=o(async(t,e)=>{X.info("Creating subgraph rect for ",e.id,e);let r=ge(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=je(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=vr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await di(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}),y=g.getBBox();if(vr(r.flowchart.htmlLabels)){let C=g.children[0],A=qe(g);y=C.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;X.trace("Data ",e,JSON.stringify(e));let S;if(e.look==="handDrawn"){let C=Ze.svg(d),A=Je(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),L=C.path(Fs(b,T,v,x,e.rx),A);S=d.insert(()=>(X.debug("Rough node insert CXC",L),L),":first-child"),S.select("path:nth-child(2)").attr("style",h.join(";")),S.select("path").attr("style",f.join(";").replace("fill","stroke"))}else S=d.insert("rect",":first-child"),S.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Pu(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let C=m.select("span");C&&C.attr("style",l)}let k=S.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(C){return Qh(e,C)},{cluster:d,labelBBox:y}},"kanbanSection"),ORe=o((t,e)=>{let r=ge(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Ze.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=s.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return Qh(e,y)},{cluster:s,labelBBox:{}}},"divider"),PRe=Gte,BRe={rect:Gte,squareRect:PRe,roundedWithTitle:MRe,noteGroup:NRe,divider:ORe,kanbanSection:IRe},Vte=new Map,Sm=o(async(t,e)=>{let r=e.shape||"rect",n=await BRe[r](t,e);return Vte.set(e.id,n),n},"insertCluster"),Ute=o(()=>{Vte=new Map},"clear")});function hw(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Xn(t),e=Xn(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var da,Y9,Xn,fw,X9=M(()=>{"use strict";da={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4},Y9={arrow_point:9,arrow_cross:12.5,arrow_circle:12.5};o(hw,"calculateDeltaAndAngle");Xn=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),fw=o(t=>({x:o(function(e,r,n){let i=0,a=Xn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(da,t.arrowTypeEnd)){let{angle:m,deltaX:g}=hw(n[n.length-1],n[n.length-2]);i=da[t.arrowTypeEnd]*Math.cos(m)*(g>=0?1:-1)}let s=Math.abs(Xn(e).x-Xn(n[n.length-1]).x),l=Math.abs(Xn(e).y-Xn(n[n.length-1]).y),u=Math.abs(Xn(e).x-Xn(n[0]).x),h=Math.abs(Xn(e).y-Xn(n[0]).y),f=da[t.arrowTypeStart],d=da[t.arrowTypeEnd],p=1;if(s0&&l0&&h=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(da,t.arrowTypeEnd)){let{angle:m,deltaY:g}=hw(n[n.length-1],n[n.length-2]);i=da[t.arrowTypeEnd]*Math.abs(Math.sin(m))*(g>=0?1:-1)}let s=Math.abs(Xn(e).y-Xn(n[n.length-1]).y),l=Math.abs(Xn(e).x-Xn(n[n.length-1]).x),u=Math.abs(Xn(e).y-Xn(n[0]).y),h=Math.abs(Xn(e).x-Xn(n[0]).x),f=da[t.arrowTypeStart],d=da[t.arrowTypeEnd],p=1;if(s0&&l0&&h{"use strict";pt();qte=o((t,e,r,n,i,a)=>{e.arrowTypeStart&&Hte(t,"start",e.arrowTypeStart,r,n,i,a),e.arrowTypeEnd&&Hte(t,"end",e.arrowTypeEnd,r,n,i,a)},"addEdgeMarkers"),FRe={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{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}},Hte=o((t,e,r,n,i,a,s)=>{let l=FRe[r];if(!l){X.warn(`Unknown arrow type: ${r}`);return}let u=l.type,f=`${i}_${a}-${u}${e==="start"?"Start":"End"}`;if(s&&s.trim()!==""){let d=s.replace(/[^\dA-Za-z]/g,"_"),p=`${f}_${d}`;if(!document.getElementById(p)){let m=document.getElementById(f);if(m){let g=m.cloneNode(!0);g.id=p,g.querySelectorAll("path, circle, line").forEach(v=>{v.setAttribute("stroke",s),l.fill&&v.setAttribute("fill",s)}),m.parentNode?.appendChild(g)}}t.attr(`marker-${e}`,`url(${n}#${p})`)}else t.attr(`marker-${e}`,`url(${n}#${f})`)},"addEdgeMarker")});function pw(t,e){ge().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function GRe(t){let e=[],r=[];for(let n=1;n5&&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}}function HRe(t,e){if(t.length<2)return"";let r="",n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&da[e.arrowTypeStart]){let i=da[e.arrowTypeStart],a=t[0],s=t[1],{angle:l}=jte(a,s),u=i*Math.cos(l),h=i*Math.sin(l);r[0].x=a.x+u,r[0].y=a.y+h}let n=t.length;if(n>=2&&da[e.arrowTypeEnd]){let i=da[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:l}=jte(s,a),u=i*Math.cos(l),h=i*Math.sin(l);r[n-1].x=a.x-u,r[n-1].y=a.y-h}return r}var mw,pa,Kte,dw,gw,yw,$Re,zRe,Yte,Xte,VRe,URe,vw,j9=M(()=>{"use strict";Xt();gr();pt();zo();tr();X9();P2();yr();Ht();sw();Wte();$t();mw=new Map,pa=new Map,Kte=o(()=>{mw.clear(),pa.clear()},"clear"),dw=o(t=>t?t.reduce((r,n)=>r+";"+n,""):"","getLabelStyles"),gw=o(async(t,e)=>{let r=vr(ge().flowchart.htmlLabels),{labelStyles:n}=je(e);e.labelStyle=n;let i=await di(t,e.label,{style:e.labelStyle,useHtmlLabels:r,addSvgBackground:!0,isNode:!1});X.info("abc82",e,e.labelType);let a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id);s.node().appendChild(i);let l=i.getBBox();if(r){let h=i.children[0],f=qe(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),mw.set(e.id,a),e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=await kc(e.startLabelLeft,dw(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),pa.get(e.id)||pa.set(e.id,{}),pa.get(e.id).startLeft=f,pw(u,e.startLabelLeft)}if(e.startLabelRight){let h=await kc(e.startLabelRight,dw(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),pa.get(e.id)||pa.set(e.id,{}),pa.get(e.id).startRight=f,pw(u,e.startLabelRight)}if(e.endLabelLeft){let h=await kc(e.endLabelLeft,dw(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),pa.get(e.id)||pa.set(e.id,{}),pa.get(e.id).endLeft=f,pw(u,e.endLabelLeft)}if(e.endLabelRight){let h=await kc(e.endLabelRight,dw(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),pa.get(e.id)||pa.set(e.id,{}),pa.get(e.id).endRight=f,pw(u,e.endLabelRight)}return i},"insertEdgeLabel");o(pw,"setTerminalWidth");yw=o((t,e)=>{X.debug("Moving label abc88 ",t.id,t.label,mw.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=ge(),{subGraphTitleTotalMargin:i}=Pu(n);if(t.label){let a=mw.get(t.id),s=t.x,l=t.y;if(r){let u=qt.calcLabelPosition(r);X.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=pa.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=qt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=pa.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=qt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=pa.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=qt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=pa.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=qt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),$Re=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),zRe=o((t,e,r)=>{X.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}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{X.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(X.info("abc88 checking point",a,e),!$Re(e,a)&&!i){let s=zRe(e,n,a);X.debug("abc88 inside",a,n,s),X.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?X.warn("abc88 no intersect",s,r):r.push(s),i=!0}else X.warn("abc88 outside",a,n),n=a,i||r.push(a)}),X.debug("returning points",r),r},"cutPathAtIntersect");o(GRe,"extractCornerPoints");Xte=o(function(t,e,r){let 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"),VRe=o(function(t){let{cornerPointPositions:e}=GRe(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){X.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else X.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),URe=o((t,e,r)=>{let n=t-e-r,i=2,a=2,s=i+a,l=Math.floor(n/s),u=Array(l).fill(`${i} ${a}`).join(" ");return`0 ${e} ${u} ${r}`},"generateDashArray"),vw=o(function(t,e,r,n,i,a,s,l=!1){let{handDrawnSeed:u}=ge(),h=e.points,f=!1,d=i;var p=a;let m=[];for(let D in e.cssCompiledStyles)D2(D)||m.push(e.cssCompiledStyles[D]);X.debug("UIO intersect check",e.points,p.x,d.x),p.intersect&&d.intersect&&!l&&(h=h.slice(1,e.points.length-1),h.unshift(d.intersect(h[0])),X.debug("Last point UIO",e.start,"-->",e.end,h[h.length-1],p,p.intersect(h[h.length-1])),h.push(p.intersect(h[h.length-1])));let g=btoa(JSON.stringify(h));e.toCluster&&(X.info("to cluster abc88",r.get(e.toCluster)),h=Yte(e.points,r.get(e.toCluster).node),f=!0),e.fromCluster&&(X.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(h,null,2)),h=Yte(h.reverse(),r.get(e.fromCluster).node).reverse(),f=!0);let y=h.filter(D=>!Number.isNaN(D.y));y=VRe(y);let v=No;switch(v=Cu,e.curve){case"linear":v=Cu;break;case"basis":v=No;break;case"cardinal":v=Xv;break;case"bumpX":v=Uv;break;case"bumpY":v=Hv;break;case"catmullRom":v=Qv;break;case"monotoneX":v=Zv;break;case"monotoneY":v=Jv;break;case"natural":v=J0;break;case"step":v=em;break;case"stepAfter":v=t2;break;case"stepBefore":v=e2;break;default:v=No}let{x,y:b}=fw(e),T=Cl().x(x).y(b).curve(v),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 w,k=e.curve==="rounded"?HRe(qRe(y,e),5):T(y),C=Array.isArray(e.style)?e.style:[e.style],A=C.find(D=>D?.startsWith("stroke:")),L=!1;if(e.look==="handDrawn"){let D=Ze.svg(t);Object.assign([],y);let O=D.path(k,{roughness:.3,seed:u});S+=" transition",w=qe(O).select("path").attr("id",e.id).attr("class"," "+S+(e.classes?" "+e.classes:"")).attr("style",C?C.reduce((P,B)=>P+";"+B,""):"");let N=w.attr("d");w.attr("d",N),t.node().appendChild(w.node())}else{let D=m.join(";"),O=C?C.reduce((U,j)=>U+j+";",""):"",N="";e.animate&&(N=" edge-animation-fast"),e.animation&&(N=" edge-animation-"+e.animation);let P=(D?D+";"+O+";":O)+";"+(C?C.reduce((U,j)=>U+";"+j,""):"");w=t.append("path").attr("d",k).attr("id",e.id).attr("class"," "+S+(e.classes?" "+e.classes:"")+(N??"")).attr("style",P),A=P.match(/stroke:([^;]+)/)?.[1],L=e.animate===!0||!!e.animation||D.includes("animation");let B=w.node(),F=typeof B.getTotalLength=="function"?B.getTotalLength():0,V=Y9[e.arrowTypeStart]||0,$=Y9[e.arrowTypeEnd]||0;if(e.look==="neo"&&!L){let j=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?URe(F,V,$):`0 ${V} ${F-V-$} ${$}`}; stroke-dashoffset: 0;`;w.attr("style",j+w.attr("style"))}}w.attr("data-edge",!0),w.attr("data-et","edge"),w.attr("data-id",e.id),w.attr("data-points",g),e.showPoints&&y.forEach(D=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",D.x).attr("cy",D.y)});let I="";(ge().flowchart.arrowMarkerAbsolute||ge().state.arrowMarkerAbsolute)&&(I=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,I=I.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),X.info("arrowTypeStart",e.arrowTypeStart),X.info("arrowTypeEnd",e.arrowTypeEnd),qte(w,e,I,s,n,A);let R=Math.floor(h.length/2),E=h[R];qt.isLabelCoordinateInPath(E,w.attr("d"))||(f=!0);let _={};return f&&(_.updatedPath=h),_.originalPath=e.points,_},"insertEdge");o(HRe,"generateRoundedPath");o(jte,"calculateDeltaAndAngle");o(qRe,"applyMarkerOffsetsToPoints")});var WRe,YRe,XRe,jRe,KRe,QRe,ZRe,JRe,eNe,tNe,rNe,nNe,iNe,aNe,sNe,oNe,lNe,xw,K9=M(()=>{"use strict";pt();WRe=o((t,e,r,n)=>{e.forEach(i=>{lNe[i](t,r,n)})},"insertMarkers"),YRe=o((t,e,r)=>{X.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"),XRe=o((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"),jRe=o((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"),KRe=o((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"),QRe=o((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"),ZRe=o((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")},"point"),JRe=o((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"),eNe=o((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"),tNe=o((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"),rNe=o((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"),nNe=o((t,e,r)=>{let 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");let 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"),iNe=o((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"),aNe=o((t,e,r)=>{let 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");let 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"),sNe=o((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"),oNe=o((t,e,r)=>{let 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"),lNe={extension:YRe,composition:XRe,aggregation:jRe,dependency:KRe,lollipop:QRe,point:ZRe,circle:JRe,cross:eNe,barb:tNe,only_one:rNe,zero_or_one:nNe,one_or_more:iNe,zero_or_more:aNe,requirement_arrow:sNe,requirement_contains:oNe},xw=WRe});async function Cm(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?q9[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 e.tooltip&&i.attr("title",e.tooltip),bw.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}var bw,Qte,Zte,B2,Tw=M(()=>{"use strict";pt();W9();bw=new Map;o(Cm,"insertNode");Qte=o((t,e)=>{bw.set(e.id,t)},"setNodeElem"),Zte=o(()=>{bw.clear()},"clear"),B2=o(t=>{let e=bw.get(t.id);X.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let 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")});var Jte,ere=M(()=>{"use strict";qn();gr();pt();uw();j9();K9();Tw();It();tr();Jte={common:tt,getConfig:Qt,insertCluster:Sm,insertEdge:vw,insertEdgeLabel:gw,insertMarkers:xw,insertNode:Cm,interpolateToCurve:FL,labelHelper:ut,log:X,positionEdgeLabel:yw}});function uNe(t){return typeof t=="symbol"||ai(t)&&fa(t)==cNe}var cNe,uo,tp=M(()=>{"use strict";_u();Oo();cNe="[object Symbol]";o(uNe,"isSymbol");uo=uNe});function hNe(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";o(hNe,"arrayMap");$s=hNe});function nre(t){if(typeof t=="string")return t;if(Bt(t))return $s(t,nre)+"";if(uo(t))return rre?rre.call(t):"";var e=t+"";return e=="0"&&1/t==-fNe?"-0":e}var fNe,tre,rre,ire,are=M(()=>{"use strict";$d();rp();Yn();tp();fNe=1/0,tre=Ki?Ki.prototype:void 0,rre=tre?tre.toString:void 0;o(nre,"baseToString");ire=nre});function pNe(t){for(var e=t.length;e--&&dNe.test(t.charAt(e)););return e}var dNe,sre,ore=M(()=>{"use strict";dNe=/\s/;o(pNe,"trimmedEndIndex");sre=pNe});function gNe(t){return t&&t.slice(0,sre(t)+1).replace(mNe,"")}var mNe,lre,cre=M(()=>{"use strict";ore();mNe=/^\s+/;o(gNe,"baseTrim");lre=gNe});function TNe(t){if(typeof t=="number")return t;if(uo(t))return ure;if(Sn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Sn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=lre(t);var r=vNe.test(t);return r||xNe.test(t)?bNe(t.slice(2),r?2:8):yNe.test(t)?ure:+t}var ure,yNe,vNe,xNe,bNe,hre,fre=M(()=>{"use strict";cre();oo();tp();ure=NaN,yNe=/^[-+]0x[0-9a-f]+$/i,vNe=/^0b[01]+$/i,xNe=/^0o[0-7]+$/i,bNe=parseInt;o(TNe,"toNumber");hre=TNe});function kNe(t){if(!t)return t===0?t:0;if(t=hre(t),t===dre||t===-dre){var e=t<0?-1:1;return e*wNe}return t===t?t:0}var dre,wNe,Am,Q9=M(()=>{"use strict";fre();dre=1/0,wNe=17976931348623157e292;o(kNe,"toFinite");Am=kNe});function ENe(t){var e=Am(t),r=e%1;return e===e?r?e-r:e:0}var Ec,_m=M(()=>{"use strict";Q9();o(ENe,"toInteger");Ec=ENe});var SNe,ww,pre=M(()=>{"use strict";Fh();Mo();SNe=Ls(hi,"WeakMap"),ww=SNe});function CNe(){}var si,Z9=M(()=>{"use strict";o(CNe,"noop");si=CNe});function ANe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(ANe,"arrayEach");kw=ANe});function _Ne(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";o(_Ne,"baseFindIndex");Ew=_Ne});function DNe(t){return t!==t}var mre,gre=M(()=>{"use strict";o(DNe,"baseIsNaN");mre=DNe});function LNe(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";o(LNe,"strictIndexOf");yre=LNe});function RNe(t,e,r){return e===e?yre(t,e,r):Ew(t,mre,r)}var Dm,Sw=M(()=>{"use strict";eR();gre();vre();o(RNe,"baseIndexOf");Dm=RNe});function NNe(t,e){var r=t==null?0:t.length;return!!r&&Dm(t,e,0)>-1}var Cw,tR=M(()=>{"use strict";Sw();o(NNe,"arrayIncludes");Cw=NNe});var MNe,xre,bre=M(()=>{"use strict";SL();MNe=bT(Object.keys,Object),xre=MNe});function PNe(t){if(!mc(t))return xre(t);var e=[];for(var r in Object(t))ONe.call(t,r)&&r!="constructor"&&e.push(r);return e}var INe,ONe,Lm,Aw=M(()=>{"use strict";dm();bre();INe=Object.prototype,ONe=INe.hasOwnProperty;o(PNe,"baseKeys");Lm=PNe});function BNe(t){return fi(t)?ST(t):Lm(t)}var qr,Sc=M(()=>{"use strict";LL();Aw();Po();o(BNe,"keys");qr=BNe});var FNe,$Ne,zNe,ma,Tre=M(()=>{"use strict";ym();Hd();IL();Po();dm();Sc();FNe=Object.prototype,$Ne=FNe.hasOwnProperty,zNe=_T(function(t,e){if(mc(e)||fi(e)){$o(e,qr(e),t);return}for(var r in e)$Ne.call(e,r)&&gc(t,r,e[r])}),ma=zNe});function UNe(t,e){if(Bt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||uo(t)?!0:VNe.test(t)||!GNe.test(t)||e!=null&&t in Object(e)}var GNe,VNe,Rm,_w=M(()=>{"use strict";Yn();tp();GNe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,VNe=/^\w*$/;o(UNe,"isKey");Rm=UNe});function qNe(t){var e=am(t,function(n){return r.size===HNe&&r.clear(),n}),r=e.cache;return e}var HNe,wre,kre=M(()=>{"use strict";vL();HNe=500;o(qNe,"memoizeCapped");wre=qNe});var WNe,YNe,XNe,Ere,Sre=M(()=>{"use strict";kre();WNe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,YNe=/\\(\\)?/g,XNe=wre(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(WNe,function(r,n,i,a){e.push(i?a.replace(YNe,"$1"):n||r)}),e}),Ere=XNe});function jNe(t){return t==null?"":ire(t)}var Dw,rR=M(()=>{"use strict";are();o(jNe,"toString");Dw=jNe});function KNe(t,e){return Bt(t)?t:Rm(t,e)?[t]:Ere(Dw(t))}var rf,F2=M(()=>{"use strict";Yn();_w();Sre();rR();o(KNe,"castPath");rf=KNe});function ZNe(t){if(typeof t=="string"||uo(t))return t;var e=t+"";return e=="0"&&1/t==-QNe?"-0":e}var QNe,Cc,Nm=M(()=>{"use strict";tp();QNe=1/0;o(ZNe,"toKey");Cc=ZNe});function JNe(t,e){e=rf(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";F2();Nm();o(JNe,"baseGet");nf=JNe});function eMe(t,e,r){var n=t==null?void 0:nf(t,e);return n===void 0?r:n}var Cre,Are=M(()=>{"use strict";$2();o(eMe,"get");Cre=eMe});function tMe(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";o(tMe,"arrayPush");Mm=tMe});function rMe(t){return Bt(t)||_l(t)||!!(_re&&t&&t[_re])}var _re,Dre,Lre=M(()=>{"use strict";$d();pm();Yn();_re=Ki?Ki.isConcatSpreadable:void 0;o(rMe,"isFlattenable");Dre=rMe});function Rre(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=Dre),i||(i=[]);++a0&&r(l)?e>1?Rre(l,e-1,r,n,i):Mm(i,l):n||(i[i.length]=l)}return i}var Ac,Im=M(()=>{"use strict";Lw();Lre();o(Rre,"baseFlatten");Ac=Rre});function nMe(t){var e=t==null?0:t.length;return e?Ac(t,1):[]}var Qr,Rw=M(()=>{"use strict";Im();o(nMe,"flatten");Qr=nMe});function iMe(t){return AT(CT(t,void 0,Qr),t+"")}var Nre,Mre=M(()=>{"use strict";Rw();RL();ML();o(iMe,"flatRest");Nre=iMe});function aMe(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{"use strict";o(aMe,"baseSlice");Nw=aMe});function pMe(t){return dMe.test(t)}var sMe,oMe,lMe,cMe,uMe,hMe,fMe,dMe,Ire,Ore=M(()=>{"use strict";sMe="\\ud800-\\udfff",oMe="\\u0300-\\u036f",lMe="\\ufe20-\\ufe2f",cMe="\\u20d0-\\u20ff",uMe=oMe+lMe+cMe,hMe="\\ufe0e\\ufe0f",fMe="\\u200d",dMe=RegExp("["+fMe+sMe+uMe+hMe+"]");o(pMe,"hasUnicode");Ire=pMe});function mMe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";o(mMe,"arrayReduce");Pre=mMe});function gMe(t,e){return t&&$o(e,qr(e),t)}var Fre,$re=M(()=>{"use strict";Hd();Sc();o(gMe,"baseAssign");Fre=gMe});function yMe(t,e){return t&&$o(e,Rs(e),t)}var zre,Gre=M(()=>{"use strict";Hd();qh();o(yMe,"baseAssignIn");zre=yMe});function vMe(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";o(vMe,"arrayFilter");Om=vMe});function xMe(){return[]}var Iw,iR=M(()=>{"use strict";o(xMe,"stubArray");Iw=xMe});var bMe,TMe,Vre,wMe,Pm,Ow=M(()=>{"use strict";Mw();iR();bMe=Object.prototype,TMe=bMe.propertyIsEnumerable,Vre=Object.getOwnPropertySymbols,wMe=Vre?function(t){return t==null?[]:(t=Object(t),Om(Vre(t),function(e){return TMe.call(t,e)}))}:Iw,Pm=wMe});function kMe(t,e){return $o(t,Pm(t),e)}var Ure,Hre=M(()=>{"use strict";Hd();Ow();o(kMe,"copySymbols");Ure=kMe});var EMe,SMe,Pw,aR=M(()=>{"use strict";Lw();TT();Ow();iR();EMe=Object.getOwnPropertySymbols,SMe=EMe?function(t){for(var e=[];t;)Mm(e,Pm(t)),t=fm(t);return e}:Iw,Pw=SMe});function CMe(t,e){return $o(t,Pw(t),e)}var qre,Wre=M(()=>{"use strict";Hd();aR();o(CMe,"copySymbolsIn");qre=CMe});function AMe(t,e,r){var n=e(t);return Bt(t)?n:Mm(n,r(t))}var Bw,sR=M(()=>{"use strict";Lw();Yn();o(AMe,"baseGetAllKeys");Bw=AMe});function _Me(t){return Bw(t,qr,Pm)}var z2,oR=M(()=>{"use strict";sR();Ow();Sc();o(_Me,"getAllKeys");z2=_Me});function DMe(t){return Bw(t,Rs,Pw)}var Fw,lR=M(()=>{"use strict";sR();aR();qh();o(DMe,"getAllKeysIn");Fw=DMe});var LMe,$w,Yre=M(()=>{"use strict";Fh();Mo();LMe=Ls(hi,"DataView"),$w=LMe});var RMe,zw,Xre=M(()=>{"use strict";Fh();Mo();RMe=Ls(hi,"Promise"),zw=RMe});var NMe,af,cR=M(()=>{"use strict";Fh();Mo();NMe=Ls(hi,"Set"),af=NMe});var jre,MMe,Kre,Qre,Zre,Jre,IMe,OMe,PMe,BMe,FMe,np,ho,ip=M(()=>{"use strict";Yre();dT();Xre();cR();pre();_u();mL();jre="[object Map]",MMe="[object Object]",Kre="[object Promise]",Qre="[object Set]",Zre="[object WeakMap]",Jre="[object DataView]",IMe=Du($w),OMe=Du(Gh),PMe=Du(zw),BMe=Du(af),FMe=Du(ww),np=fa;($w&&np(new $w(new ArrayBuffer(1)))!=Jre||Gh&&np(new Gh)!=jre||zw&&np(zw.resolve())!=Kre||af&&np(new af)!=Qre||ww&&np(new ww)!=Zre)&&(np=o(function(t){var e=fa(t),r=e==MMe?t.constructor:void 0,n=r?Du(r):"";if(n)switch(n){case IMe:return Jre;case OMe:return jre;case PMe:return Kre;case BMe:return Qre;case FMe:return Zre}return e},"getTag"));ho=np});function GMe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&zMe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var $Me,zMe,ene,tne=M(()=>{"use strict";$Me=Object.prototype,zMe=$Me.hasOwnProperty;o(GMe,"initCloneArray");ene=GMe});function VMe(t,e){var r=e?hm(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var rne,nne=M(()=>{"use strict";yT();o(VMe,"cloneDataView");rne=VMe});function HMe(t){var e=new t.constructor(t.source,UMe.exec(t));return e.lastIndex=t.lastIndex,e}var UMe,ine,ane=M(()=>{"use strict";UMe=/\w*$/;o(HMe,"cloneRegExp");ine=HMe});function qMe(t){return one?Object(one.call(t)):{}}var sne,one,lne,cne=M(()=>{"use strict";$d();sne=Ki?Ki.prototype:void 0,one=sne?sne.valueOf:void 0;o(qMe,"cloneSymbol");lne=qMe});function hIe(t,e,r){var n=t.constructor;switch(e){case eIe:return hm(t);case WMe:case YMe:return new n(+t);case tIe:return rne(t,r);case rIe:case nIe:case iIe:case aIe:case sIe:case oIe:case lIe:case cIe:case uIe:return vT(t,r);case XMe:return new n;case jMe:case ZMe:return new n(t);case KMe:return ine(t);case QMe:return new n;case JMe:return lne(t)}}var WMe,YMe,XMe,jMe,KMe,QMe,ZMe,JMe,eIe,tIe,rIe,nIe,iIe,aIe,sIe,oIe,lIe,cIe,uIe,une,hne=M(()=>{"use strict";yT();nne();ane();cne();kL();WMe="[object Boolean]",YMe="[object Date]",XMe="[object Map]",jMe="[object Number]",KMe="[object RegExp]",QMe="[object Set]",ZMe="[object String]",JMe="[object Symbol]",eIe="[object ArrayBuffer]",tIe="[object DataView]",rIe="[object Float32Array]",nIe="[object Float64Array]",iIe="[object Int8Array]",aIe="[object Int16Array]",sIe="[object Int32Array]",oIe="[object Uint8Array]",lIe="[object Uint8ClampedArray]",cIe="[object Uint16Array]",uIe="[object Uint32Array]";o(hIe,"initCloneByTag");une=hIe});function dIe(t){return ai(t)&&ho(t)==fIe}var fIe,fne,dne=M(()=>{"use strict";ip();Oo();fIe="[object Map]";o(dIe,"baseIsMap");fne=dIe});var pne,pIe,mne,gne=M(()=>{"use strict";dne();Ud();d2();pne=Fo&&Fo.isMap,pIe=pne?Bo(pne):fne,mne=pIe});function gIe(t){return ai(t)&&ho(t)==mIe}var mIe,yne,vne=M(()=>{"use strict";ip();Oo();mIe="[object Set]";o(gIe,"baseIsSet");yne=gIe});var xne,yIe,bne,Tne=M(()=>{"use strict";vne();Ud();d2();xne=Fo&&Fo.isSet,yIe=xne?Bo(xne):yne,bne=yIe});function Gw(t,e,r,n,i,a){var s,l=e&vIe,u=e&xIe,h=e&bIe;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!Sn(t))return t;var f=Bt(t);if(f){if(s=ene(t),!l)return xT(t,s)}else{var d=ho(t),p=d==kne||d==SIe;if(Dl(t))return gT(t,l);if(d==Ene||d==wne||p&&!i){if(s=u||p?{}:wT(t),!l)return u?qre(t,zre(s,t)):Ure(t,Fre(s,t))}else{if(!Mn[d])return i?t:{};s=une(t,d,l)}}a||(a=new dc);var m=a.get(t);if(m)return m;a.set(t,s),bne(t)?t.forEach(function(v){s.add(Gw(v,e,r,v,t,a))}):mne(t)&&t.forEach(function(v,x){s.set(x,Gw(v,e,r,x,t,a))});var g=h?u?Fw:z2:u?Rs:qr,y=f?void 0:g(t);return kw(y||t,function(v,x){y&&(x=v,v=t[x]),gc(s,x,Gw(v,e,r,x,t,a))}),s}var vIe,xIe,bIe,wne,TIe,wIe,kIe,EIe,kne,SIe,CIe,AIe,Ene,_Ie,DIe,LIe,RIe,NIe,MIe,IIe,OIe,PIe,BIe,FIe,$Ie,zIe,GIe,VIe,UIe,Mn,Vw,uR=M(()=>{"use strict";u2();J9();ym();$re();Gre();TL();EL();Hre();Wre();oR();lR();ip();tne();hne();CL();Yn();gm();gne();oo();Tne();Sc();qh();vIe=1,xIe=2,bIe=4,wne="[object Arguments]",TIe="[object Array]",wIe="[object Boolean]",kIe="[object Date]",EIe="[object Error]",kne="[object Function]",SIe="[object GeneratorFunction]",CIe="[object Map]",AIe="[object Number]",Ene="[object Object]",_Ie="[object RegExp]",DIe="[object Set]",LIe="[object String]",RIe="[object Symbol]",NIe="[object WeakMap]",MIe="[object ArrayBuffer]",IIe="[object DataView]",OIe="[object Float32Array]",PIe="[object Float64Array]",BIe="[object Int8Array]",FIe="[object Int16Array]",$Ie="[object Int32Array]",zIe="[object Uint8Array]",GIe="[object Uint8ClampedArray]",VIe="[object Uint16Array]",UIe="[object Uint32Array]",Mn={};Mn[wne]=Mn[TIe]=Mn[MIe]=Mn[IIe]=Mn[wIe]=Mn[kIe]=Mn[OIe]=Mn[PIe]=Mn[BIe]=Mn[FIe]=Mn[$Ie]=Mn[CIe]=Mn[AIe]=Mn[Ene]=Mn[_Ie]=Mn[DIe]=Mn[LIe]=Mn[RIe]=Mn[zIe]=Mn[GIe]=Mn[VIe]=Mn[UIe]=!0;Mn[EIe]=Mn[kne]=Mn[NIe]=!1;o(Gw,"baseClone");Vw=Gw});function qIe(t){return Vw(t,HIe)}var HIe,ln,hR=M(()=>{"use strict";uR();HIe=4;o(qIe,"clone");ln=qIe});function XIe(t){return Vw(t,WIe|YIe)}var WIe,YIe,fR,Sne=M(()=>{"use strict";uR();WIe=1,YIe=4;o(XIe,"cloneDeep");fR=XIe});function jIe(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";o(jIe,"compact");_c=jIe});function QIe(t){return this.__data__.set(t,KIe),this}var KIe,Ane,_ne=M(()=>{"use strict";KIe="__lodash_hash_undefined__";o(QIe,"setCacheAdd");Ane=QIe});function ZIe(t){return this.__data__.has(t)}var Dne,Lne=M(()=>{"use strict";o(ZIe,"setCacheHas");Dne=ZIe});function Uw(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Gd;++e{"use strict";pT();_ne();Lne();o(Uw,"SetCache");Uw.prototype.add=Uw.prototype.push=Ane;Uw.prototype.has=Dne;Bm=Uw});function JIe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(JIe,"arraySome");qw=JIe});function eOe(t,e){return t.has(e)}var Fm,Ww=M(()=>{"use strict";o(eOe,"cacheHas");Fm=eOe});function nOe(t,e,r,n,i,a){var s=r&tOe,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&rOe?new Bm:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";Hw();dR();Ww();tOe=1,rOe=2;o(nOe,"equalArrays");Yw=nOe});function iOe(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var Rne,Nne=M(()=>{"use strict";o(iOe,"mapToArray");Rne=iOe});function aOe(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var $m,Xw=M(()=>{"use strict";o(aOe,"setToArray");$m=aOe});function xOe(t,e,r,n,i,a,s){switch(r){case vOe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case yOe:return!(t.byteLength!=e.byteLength||!a(new um(t),new um(e)));case lOe:case cOe:case fOe:return Io(+t,+e);case uOe:return t.name==e.name&&t.message==e.message;case dOe:case mOe:return t==e+"";case hOe:var l=Rne;case pOe:var u=n&sOe;if(l||(l=$m),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;n|=oOe,s.set(t,e);var f=Yw(l(t),l(e),n,i,a,s);return s.delete(t),f;case gOe:if(mR)return mR.call(t)==mR.call(e)}return!1}var sOe,oOe,lOe,cOe,uOe,hOe,fOe,dOe,pOe,mOe,gOe,yOe,vOe,Mne,mR,Ine,One=M(()=>{"use strict";$d();wL();zd();pR();Nne();Xw();sOe=1,oOe=2,lOe="[object Boolean]",cOe="[object Date]",uOe="[object Error]",hOe="[object Map]",fOe="[object Number]",dOe="[object RegExp]",pOe="[object Set]",mOe="[object String]",gOe="[object Symbol]",yOe="[object ArrayBuffer]",vOe="[object DataView]",Mne=Ki?Ki.prototype:void 0,mR=Mne?Mne.valueOf:void 0;o(xOe,"equalByTag");Ine=xOe});function kOe(t,e,r,n,i,a){var s=r&bOe,l=z2(t),u=l.length,h=z2(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:wOe.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";oR();bOe=1,TOe=Object.prototype,wOe=TOe.hasOwnProperty;o(kOe,"equalObjects");Pne=kOe});function COe(t,e,r,n,i,a){var s=Bt(t),l=Bt(e),u=s?$ne:ho(t),h=l?$ne:ho(e);u=u==Fne?jw:u,h=h==Fne?jw:h;var f=u==jw,d=h==jw,p=u==h;if(p&&Dl(t)){if(!Dl(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new dc),s||Uh(t)?Yw(t,e,r,n,i,a):Ine(t,e,u,r,n,i,a);if(!(r&EOe)){var m=f&&zne.call(t,"__wrapped__"),g=d&&zne.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new dc),i(y,v,r,n,a)}}return p?(a||(a=new dc),Pne(t,e,r,n,i,a)):!1}var EOe,Fne,$ne,jw,SOe,zne,Gne,Vne=M(()=>{"use strict";u2();pR();One();Bne();ip();Yn();gm();p2();EOe=1,Fne="[object Arguments]",$ne="[object Array]",jw="[object Object]",SOe=Object.prototype,zne=SOe.hasOwnProperty;o(COe,"baseIsEqualDeep");Gne=COe});function Une(t,e,r,n,i){return t===e?!0:t==null||e==null||!ai(t)&&!ai(e)?t!==t&&e!==e:Gne(t,e,r,n,Une,i)}var Kw,gR=M(()=>{"use strict";Vne();Oo();o(Une,"baseIsEqual");Kw=Une});function DOe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";u2();gR();AOe=1,_Oe=2;o(DOe,"baseIsMatch");Hne=DOe});function LOe(t){return t===t&&!Sn(t)}var Qw,yR=M(()=>{"use strict";oo();o(LOe,"isStrictComparable");Qw=LOe});function ROe(t){for(var e=qr(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Qw(i)]}return e}var Wne,Yne=M(()=>{"use strict";yR();Sc();o(ROe,"getMatchData");Wne=ROe});function NOe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Zw,vR=M(()=>{"use strict";o(NOe,"matchesStrictComparable");Zw=NOe});function MOe(t){var e=Wne(t);return e.length==1&&e[0][2]?Zw(e[0][0],e[0][1]):function(r){return r===t||Hne(r,t,e)}}var Xne,jne=M(()=>{"use strict";qne();Yne();vR();o(MOe,"baseMatches");Xne=MOe});function IOe(t,e){return t!=null&&e in Object(t)}var Kne,Qne=M(()=>{"use strict";o(IOe,"baseHasIn");Kne=IOe});function OOe(t,e,r){e=rf(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";F2();pm();Yn();g2();kT();Nm();o(OOe,"hasPath");Jw=OOe});function POe(t,e){return t!=null&&Jw(t,e,Kne)}var ek,bR=M(()=>{"use strict";Qne();xR();o(POe,"hasIn");ek=POe});function $Oe(t,e){return Rm(t)&&Qw(e)?Zw(Cc(t),e):function(r){var n=Cre(r,t);return n===void 0&&n===e?ek(r,t):Kw(e,n,BOe|FOe)}}var BOe,FOe,Zne,Jne=M(()=>{"use strict";gR();Are();bR();_w();yR();vR();Nm();BOe=1,FOe=2;o($Oe,"baseMatchesProperty");Zne=$Oe});function zOe(t){return function(e){return e?.[t]}}var tk,TR=M(()=>{"use strict";o(zOe,"baseProperty");tk=zOe});function GOe(t){return function(e){return nf(e,t)}}var eie,tie=M(()=>{"use strict";$2();o(GOe,"basePropertyDeep");eie=GOe});function VOe(t){return Rm(t)?tk(Cc(t)):eie(t)}var rie,nie=M(()=>{"use strict";TR();tie();_w();Nm();o(VOe,"property");rie=VOe});function UOe(t){return typeof t=="function"?t:t==null?Qi:typeof t=="object"?Bt(t)?Zne(t[0],t[1]):Xne(t):rie(t)}var vn,ss=M(()=>{"use strict";jne();Jne();Ru();Yn();nie();o(UOe,"baseIteratee");vn=UOe});function HOe(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";o(HOe,"arrayAggregator");iie=HOe});function qOe(t,e){return t&&cm(t,e,qr)}var zm,rk=M(()=>{"use strict";mT();Sc();o(qOe,"baseForOwn");zm=qOe});function WOe(t,e){return function(r,n){if(r==null)return r;if(!fi(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a{"use strict";Po();o(WOe,"createBaseEach");sie=WOe});var YOe,zs,sf=M(()=>{"use strict";rk();oie();YOe=sie(zm),zs=YOe});function XOe(t,e,r,n){return zs(t,function(i,a,s){e(n,i,r(i),s)}),n}var lie,cie=M(()=>{"use strict";sf();o(XOe,"baseAggregator");lie=XOe});function jOe(t,e){return function(r,n){var i=Bt(r)?iie:lie,a=e?e():{};return i(r,t,vn(n,2),a)}}var uie,hie=M(()=>{"use strict";aie();cie();ss();Yn();o(jOe,"createAggregator");uie=jOe});var KOe,nk,fie=M(()=>{"use strict";Mo();KOe=o(function(){return hi.Date.now()},"now"),nk=KOe});var die,QOe,ZOe,of,pie=M(()=>{"use strict";vm();zd();qd();qh();die=Object.prototype,QOe=die.hasOwnProperty,ZOe=yc(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&lo(e[0],e[1],i)&&(n=1);++r{"use strict";o(JOe,"arrayIncludesWith");ik=JOe});function tPe(t,e,r,n){var i=-1,a=Cw,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=$s(e,Bo(r))),n?(a=ik,s=!1):e.length>=ePe&&(a=Fm,s=!1,e=new Bm(e));e:for(;++i{"use strict";Hw();tR();wR();rp();Ud();Ww();ePe=200;o(tPe,"baseDifference");mie=tPe});var rPe,lf,yie=M(()=>{"use strict";gie();Im();vm();ET();rPe=yc(function(t,e){return Vd(t)?mie(t,Ac(e,1,Vd,!0)):[]}),lf=rPe});function nPe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ga,vie=M(()=>{"use strict";o(nPe,"last");ga=nPe});function iPe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Ec(e),Nw(t,e<0?0:e,n)):[]}var yi,xie=M(()=>{"use strict";nR();_m();o(iPe,"drop");yi=iPe});function aPe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Ec(e),e=n-e,Nw(t,0,e<0?0:e)):[]}var Bu,bie=M(()=>{"use strict";nR();_m();o(aPe,"dropRight");Bu=aPe});function sPe(t){return typeof t=="function"?t:Qi}var Gm,ak=M(()=>{"use strict";Ru();o(sPe,"castFunction");Gm=sPe});function oPe(t,e){var r=Bt(t)?kw:zs;return r(t,Gm(e))}var Ae,sk=M(()=>{"use strict";J9();sf();ak();Yn();o(oPe,"forEach");Ae=oPe});var Tie=M(()=>{"use strict";sk()});function lPe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(lPe,"arrayEvery");wie=lPe});function cPe(t,e){var r=!0;return zs(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var Eie,Sie=M(()=>{"use strict";sf();o(cPe,"baseEvery");Eie=cPe});function uPe(t,e,r){var n=Bt(t)?wie:Eie;return r&&lo(t,e,r)&&(e=void 0),n(t,vn(e,3))}var Ba,Cie=M(()=>{"use strict";kie();Sie();ss();Yn();qd();o(uPe,"every");Ba=uPe});function hPe(t,e){var r=[];return zs(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var ok,kR=M(()=>{"use strict";sf();o(hPe,"baseFilter");ok=hPe});function fPe(t,e){var r=Bt(t)?Om:ok;return r(t,vn(e,3))}var Zr,ER=M(()=>{"use strict";Mw();kR();ss();Yn();o(fPe,"filter");Zr=fPe});function dPe(t){return function(e,r,n){var i=Object(e);if(!fi(e)){var a=vn(r,3);e=qr(e),r=o(function(l){return a(i[l],l,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var Aie,_ie=M(()=>{"use strict";ss();Po();Sc();o(dPe,"createFind");Aie=dPe});function mPe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Ec(r);return i<0&&(i=pPe(n+i,0)),Ew(t,vn(e,3),i)}var pPe,Die,Lie=M(()=>{"use strict";eR();ss();_m();pPe=Math.max;o(mPe,"findIndex");Die=mPe});var gPe,os,Rie=M(()=>{"use strict";_ie();Lie();gPe=Aie(Die),os=gPe});function yPe(t){return t&&t.length?t[0]:void 0}var ea,Nie=M(()=>{"use strict";o(yPe,"head");ea=yPe});var Mie=M(()=>{"use strict";Nie()});function vPe(t,e){var r=-1,n=fi(t)?Array(t.length):[];return zs(t,function(i,a,s){n[++r]=e(i,a,s)}),n}var lk,SR=M(()=>{"use strict";sf();Po();o(vPe,"baseMap");lk=vPe});function xPe(t,e){var r=Bt(t)?$s:lk;return r(t,vn(e,3))}var rt,Vm=M(()=>{"use strict";rp();ss();SR();Yn();o(xPe,"map");rt=xPe});function bPe(t,e){return Ac(rt(t,e),1)}var ya,CR=M(()=>{"use strict";Im();Vm();o(bPe,"flatMap");ya=bPe});function TPe(t,e){return t==null?t:cm(t,Gm(e),Rs)}var AR,Iie=M(()=>{"use strict";mT();ak();qh();o(TPe,"forIn");AR=TPe});function wPe(t,e){return t&&zm(t,Gm(e))}var _R,Oie=M(()=>{"use strict";rk();ak();o(wPe,"forOwn");_R=wPe});var kPe,EPe,SPe,DR,Pie=M(()=>{"use strict";lm();hie();kPe=Object.prototype,EPe=kPe.hasOwnProperty,SPe=uie(function(t,e,r){EPe.call(t,r)?t[r].push(e):pc(t,r,[e])}),DR=SPe});function CPe(t,e){return t>e}var Bie,Fie=M(()=>{"use strict";o(CPe,"baseGt");Bie=CPe});function DPe(t,e){return t!=null&&_Pe.call(t,e)}var APe,_Pe,$ie,zie=M(()=>{"use strict";APe=Object.prototype,_Pe=APe.hasOwnProperty;o(DPe,"baseHas");$ie=DPe});function LPe(t,e){return t!=null&&Jw(t,e,$ie)}var Ft,Gie=M(()=>{"use strict";zie();xR();o(LPe,"has");Ft=LPe});function NPe(t){return typeof t=="string"||!Bt(t)&&ai(t)&&fa(t)==RPe}var RPe,xi,ck=M(()=>{"use strict";_u();Yn();Oo();RPe="[object String]";o(NPe,"isString");xi=NPe});function MPe(t,e){return $s(e,function(r){return t[r]})}var Vie,Uie=M(()=>{"use strict";rp();o(MPe,"baseValues");Vie=MPe});function IPe(t){return t==null?[]:Vie(t,qr(t))}var kr,LR=M(()=>{"use strict";Uie();Sc();o(IPe,"values");kr=IPe});function PPe(t,e,r,n){t=fi(t)?t:kr(t),r=r&&!n?Ec(r):0;var i=t.length;return r<0&&(r=OPe(i+r,0)),xi(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&Dm(t,e,r)>-1}var OPe,jn,Hie=M(()=>{"use strict";Sw();Po();ck();_m();LR();OPe=Math.max;o(PPe,"includes");jn=PPe});function FPe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Ec(r);return i<0&&(i=BPe(n+i,0)),Dm(t,e,i)}var BPe,uk,qie=M(()=>{"use strict";Sw();_m();BPe=Math.max;o(FPe,"indexOf");uk=FPe});function UPe(t){if(t==null)return!0;if(fi(t)&&(Bt(t)||typeof t=="string"||typeof t.splice=="function"||Dl(t)||Uh(t)||_l(t)))return!t.length;var e=ho(t);if(e==$Pe||e==zPe)return!t.size;if(mc(t))return!Lm(t).length;for(var r in t)if(VPe.call(t,r))return!1;return!0}var $Pe,zPe,GPe,VPe,mr,hk=M(()=>{"use strict";Aw();ip();pm();Yn();Po();gm();dm();p2();$Pe="[object Map]",zPe="[object Set]",GPe=Object.prototype,VPe=GPe.hasOwnProperty;o(UPe,"isEmpty");mr=UPe});function qPe(t){return ai(t)&&fa(t)==HPe}var HPe,Wie,Yie=M(()=>{"use strict";_u();Oo();HPe="[object RegExp]";o(qPe,"baseIsRegExp");Wie=qPe});var Xie,WPe,Uo,jie=M(()=>{"use strict";Yie();Ud();d2();Xie=Fo&&Fo.isRegExp,WPe=Xie?Bo(Xie):Wie,Uo=WPe});function YPe(t){return t===void 0}var xr,Kie=M(()=>{"use strict";o(YPe,"isUndefined");xr=YPe});function XPe(t,e){return t{"use strict";o(XPe,"baseLt");fk=XPe});function jPe(t,e){var r={};return e=vn(e,3),zm(t,function(n,i,a){pc(r,i,e(n,i,a))}),r}var ap,Qie=M(()=>{"use strict";lm();rk();ss();o(jPe,"mapValues");ap=jPe});function KPe(t,e,r){for(var n=-1,i=t.length;++n{"use strict";tp();o(KPe,"baseExtremum");Um=KPe});function QPe(t){return t&&t.length?Um(t,Qi,Bie):void 0}var Gs,Zie=M(()=>{"use strict";dk();Fie();Ru();o(QPe,"max");Gs=QPe});function ZPe(t){return t&&t.length?Um(t,Qi,fk):void 0}var Rl,NR=M(()=>{"use strict";dk();RR();Ru();o(ZPe,"min");Rl=ZPe});function JPe(t,e){return t&&t.length?Um(t,vn(e,2),fk):void 0}var sp,Jie=M(()=>{"use strict";dk();ss();RR();o(JPe,"minBy");sp=JPe});function tBe(t){if(typeof t!="function")throw new TypeError(eBe);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)}}var eBe,eae,tae=M(()=>{"use strict";eBe="Expected a function";o(tBe,"negate");eae=tBe});function rBe(t,e,r,n){if(!Sn(t))return t;e=rf(e,t);for(var i=-1,a=e.length,s=a-1,l=t;l!=null&&++i{"use strict";ym();F2();g2();oo();Nm();o(rBe,"baseSet");rae=rBe});function nBe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";$2();nae();F2();o(nBe,"basePickBy");pk=nBe});function iBe(t,e){if(t==null)return{};var r=$s(Fw(t),function(n){return[n]});return e=vn(e),pk(t,r,function(n,i){return e(n,i[0])})}var Vs,iae=M(()=>{"use strict";rp();ss();MR();lR();o(iBe,"pickBy");Vs=iBe});function aBe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var aae,sae=M(()=>{"use strict";o(aBe,"baseSortBy");aae=aBe});function sBe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=uo(t),s=e!==void 0,l=e===null,u=e===e,h=uo(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||n&&s&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";tp();o(sBe,"compareAscending");oae=sBe});function oBe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var cae,uae=M(()=>{"use strict";lae();o(oBe,"compareMultiple");cae=oBe});function lBe(t,e,r){e.length?e=$s(e,function(a){return Bt(a)?function(s){return nf(s,a.length===1?a[0]:a)}:a}):e=[Qi];var n=-1;e=$s(e,Bo(vn));var i=lk(t,function(a,s,l){var u=$s(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return aae(i,function(a,s){return cae(a,s,r)})}var hae,fae=M(()=>{"use strict";rp();$2();ss();SR();sae();Ud();uae();Ru();Yn();o(lBe,"baseOrderBy");hae=lBe});var cBe,dae,pae=M(()=>{"use strict";TR();cBe=tk("length"),dae=cBe});function TBe(t){for(var e=mae.lastIndex=0;mae.test(t);)++e;return e}var gae,uBe,hBe,fBe,dBe,pBe,mBe,IR,OR,gBe,yae,vae,xae,yBe,bae,Tae,vBe,xBe,bBe,mae,wae,kae=M(()=>{"use strict";gae="\\ud800-\\udfff",uBe="\\u0300-\\u036f",hBe="\\ufe20-\\ufe2f",fBe="\\u20d0-\\u20ff",dBe=uBe+hBe+fBe,pBe="\\ufe0e\\ufe0f",mBe="["+gae+"]",IR="["+dBe+"]",OR="\\ud83c[\\udffb-\\udfff]",gBe="(?:"+IR+"|"+OR+")",yae="[^"+gae+"]",vae="(?:\\ud83c[\\udde6-\\uddff]){2}",xae="[\\ud800-\\udbff][\\udc00-\\udfff]",yBe="\\u200d",bae=gBe+"?",Tae="["+pBe+"]?",vBe="(?:"+yBe+"(?:"+[yae,vae,xae].join("|")+")"+Tae+bae+")*",xBe=Tae+bae+vBe,bBe="(?:"+[yae+IR+"?",IR,vae,xae,mBe].join("|")+")",mae=RegExp(OR+"(?="+OR+")|"+bBe+xBe,"g");o(TBe,"unicodeSize");wae=TBe});function wBe(t){return Ire(t)?wae(t):dae(t)}var Eae,Sae=M(()=>{"use strict";pae();Ore();kae();o(wBe,"stringSize");Eae=wBe});function kBe(t,e){return pk(t,e,function(r,n){return ek(t,n)})}var Cae,Aae=M(()=>{"use strict";MR();bR();o(kBe,"basePick");Cae=kBe});var EBe,op,_ae=M(()=>{"use strict";Aae();Mre();EBe=Nre(function(t,e){return t==null?{}:Cae(t,e)}),op=EBe});function ABe(t,e,r,n){for(var i=-1,a=CBe(SBe((e-t)/(r||1)),0),s=Array(a);a--;)s[n?a:++i]=t,t+=r;return s}var SBe,CBe,Dae,Lae=M(()=>{"use strict";SBe=Math.ceil,CBe=Math.max;o(ABe,"baseRange");Dae=ABe});function _Be(t){return function(e,r,n){return n&&typeof n!="number"&&lo(e,r,n)&&(r=n=void 0),e=Am(e),r===void 0?(r=e,e=0):r=Am(r),n=n===void 0?e{"use strict";Lae();qd();Q9();o(_Be,"createRange");Rae=_Be});var DBe,Ho,Mae=M(()=>{"use strict";Nae();DBe=Rae(),Ho=DBe});function LBe(t,e,r,n,i){return i(t,function(a,s,l){r=n?(n=!1,a):e(r,a,s,l)}),r}var Iae,Oae=M(()=>{"use strict";o(LBe,"baseReduce");Iae=LBe});function RBe(t,e,r){var n=Bt(t)?Pre:Iae,i=arguments.length<3;return n(t,vn(e,4),r,i,zs)}var Jr,PR=M(()=>{"use strict";Bre();sf();ss();Oae();Yn();o(RBe,"reduce");Jr=RBe});function NBe(t,e){var r=Bt(t)?Om:ok;return r(t,eae(vn(e,3)))}var cf,Pae=M(()=>{"use strict";Mw();kR();ss();Yn();tae();o(NBe,"reject");cf=NBe});function OBe(t){if(t==null)return 0;if(fi(t))return xi(t)?Eae(t):t.length;var e=ho(t);return e==MBe||e==IBe?t.size:Lm(t).length}var MBe,IBe,BR,Bae=M(()=>{"use strict";Aw();ip();Po();ck();Sae();MBe="[object Map]",IBe="[object Set]";o(OBe,"size");BR=OBe});function PBe(t,e){var r;return zs(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var Fae,$ae=M(()=>{"use strict";sf();o(PBe,"baseSome");Fae=PBe});function BBe(t,e,r){var n=Bt(t)?qw:Fae;return r&&lo(t,e,r)&&(e=void 0),n(t,vn(e,3))}var G2,zae=M(()=>{"use strict";dR();ss();$ae();Yn();qd();o(BBe,"some");G2=BBe});var FBe,Dc,Gae=M(()=>{"use strict";Im();fae();vm();qd();FBe=yc(function(t,e){if(t==null)return[];var r=e.length;return r>1&&lo(t,e[0],e[1])?e=[]:r>2&&lo(e[0],e[1],e[2])&&(e=[e[0]]),hae(t,Ac(e,1),[])}),Dc=FBe});var $Be,zBe,Vae,Uae=M(()=>{"use strict";cR();Z9();Xw();$Be=1/0,zBe=af&&1/$m(new af([,-0]))[1]==$Be?function(t){return new af(t)}:si,Vae=zBe});function VBe(t,e,r){var n=-1,i=Cw,a=t.length,s=!0,l=[],u=l;if(r)s=!1,i=ik;else if(a>=GBe){var h=e?null:Vae(t);if(h)return $m(h);s=!1,i=Fm,u=new Bm}else u=e?[]:l;e:for(;++n{"use strict";Hw();tR();wR();Ww();Uae();Xw();GBe=200;o(VBe,"baseUniq");Hm=VBe});var UBe,FR,Hae=M(()=>{"use strict";Im();vm();mk();ET();UBe=yc(function(t){return Hm(Ac(t,1,Vd,!0))}),FR=UBe});function HBe(t){return t&&t.length?Hm(t):[]}var qm,qae=M(()=>{"use strict";mk();o(HBe,"uniq");qm=HBe});function qBe(t,e){return t&&t.length?Hm(t,vn(e,2)):[]}var Wae,Yae=M(()=>{"use strict";ss();mk();o(qBe,"uniqBy");Wae=qBe});function YBe(t){var e=++WBe;return Dw(t)+e}var WBe,lp,Xae=M(()=>{"use strict";rR();WBe=0;o(YBe,"uniqueId");lp=YBe});function XBe(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n{"use strict";o(XBe,"baseZipObject");jae=XBe});function jBe(t,e){return jae(t||[],e||[],gc)}var gk,Qae=M(()=>{"use strict";ym();Kae();o(jBe,"zipObject");gk=jBe});var Yt=M(()=>{"use strict";Tre();hR();Sne();Cne();NL();pie();yie();xie();bie();Tie();Cie();ER();Rie();Mie();CR();Rw();sk();Iie();Oie();Pie();Gie();Ru();Hie();qie();Yn();hk();a2();oo();jie();ck();Kie();Sc();vie();Vm();Qie();Zie();OL();NR();Jie();Z9();fie();_ae();iae();Mae();PR();Pae();Bae();zae();Gae();Hae();qae();Xae();LR();Qae();});function Jae(t,e){t[e]?t[e]++:t[e]=1}function ese(t,e){--t[e]||delete t[e]}function V2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Zae+a+Zae+(xr(n)?KBe:n)}function QBe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function $R(t,e){return V2(t,e.v,e.w,e.name)}var KBe,cp,Zae,cn,yk=M(()=>{"use strict";Yt();KBe="\0",cp="\0",Zae="",cn=class{static{o(this,"Graph")}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=Ns(void 0),this._defaultEdgeLabelFn=Ns(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[cp]={}),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 Si(e)||(e=Ns(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return qr(this._nodes)}sources(){var e=this;return Zr(this.nodes(),function(r){return mr(e._in[r])})}sinks(){var e=this;return Zr(this.nodes(),function(r){return mr(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return Ae(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]=cp,this._children[e]={},this._children[cp][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=o(n=>this.removeEdge(this._edgeObjs[n]),"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Ae(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),Ae(qr(this._in[e]),r),delete this._in[e],delete this._preds[e],Ae(qr(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(xr(r))r=cp;else{r+="";for(var n=r;!xr(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!==cp)return r}}children(e){if(xr(e)&&(e=cp),this._isCompound){var r=this._children[e];if(r)return qr(r)}else{if(e===cp)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return qr(r)}successors(e){var r=this._sucs[e];if(r)return qr(r)}neighbors(e){var r=this.predecessors(e);if(r)return FR(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;Ae(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Ae(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return o(a,"findParent"),this._isCompound&&Ae(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return Si(e)||(e=Ns(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return kr(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return Jr(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,xr(n)||(n=""+n);var l=V2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!xr(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=QBe(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,Jae(this._preds[r],e),Jae(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?$R(this._isDirected,arguments[0]):V2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?$R(this._isDirected,arguments[0]):V2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?$R(this._isDirected,arguments[0]):V2(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],ese(this._preds[r],e),ese(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=kr(n);return r?Zr(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=kr(n);return r?Zr(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))}};cn.prototype._nodeCount=0;cn.prototype._edgeCount=0;o(Jae,"incrementOrInitEntry");o(ese,"decrementOrRemoveEntry");o(V2,"edgeArgsToId");o(QBe,"edgeArgsToObj");o($R,"edgeObjToId")});var qo=M(()=>{"use strict";yk()});function tse(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function ZBe(t,e){if(t!=="_next"&&t!=="_prev")return e}var xk,rse=M(()=>{"use strict";xk=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return tse(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&tse(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,ZBe)),n=n._prev;return"["+e.join(", ")+"]"}};o(tse,"unlink");o(ZBe,"filterOutLinks")});function nse(t,e){if(t.nodeCount()<=1)return[];var r=tFe(t,e||JBe),n=eFe(r.graph,r.buckets,r.zeroIdx);return Qr(rt(n,function(i){return t.outEdges(i.v,i.w)}))}function eFe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)zR(t,e,r,s);for(;s=i.dequeue();)zR(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){n=n.concat(zR(t,e,r,s,!0));break}}}return n}function zR(t,e,r,n,i){var a=i?[]:void 0;return Ae(t.inEdges(n.v),function(s){var l=t.edge(s),u=t.node(s.v);i&&a.push({v:s.v,w:s.w}),u.out-=l,GR(e,r,u)}),Ae(t.outEdges(n.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,GR(e,r,h)}),t.removeNode(n.v),a}function tFe(t,e){var r=new cn,n=0,i=0;Ae(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Ae(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=Ho(i+n+3).map(function(){return new xk}),s=n+1;return Ae(r.nodes(),function(l){GR(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function GR(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)}var JBe,ise=M(()=>{"use strict";Yt();qo();rse();JBe=Ns(1);o(nse,"greedyFAS");o(eFe,"doGreedyFAS");o(zR,"removeNode");o(tFe,"buildState");o(GR,"assignBucket")});function ase(t){var e=t.graph().acyclicer==="greedy"?nse(t,r(t)):rFe(t);Ae(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,lp("rev"))});function r(n){return function(i){return n.edge(i).weight}}o(r,"weightFn")}function rFe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,Ae(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return o(i,"dfs"),Ae(t.nodes(),i),e}function sse(t){Ae(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)}})}var VR=M(()=>{"use strict";Yt();ise();o(ase,"run");o(rFe,"dfsFAS");o(sse,"undo")});function Lc(t,e,r,n){var i;do i=lp(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function lse(t){var e=new cn().setGraph(t.graph());return Ae(t.nodes(),function(r){e.setNode(r,t.node(r))}),Ae(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 bk(t){var e=new cn({multigraph:t.isMultigraph()}).setGraph(t.graph());return Ae(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Ae(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function UR(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(s=-s),u=s,h=s*a/i),{x:r+u,y:n+h}}function uf(t){var e=rt(Ho(qR(t)+1),function(){return[]});return Ae(t.nodes(),function(r){var n=t.node(r),i=n.rank;xr(i)||(e[i][n.order]=r)}),e}function cse(t){var e=Rl(rt(t.nodes(),function(r){return t.node(r).rank}));Ae(t.nodes(),function(r){var n=t.node(r);Ft(n,"rank")&&(n.rank-=e)})}function use(t){var e=Rl(rt(t.nodes(),function(a){return t.node(a).rank})),r=[];Ae(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;Ae(r,function(a,s){xr(a)&&s%i!==0?--n:n&&Ae(a,function(l){t.node(l).rank+=n})})}function HR(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Lc(t,"border",i,e)}function qR(t){return Gs(rt(t.nodes(),function(e){var r=t.node(e).rank;if(!xr(r))return r}))}function hse(t,e){var r={lhs:[],rhs:[]};return Ae(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function fse(t,e){var r=nk();try{return e()}finally{console.log(t+" time: "+(nk()-r)+"ms")}}function dse(t,e){return e()}var Rc=M(()=>{"use strict";Yt();qo();o(Lc,"addDummyNode");o(lse,"simplify");o(bk,"asNonCompoundGraph");o(UR,"intersectRect");o(uf,"buildLayerMatrix");o(cse,"normalizeRanks");o(use,"removeEmptyRanks");o(HR,"addBorderNode");o(qR,"maxRank");o(hse,"partition");o(fse,"time");o(dse,"notime")});function mse(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&Ae(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a{"use strict";Yt();Rc();o(mse,"addBorderSegments");o(pse,"addBorderNode")});function vse(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&bse(t)}function xse(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&nFe(t),(e==="lr"||e==="rl")&&(iFe(t),bse(t))}function bse(t){Ae(t.nodes(),function(e){yse(t.node(e))}),Ae(t.edges(),function(e){yse(t.edge(e))})}function yse(t){var e=t.width;t.width=t.height,t.height=e}function nFe(t){Ae(t.nodes(),function(e){WR(t.node(e))}),Ae(t.edges(),function(e){var r=t.edge(e);Ae(r.points,WR),Object.prototype.hasOwnProperty.call(r,"y")&&WR(r)})}function WR(t){t.y=-t.y}function iFe(t){Ae(t.nodes(),function(e){YR(t.node(e))}),Ae(t.edges(),function(e){var r=t.edge(e);Ae(r.points,YR),Object.prototype.hasOwnProperty.call(r,"x")&&YR(r)})}function YR(t){var e=t.x;t.x=t.y,t.y=e}var Tse=M(()=>{"use strict";Yt();o(vse,"adjust");o(xse,"undo");o(bse,"swapWidthHeight");o(yse,"swapWidthHeightOne");o(nFe,"reverseY");o(WR,"reverseYOne");o(iFe,"swapXY");o(YR,"swapXYOne")});function wse(t){t.graph().dummyChains=[],Ae(t.edges(),function(e){sFe(t,e)})}function sFe(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h=void 0,f,d;for(d=0,++n;n{"use strict";Yt();Rc();o(wse,"run");o(sFe,"normalizeEdge");o(kse,"undo")});function U2(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=Rl(rt(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}o(r,"dfs"),Ae(t.sources(),r)}function up(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var Tk=M(()=>{"use strict";Yt();o(U2,"longestPath");o(up,"slack")});function wk(t){var e=new cn({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;oFe(e,t){"use strict";Yt();qo();Tk();o(wk,"feasibleTree");o(oFe,"tightTree");o(lFe,"findMinSlackEdge");o(cFe,"shiftRanks")});var Sse=M(()=>{"use strict"});var KR=M(()=>{"use strict"});var pjt,QR=M(()=>{"use strict";Yt();KR();pjt=Ns(1)});var Cse=M(()=>{"use strict";QR()});var ZR=M(()=>{"use strict"});var Ase=M(()=>{"use strict";ZR()});var Sjt,_se=M(()=>{"use strict";Yt();Sjt=Ns(1)});function JR(t){var e={},r={},n=[];function i(a){if(Object.prototype.hasOwnProperty.call(r,a))throw new H2;Object.prototype.hasOwnProperty.call(e,a)||(r[a]=!0,e[a]=!0,Ae(t.predecessors(a),i),delete r[a],n.push(a))}if(o(i,"visit"),Ae(t.sinks(),i),BR(e)!==t.nodeCount())throw new H2;return n}function H2(){}var eN=M(()=>{"use strict";Yt();JR.CycleException=H2;o(JR,"topsort");o(H2,"CycleException");H2.prototype=new Error});var Dse=M(()=>{"use strict";eN()});function kk(t,e,r){Bt(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return Ae(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);Lse(t,s,r==="post",a,n,i)}),i}function Lse(t,e,r,n,i,a){Object.prototype.hasOwnProperty.call(n,e)||(n[e]=!0,r||a.push(e),Ae(i(e),function(s){Lse(t,s,r,n,i,a)}),r&&a.push(e))}var tN=M(()=>{"use strict";Yt();o(kk,"dfs");o(Lse,"doDfs")});function rN(t,e){return kk(t,e,"post")}var Rse=M(()=>{"use strict";tN();o(rN,"postorder")});function nN(t,e){return kk(t,e,"pre")}var Nse=M(()=>{"use strict";tN();o(nN,"preorder")});var Mse=M(()=>{"use strict";KR();yk()});var Ise=M(()=>{"use strict";Sse();QR();Cse();Ase();_se();Dse();Rse();Nse();Mse();ZR();eN()});function ff(t){t=lse(t),U2(t);var e=wk(t);aN(e),iN(e,t);for(var r,n;r=Fse(e);)n=$se(e,t,r),zse(e,t,r,n)}function iN(t,e){var r=rN(t,t.nodes());r=r.slice(0,r.length-1),Ae(r,function(n){pFe(t,e,n)})}function pFe(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=Pse(t,e,r)}function Pse(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),l=0;return s||(a=!1,s=e.edge(i,r)),l=s.weight,Ae(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,gFe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function aN(t,e){arguments.length<2&&(e=t.nodes()[0]),Bse(t,{},1,e)}function Bse(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,Ae(t.neighbors(n),function(l){Object.prototype.hasOwnProperty.call(e,l)||(r=Bse(t,e,r,l,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function Fse(t){return os(t.edges(),function(e){return t.edge(e).cutvalue<0})}function $se(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),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=Zr(e.edges(),function(f){return u===Ose(t,t.node(f.v),l)&&u!==Ose(t,t.node(f.w),l)});return sp(h,function(f){return up(e,f)})}function zse(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),aN(t),iN(t,e),mFe(t,e)}function mFe(t,e){var r=os(t.nodes(),function(i){return!e.node(i).parent}),n=nN(t,r);n=n.slice(1),Ae(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),l=!1;s||(s=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function gFe(t,e,r){return t.hasEdge(e,r)}function Ose(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var Gse=M(()=>{"use strict";Yt();Ise();Rc();jR();Tk();ff.initLowLimValues=aN;ff.initCutValues=iN;ff.calcCutValue=Pse;ff.leaveEdge=Fse;ff.enterEdge=$se;ff.exchangeEdges=zse;o(ff,"networkSimplex");o(iN,"initCutValues");o(pFe,"assignCutValue");o(Pse,"calcCutValue");o(aN,"initLowLimValues");o(Bse,"dfsAssignLowLim");o(Fse,"leaveEdge");o($se,"enterEdge");o(zse,"exchangeEdges");o(mFe,"updateRanks");o(gFe,"isTreeEdge");o(Ose,"isDescendant")});function sN(t){switch(t.graph().ranker){case"network-simplex":Vse(t);break;case"tight-tree":vFe(t);break;case"longest-path":yFe(t);break;default:Vse(t)}}function vFe(t){U2(t),wk(t)}function Vse(t){ff(t)}var yFe,oN=M(()=>{"use strict";jR();Gse();Tk();o(sN,"rank");yFe=U2;o(vFe,"tightTreeRanker");o(Vse,"networkSimplexRanker")});function Use(t){var e=Lc(t,"root",{},"_root"),r=xFe(t),n=Gs(kr(r))-1,i=2*n+1;t.graph().nestingRoot=e,Ae(t.edges(),function(s){t.edge(s).minlen*=i});var a=bFe(t)+1;Ae(t.children(),function(s){Hse(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function Hse(t,e,r,n,i,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=HR(t,"_bt"),h=HR(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Ae(l,function(d){Hse(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:i+a[s]})}function xFe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&Ae(a,function(s){r(s,i+1)}),e[n]=i}return o(r,"dfs"),Ae(t.children(),function(n){r(n,1)}),e}function bFe(t){return Jr(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function qse(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Ae(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var Wse=M(()=>{"use strict";Yt();Rc();o(Use,"run");o(Hse,"dfs");o(xFe,"treeDepths");o(bFe,"sumWeights");o(qse,"cleanup")});function Yse(t,e,r){var n={},i;Ae(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=n[l],n[l]=s):(u=i,i=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var Xse=M(()=>{"use strict";Yt();o(Yse,"addSubgraphConstraints")});function jse(t,e,r){var n=wFe(t),i=new cn({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return Ae(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,l||n),Ae(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=xr(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function wFe(t){for(var e;t.hasNode(e=lp("_root")););return e}var Kse=M(()=>{"use strict";Yt();qo();o(jse,"buildLayerGraph");o(wFe,"createRootNode")});function Qse(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var Zse=M(()=>{"use strict";Yt();o(Qse,"crossCount");o(kFe,"twoLayerCrossCount")});function Jse(t){var e={},r=Zr(t.nodes(),function(l){return!t.children(l).length}),n=Gs(rt(r,function(l){return t.node(l).rank})),i=rt(Ho(n+1),function(){return[]});function a(l){if(!Ft(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),Ae(t.successors(l),a)}}o(a,"dfs");var s=Dc(r,function(l){return t.node(l).rank});return Ae(s,a),i}var eoe=M(()=>{"use strict";Yt();o(Jse,"initOrder")});function toe(t,e){return rt(e,function(r){var n=t.inEdges(r);if(n.length){var i=Jr(n,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var roe=M(()=>{"use strict";Yt();o(toe,"barycenter")});function noe(t,e){var r={};Ae(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};xr(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),Ae(e.edges(),function(i){var a=r[i.v],s=r[i.w];!xr(a)&&!xr(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Zr(r,function(i){return!i.indegree});return EFe(n)}function EFe(t){var e=[];function r(a){return function(s){s.merged||(xr(s.barycenter)||xr(a.barycenter)||s.barycenter>=a.barycenter)&&SFe(a,s)}}o(r,"handleIn");function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(n,"handleOut");t.length;){var i=t.pop();e.push(i),Ae(i.in.reverse(),r(i)),Ae(i.out,n(i))}return rt(Zr(e,function(a){return!a.merged}),function(a){return op(a,["vs","i","barycenter","weight"])})}function SFe(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}var ioe=M(()=>{"use strict";Yt();o(noe,"resolveConflicts");o(EFe,"doResolveConflicts");o(SFe,"mergeEntries")});function soe(t,e){var r=hse(t,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),n=r.lhs,i=Dc(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;n.sort(CFe(!!e)),u=aoe(a,i,u),Ae(n,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=aoe(a,i,u)});var h={vs:Qr(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function aoe(t,e,r){for(var n;e.length&&(n=ga(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function CFe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var ooe=M(()=>{"use strict";Yt();Rc();o(soe,"sort");o(aoe,"consumeUnsortable");o(CFe,"compareWithBias")});function lN(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(i=Zr(i,function(g){return g!==s&&g!==l}));var h=toe(t,i);Ae(h,function(g){if(t.children(g.v).length){var y=lN(t,g.v,r,n);u[g.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter")&&_Fe(g,y)}});var f=noe(h,r);AFe(f,u);var d=soe(f,n);if(s&&(d.vs=Qr([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function AFe(t,e){Ae(t,function(r){r.vs=Qr(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function _Fe(t,e){xr(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)}var loe=M(()=>{"use strict";Yt();roe();ioe();ooe();o(lN,"sortSubgraph");o(AFe,"expandSubgraphs");o(_Fe,"mergeBarycenters")});function hoe(t){var e=qR(t),r=coe(t,Ho(1,e+1),"inEdges"),n=coe(t,Ho(e-1,-1,-1),"outEdges"),i=Jse(t);uoe(t,i);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){DFe(l%2?r:n,l%4>=2),i=uf(t);var h=Qse(t,i);h{"use strict";Yt();qo();Rc();Xse();Kse();Zse();eoe();loe();o(hoe,"order");o(coe,"buildLayerGraphs");o(DFe,"sweepLayerGraphs");o(uoe,"assignOrder")});function doe(t){var e=RFe(t);Ae(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=LFe(t,e,i.v,i.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function RFe(t){var e={},r=0;function n(i){var a=r;Ae(t.children(i),n),e[i]={low:a,lim:r++}}return o(n,"dfs"),Ae(t.children(),n),e}var poe=M(()=>{"use strict";Yt();o(doe,"parentDummyChains");o(LFe,"findPath");o(RFe,"postorder")});function NFe(t,e){var r={};function n(i,a){var s=0,l=0,u=i.length,h=ga(a);return Ae(a,function(f,d){var p=IFe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Ae(a.slice(l,d+1),function(g){Ae(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&moe(r,p,f)})})}o(n,"scan");function i(a,s){var l=-1,u,h=0;return Ae(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(s,h,d,l,u),h=d,l=u)}n(s,h,s.length,u,a.length)}),s}return o(i,"visitLayer"),Jr(e,i),r}function IFe(t,e){if(t.node(e).dummy)return os(t.predecessors(e),function(r){return t.node(r).dummy})}function moe(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 OFe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function PFe(t,e,r,n){var i={},a={},s={};return Ae(e,function(l){Ae(l,function(u,h){i[u]=u,a[u]=u,s[u]=h})}),Ae(e,function(l){var u=-1;Ae(l,function(h){var f=n(h);if(f.length){f=Dc(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";Yt();qo();Rc();o(NFe,"findType1Conflicts");o(MFe,"findType2Conflicts");o(IFe,"findOtherInnerSegmentNode");o(moe,"addConflict");o(OFe,"hasConflict");o(PFe,"verticalAlignment");o(BFe,"horizontalCompaction");o(FFe,"buildBlockGraph");o($Fe,"findSmallestWidthAlignment");o(zFe,"alignCoordinates");o(GFe,"balance");o(goe,"positionX");o(VFe,"sep");o(UFe,"width")});function voe(t){t=bk(t),HFe(t),_R(goe(t),function(e,r){t.node(r).x=e})}function HFe(t){var e=uf(t),r=t.graph().ranksep,n=0;Ae(e,function(i){var a=Gs(rt(i,function(s){return t.node(s).height}));Ae(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}var xoe=M(()=>{"use strict";Yt();Rc();yoe();o(voe,"position");o(HFe,"positionY")});function q2(t,e){var r=e&&e.debugTiming?fse:dse;r("layout",()=>{var n=r(" buildLayoutGraph",()=>t$e(t));r(" runLayout",()=>qFe(n,r)),r(" updateInputGraph",()=>WFe(t,n))})}function qFe(t,e){e(" makeSpaceForEdgeLabels",()=>r$e(t)),e(" removeSelfEdges",()=>h$e(t)),e(" acyclic",()=>ase(t)),e(" nestingGraph.run",()=>Use(t)),e(" rank",()=>sN(bk(t))),e(" injectEdgeLabelProxies",()=>n$e(t)),e(" removeEmptyRanks",()=>use(t)),e(" nestingGraph.cleanup",()=>qse(t)),e(" normalizeRanks",()=>cse(t)),e(" assignRankMinMax",()=>i$e(t)),e(" removeEdgeLabelProxies",()=>a$e(t)),e(" normalize.run",()=>wse(t)),e(" parentDummyChains",()=>doe(t)),e(" addBorderSegments",()=>mse(t)),e(" order",()=>hoe(t)),e(" insertSelfEdges",()=>f$e(t)),e(" adjustCoordinateSystem",()=>vse(t)),e(" position",()=>voe(t)),e(" positionSelfEdges",()=>d$e(t)),e(" removeBorderNodes",()=>u$e(t)),e(" normalize.undo",()=>kse(t)),e(" fixupEdgeLabelCoords",()=>l$e(t)),e(" undoCoordinateSystem",()=>xse(t)),e(" translateGraph",()=>s$e(t)),e(" assignNodeIntersects",()=>o$e(t)),e(" reversePoints",()=>c$e(t)),e(" acyclic.undo",()=>sse(t))}function WFe(t,e){Ae(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))}),Ae(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}function t$e(t){var e=new cn({multigraph:!0,compound:!0}),r=uN(t.graph());return e.setGraph(Wh({},XFe,cN(r,YFe),op(r,jFe))),Ae(t.nodes(),function(n){var i=uN(t.node(n));e.setNode(n,of(cN(i,KFe),QFe)),e.setParent(n,t.parent(n))}),Ae(t.edges(),function(n){var i=uN(t.edge(n));e.setEdge(n,Wh({},JFe,cN(i,ZFe),op(i,e$e)))}),e}function r$e(t){var e=t.graph();e.ranksep/=2,Ae(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 n$e(t){Ae(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};Lc(t,"edge-proxy",a,"_ep")}})}function i$e(t){var e=0;Ae(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=Gs(e,n.maxRank))}),t.graph().maxRank=e}function a$e(t){Ae(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function s$e(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}o(u,"getExtremes"),Ae(t.nodes(),function(h){u(t.node(h))}),Ae(t.edges(),function(h){var f=t.edge(h);Object.prototype.hasOwnProperty.call(f,"x")&&u(f)}),e-=s,n-=l,Ae(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),Ae(t.edges(),function(h){var f=t.edge(h);Ae(f.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=e),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=n)}),a.width=r-e+s,a.height=i-n+l}function o$e(t){Ae(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(UR(n,a)),r.points.push(UR(i,s))})}function l$e(t){Ae(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 c$e(t){Ae(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function u$e(t){Ae(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(ga(r.borderLeft)),s=t.node(ga(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}}),Ae(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function h$e(t){Ae(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 f$e(t){var e=uf(t);Ae(e,function(r){var n=0;Ae(r,function(i,a){var s=t.node(i);s.order=a+n,Ae(s.selfEdges,function(l){Lc(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function d$e(t){Ae(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,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-l},{x:i+5*s/6,y:a-l},{x:i+s,y:a},{x:i+5*s/6,y:a+l},{x:i+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function cN(t,e){return ap(op(t,e),Number)}function uN(t){var e={};return Ae(t,function(r,n){e[n.toLowerCase()]=r}),e}var YFe,XFe,jFe,KFe,QFe,ZFe,JFe,e$e,boe=M(()=>{"use strict";Yt();qo();gse();Tse();VR();XR();oN();Wse();foe();poe();xoe();Rc();o(q2,"layout");o(qFe,"runLayout");o(WFe,"updateInputGraph");YFe=["nodesep","edgesep","ranksep","marginx","marginy"],XFe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},jFe=["acyclicer","ranker","rankdir","align"],KFe=["width","height"],QFe={width:0,height:0},ZFe=["minlen","weight","width","height","labeloffset"],JFe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},e$e=["labelpos"];o(t$e,"buildLayoutGraph");o(r$e,"makeSpaceForEdgeLabels");o(n$e,"injectEdgeLabelProxies");o(i$e,"assignRankMinMax");o(a$e,"removeEdgeLabelProxies");o(s$e,"translateGraph");o(o$e,"assignNodeIntersects");o(l$e,"fixupEdgeLabelCoords");o(c$e,"reversePointsForReversedEdges");o(u$e,"removeBorderNodes");o(h$e,"removeSelfEdges");o(f$e,"insertSelfEdges");o(d$e,"positionSelfEdges");o(cN,"selectNumberAttrs");o(uN,"canonicalize")});var hN=M(()=>{"use strict";VR();boe();XR();oN()});function Wo(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:p$e(t),edges:m$e(t)};return xr(t.graph())||(e.value=ln(t.graph())),e}function p$e(t){return rt(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return xr(r)||(i.value=r),xr(n)||(i.parent=n),i})}function m$e(t){return rt(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return xr(e.name)||(n.name=e.name),xr(r)||(n.value=r),n})}var fN=M(()=>{"use strict";Yt();yk();o(Wo,"write");o(p$e,"writeNodes");o(m$e,"writeEdges")});var Er,hp,koe,Eoe,Ek,g$e,Soe,Coe,y$e,Wm,woe,Aoe,_oe,Doe,Loe,Roe=M(()=>{"use strict";pt();qo();fN();Er=new Map,hp=new Map,koe=new Map,Eoe=o(()=>{hp.clear(),koe.clear(),Er.clear()},"clear"),Ek=o((t,e)=>{let r=hp.get(e)||[];return X.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),g$e=o((t,e)=>{let r=hp.get(e)||[];return X.info("Descendants of ",e," is ",r),X.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||Ek(t.v,e)||Ek(t.w,e)||r.includes(t.w):(X.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Soe=o((t,e,r,n)=>{X.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),X.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Soe(a,e,r,n);else{let s=e.node(a);X.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(X.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(X.debug("Setting parent",a,t),r.setParent(a,t)):(X.info("In copy ",t,"root",n,"data",e.node(t),n),X.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);X.debug("Copying Edges",l),l.forEach(u=>{X.info("Edge",u);let h=e.edge(u.v,u.w,u.name);X.info("Edge data",h,n);try{g$e(u,n)?(X.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),X.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):X.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){X.error(f)}})}X.debug("Removing node",a),e.removeNode(a)})},"copy"),Coe=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)koe.set(i,t),n=[...n,...Coe(i,e)];return n},"extractDescendants"),y$e=o((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),Wm=o((t,e,r)=>{let n=e.children(t);if(X.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let s=Wm(a,e,r),l=y$e(e,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),woe=o(t=>!Er.has(t)||!Er.get(t).externalConnections?t:Er.has(t)?Er.get(t).id:t,"getAnchorId"),Aoe=o((t,e)=>{if(!t||e>10){X.debug("Opting out, no graph ");return}else X.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(X.warn("Cluster identified",r," Replacement id in edges: ",Wm(r,t,r)),hp.set(r,Coe(r,t)),Er.set(r,{id:Wm(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(X.debug("Cluster identified",r,hp),i.forEach(a=>{let s=Ek(a.v,r),l=Ek(a.w,r);s^l&&(X.warn("Edge: ",a," leaves cluster ",r),X.warn("Descendants of XXX ",r,": ",hp.get(r)),Er.get(r).externalConnections=!0)})):X.debug("Not a cluster ",r,hp)});for(let r of Er.keys()){let n=Er.get(r).id,i=t.parent(n);i!==r&&Er.has(i)&&!Er.get(i).externalConnections&&(Er.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);X.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),X.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(X.warn("Fix XXX",Er,"ids:",r.v,r.w,"Translating: ",Er.get(r.v)," --- ",Er.get(r.w)),Er.get(r.v)||Er.get(r.w)){if(X.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=woe(r.v),a=woe(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);Er.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);Er.get(s).externalConnections=!0,n.toCluster=r.w}X.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),X.warn("Adjusted Graph",Wo(t)),_oe(t,0),X.trace(Er)},"adjustClustersAndEdges"),_oe=o((t,e)=>{if(X.warn("extractor - ",e,Wo(t),t.children("D")),e>10){X.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){X.debug("Done, no node has children",t.nodes());return}X.debug("Nodes = ",r,e);for(let i of r)if(X.debug("Extracting node",i,Er,Er.has(i)&&!Er.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Er.has(i))X.debug("Not a cluster",i,e);else if(!Er.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){X.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Er.get(i)?.clusterData?.dir&&(s=Er.get(i).clusterData.dir,X.warn("Fixing dir",Er.get(i).clusterData.dir,s));let l=new cn({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});X.warn("Old graph before copy",Wo(t)),Soe(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Er.get(i).clusterData,label:Er.get(i).label,graph:l}),X.warn("New graph after copy node: (",i,")",Wo(l)),X.debug("Old graph after copy",Wo(t))}else X.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Er.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),X.debug(Er);r=t.nodes(),X.warn("New list of nodes",r);for(let i of r){let a=t.node(i);X.warn(" Now next level",i,a),a?.clusterNode&&_oe(a.graph,e+1)}},"extractor"),Doe=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=Doe(t,i);r=[...r,...a]}),r},"sorter"),Loe=o(t=>Doe(t,t.children()),"sortNodesByHierarchy")});var Moe={};dr(Moe,{render:()=>v$e});var Noe,v$e,Ioe=M(()=>{"use strict";hN();fN();qo();K9();It();Roe();Tw();uw();j9();pt();P2();Xt();Noe=o(async(t,e,r,n,i,a)=>{X.warn("Graph in recursive render:XAX",Wo(e),i);let s=e.graph().rankdir;X.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?X.info("Recursive render XXX",e.nodes()):X.info("No nodes found for",e),e.edges().length>0&&X.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));X.trace(`Setting data for parent cluster XXX + Node.id = `,y,` + data=`,x.height,` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(X.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(X.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){X.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let T=await Noe(d,v.graph,r,n,e.node(y),a),S=T.elem;Qe(v,S),v.diff=T.diff||0,X.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),Qte(S,v)}else e.children(y).length>0?(X.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),X.trace(Wm(v.id,e)),Er.set(v.id,{id:Wm(v.id,e),node:v})):(X.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await Cm(d,e.node(y),{config:a,dir:s}))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);X.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),X.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),X.info("Fix",Er,"ids:",v.v,v.w,"Translating: ",Er.get(v.v),Er.get(v.w)),await gw(f,x)});await Promise.all(y)},"processEdges")(),X.info("Graph before layout:",JSON.stringify(Wo(e))),X.info("############################################# XXX"),X.info("### Layout ### XXX"),X.info("############################################# XXX"),q2(e),X.info("Graph after layout:",JSON.stringify(Wo(e)));let m=0,{subGraphTitleTotalMargin:g}=Pu(a);return await Promise.all(Loe(e).map(async function(y){let v=e.node(y);if(X.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,X.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Er.get(v.id).node=v,B2(v);else if(e.children(y).length>0){X.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,T=b-x||0;X.debug("OffsetY",T,"labelHeight",b,"halfPadding",x),await Sm(u,v),Er.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,X.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",x,x?.offsetY,v),B2(v)}})),e.edges().forEach(function(y){let v=e.edge(y);X.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(S=>S.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let T=vw(h,v,Er,r,x,b,n);yw(v,T)}),e.nodes().forEach(function(y){let v=e.node(y);X.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),X.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),v$e=o(async(t,e)=>{let r=new cn({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");xw(n,t.markers,t.type,t.diagramId),Zte(),Kte(),Ute(),Eoe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),X.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",p.arrowTypeStart="none",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:o(function(u){throw u},"e"),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,l=!1;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return s=u.done,u},"n"),e:o(function(u){l=!0,a=u},"e"),f:o(function(){try{s||r.return==null||r.return()}finally{if(l)throw a}},"f")}}function cue(t,e,r){return(e=uue(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function w$e(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function k$e(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,l=[],u=!0,h=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(f){h=!0,i=f}finally{try{if(!u&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(h)throw i}}return l}}function E$e(){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 S$e(){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 _i(t,e){return x$e(t)||k$e(t,e)||cI(t,e)||E$e()}function jk(t){return b$e(t)||w$e(t)||cI(t)||S$e()}function C$e(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 uue(t){var e=C$e(t,"string");return typeof e=="symbol"?e:e+""}function $i(t){"@babel/helpers - typeof";return $i=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},$i(t)}function cI(t,e){if(t){if(typeof t=="string")return UM(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)?UM(t,e):void 0}}function yx(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function vx(){if(Boe)return dN;Boe=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return o(t,"isObject"),dN=t,dN}function j$e(){if(Foe)return pN;Foe=1;var t=typeof Sk=="object"&&Sk&&Sk.Object===Object&&Sk;return pN=t,pN}function uE(){if($oe)return mN;$oe=1;var t=j$e(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return mN=r,mN}function K$e(){if(zoe)return gN;zoe=1;var t=uE(),e=o(function(){return t.Date.now()},"now");return gN=e,gN}function Q$e(){if(Goe)return yN;Goe=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return o(e,"trimmedEndIndex"),yN=e,yN}function Z$e(){if(Voe)return vN;Voe=1;var t=Q$e(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return o(r,"baseTrim"),vN=r,vN}function fI(){if(Uoe)return xN;Uoe=1;var t=uE(),e=t.Symbol;return xN=e,xN}function J$e(){if(Hoe)return bN;Hoe=1;var t=fI(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,i=t?t.toStringTag:void 0;function a(s){var l=r.call(s,i),u=s[i];try{s[i]=void 0;var h=!0}catch{}var f=n.call(s);return h&&(l?s[i]=u:delete s[i]),f}return o(a,"getRawTag"),bN=a,bN}function eze(){if(qoe)return TN;qoe=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return o(r,"objectToString"),TN=r,TN}function xue(){if(Woe)return wN;Woe=1;var t=fI(),e=J$e(),r=eze(),n="[object Null]",i="[object Undefined]",a=t?t.toStringTag:void 0;function s(l){return l==null?l===void 0?i:n:a&&a in Object(l)?e(l):r(l)}return o(s,"baseGetTag"),wN=s,wN}function tze(){if(Yoe)return kN;Yoe=1;function t(e){return e!=null&&typeof e=="object"}return o(t,"isObjectLike"),kN=t,kN}function xx(){if(Xoe)return EN;Xoe=1;var t=xue(),e=tze(),r="[object Symbol]";function n(i){return typeof i=="symbol"||e(i)&&t(i)==r}return o(n,"isSymbol"),EN=n,EN}function rze(){if(joe)return SN;joe=1;var t=Z$e(),e=vx(),r=xx(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,l=parseInt;function u(h){if(typeof h=="number")return h;if(r(h))return n;if(e(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=e(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=t(h);var d=a.test(h);return d||s.test(h)?l(h.slice(2),d?2:8):i.test(h)?n:+h}return o(u,"toNumber"),SN=u,SN}function nze(){if(Koe)return CN;Koe=1;var t=vx(),e=K$e(),r=rze(),n="Expected a function",i=Math.max,a=Math.min;function s(l,u,h){var f,d,p,m,g,y,v=0,x=!1,b=!1,T=!0;if(typeof l!="function")throw new TypeError(n);u=r(u)||0,t(h)&&(x=!!h.leading,b="maxWait"in h,p=b?i(r(h.maxWait)||0,u):p,T="trailing"in h?!!h.trailing:T);function S(_){var D=f,O=d;return f=d=void 0,v=_,m=l.apply(O,D),m}o(S,"invokeFunc");function w(_){return v=_,g=setTimeout(A,u),x?S(_):m}o(w,"leadingEdge");function k(_){var D=_-y,O=_-v,N=u-D;return b?a(N,p-O):N}o(k,"remainingWait");function C(_){var D=_-y,O=_-v;return y===void 0||D>=u||D<0||b&&O>=p}o(C,"shouldInvoke");function A(){var _=e();if(C(_))return L(_);g=setTimeout(A,k(_))}o(A,"timerExpired");function L(_){return g=void 0,T&&f?S(_):(f=d=void 0,m)}o(L,"trailingEdge");function I(){g!==void 0&&clearTimeout(g),v=0,f=y=d=g=void 0}o(I,"cancel");function R(){return g===void 0?m:L(e())}o(R,"flush");function E(){var _=e(),D=C(_);if(f=arguments,d=this,y=_,D){if(g===void 0)return w(y);if(b)return clearTimeout(g),g=setTimeout(A,u),S(y)}return g===void 0&&(g=setTimeout(A,u)),m}return o(E,"debounced"),E.cancel=I,E.flush=R,E}return o(s,"debounce"),CN=s,CN}function lze(t,e,r,n,i){var a=i*Math.PI/180,s=Math.cos(a)*(t-r)-Math.sin(a)*(e-n)+r,l=Math.sin(a)*(t-r)+Math.cos(a)*(e-n)+n;return{x:s,y:l}}function uze(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,l=lze(t.x,t.y,n,i,r),u=cze(l.x,l.y,n,i,a,s);return{x:u.x,y:u.y}}function Tze(){return tle||(tle=1,(function(t,e){(function(){var r,n,i,a,s,l,u,h,f,d,p,m,g,y,v;i=Math.floor,d=Math.min,n=o(function(x,b){return xb?1:0},"defaultCmp"),f=o(function(x,b,T,S,w){var k;if(T==null&&(T=0),w==null&&(w=n),T<0)throw new Error("lo must be non-negative");for(S==null&&(S=x.length);TI;0<=I?L++:L--)A.push(L);return A}).apply(this).reverse(),C=[],S=0,w=k.length;SR;0<=R?++A:--A)E.push(s(x,T));return E},"nsmallest"),y=o(function(x,b,T,S){var w,k,C;for(S==null&&(S=n),w=x[T];T>b;){if(C=T-1>>1,k=x[C],S(w,k)<0){x[T]=k,T=C;continue}break}return x[T]=w},"_siftdown"),v=o(function(x,b,T){var S,w,k,C,A;for(T==null&&(T=n),w=x.length,A=b,k=x[b],S=2*b+1;S-1}return o(e,"listCacheHas"),tM=e,tM}function pVe(){if(Vle)return rM;Vle=1;var t=gE();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 o(e,"listCacheSet"),rM=e,rM}function mVe(){if(Ule)return nM;Ule=1;var t=uVe(),e=hVe(),r=fVe(),n=dVe(),i=pVe();function a(s){var l=-1,u=s==null?0:s.length;for(this.clear();++l-1&&n%1==0&&n0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function Kue(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:SUe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?E=D:R=D;while(Math.abs(_)>s&&++O=a?b(I,O):N===0?O:S(I,R,R+h)}o(w,"getTForX");var k=!1;function C(){k=!0,(t!==e||r!==n)&&T()}o(C,"precompute");var A=o(function(R){return k||C(),t===e&&r===n?R:R===0?0:R===1?1:v(w(R),e,n)},"f");A.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var L="generateBezier("+[t,e,r,n]+")";return A.toString=function(){return L},A}function Nce(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 Mce(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function jm(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=Mce(t,i),l=Mce(e,i);if(At(s)&&At(l))return Nce(a,s,l,r,n);if(An(s)&&An(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=Uk[m].apply(null,g)):s.easingImpl=Uk[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var T={};j2(x.x,b.x)&&(T.x=jm(x.x,b.x,v,y)),j2(x.y,b.y)&&(T.y=jm(x.y,b.y,v,y)),t.position(T)}var S=s.startPan,w=s.pan,k=a.pan,C=w!=null&&n;C&&(j2(S.x,w.x)&&(k.x=jm(S.x,w.x,v,y)),j2(S.y,w.y)&&(k.y=jm(S.y,w.y,v,y)),t.emit("pan"));var A=s.startZoom,L=s.zoom,I=L!=null&&n;I&&(j2(A,L)&&(a.zoom=lx(a.minZoom,jm(A,L,v,y),a.maxZoom)),t.emit("zoom")),(C||I)&&t.emit("viewport");var R=s.style;if(R&&R.length>0&&i){for(var E=0;E=0;C--){var A=k[C];A()}k.splice(0,k.length)},"callbacks"),b=m.length-1;b>=0;b--){var T=m[b],S=T._private;if(S.stopped){m.splice(b,1),S.hooked=!1,S.playing=!1,S.started=!1,x(S.frames);continue}!S.playing&&!S.applying||(S.playing&&S.applying&&(S.applying=!1),S.started||$Ue(f,T,t),FUe(f,T,t,d),S.applying&&(S.applying=!1),x(S.frames),S.step!=null&&S.step(t),T.completed()&&(m.splice(b,1),S.hooked=!1,S.playing=!1,S.started=!1,x(S.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}o(i,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function phe(t){this.options=ir({},YUe,XUe,t)}function mhe(t){this.options=ir({},jUe,t)}function ghe(t){this.options=ir({},KUe,t)}function EE(t){this.options=ir({},QUe,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"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(n)}function bhe(t){this.options=ir({},fHe,t)}function _I(t){this.options=ir({},dHe,t)}function The(t){this.options=ir({},pHe,t)}function whe(t){this.options=ir({},mHe,t)}function khe(t){this.options=t,this.notifications=0}function Che(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 LI(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}:(vHe(t,e,r,n,i),{cx:eI,cy:tI,radius:gp,startX:Ehe,startY:She,stopX:rI,stopY:nI,startAngle:Ic.ang+Math.PI/2*vp,endAngle:Yo.ang-Math.PI/2*vp,counterClockwise:Wk})}function Ahe(t){var e=[];if(t!=null){for(var r=0;r5&&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()}function eue(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 oqe(t,e,r){var n=eue(t,t.VERTEX_SHADER,e),i=eue(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 lqe(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 MI(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 cqe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function uqe(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 hqe(t){return 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 fqe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function dqe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function pqe(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 zhe(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 Ghe(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function mqe(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 gqe(t,e,r,n){var i=zhe(t,e),a=_i(i,2),s=a[0],l=a[1],u=Ghe(t,l,n),h=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,u,t.STATIC_DRAW),l===t.FLOAT?t.vertexAttribPointer(r,s,l,!1,0,0):l===t.INT&&t.vertexAttribIPointer(r,s,l,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),h}function Mc(t,e,r,n){var i=zhe(t,r),a=_i(i,3),s=a[0],l=a[1],u=a[2],h=Ghe(t,l,e*s),f=s*u,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*f,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),l===t.FLOAT?t.vertexAttribPointer(n,s,l,!1,f,0):l===t.INT&&t.vertexAttribIPointer(n,s,l,f,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var p=new Array(e),m=0;mOhe?(Mqe(t),e.call(t,a)):(Iqe(t),qhe(t,a,ix.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,l,u){return zqe(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 Mqe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function Iqe(t){var e=o(function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()},"clear");e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function Oqe(t){var e=t.canvasWidth,r=t.canvasHeight,n=MI(t),i=n.pan,a=n.zoom,s=BM();Xk(s,s,[i.x,i.y]),aI(s,s,[a,a]);var l=BM();bqe(l,e,r);var u=BM();return xqe(u,l,s),u}function Hhe(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=MI(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 Pqe(t,e){t.drawSelectionRectangle(e,function(r){return Hhe(t,r)})}function Bqe(t){var e=t.data.contexts[t.NODE];e.save(),Hhe(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 Fqe(t){var e=o(function(i,a,s){for(var l=i.atlasManager.getAtlasCollection(a),u=t.data.contexts[t.NODE],h=l.atlases,f=0;f=0&&S.add(C)}return S}function zqe(t,e,r){var n=$qe(t,e,r),i=t.getCachedZSortedEles(),a,s,l=qs(n),u;try{for(l.s();!(u=l.n()).done;){var h=u.value,f=i[h];if(!a&&f.isNode()&&(a=f),!s&&f.isEdge()&&(s=f),a&&s)break}}catch(d){l.e(d)}finally{l.f()}return[a,s].filter(Boolean)}function VM(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 qhe(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]&&Pqe(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 l=Oqe(t),u=t.getCachedZSortedEles();if(a=u.length,i.startFrame(l,r),r.screen){for(var h=0;h{"use strict";o(UM,"_arrayLikeToArray");o(x$e,"_arrayWithHoles");o(b$e,"_arrayWithoutHoles");o(Af,"_classCallCheck");o(T$e,"_defineProperties");o(_f,"_createClass");o(qs,"_createForOfIteratorHelper");o(cue,"_defineProperty$1");o(w$e,"_iterableToArray");o(k$e,"_iterableToArrayLimit");o(E$e,"_nonIterableRest");o(S$e,"_nonIterableSpread");o(_i,"_slicedToArray");o(jk,"_toConsumableArray");o(C$e,"_toPrimitive");o(uue,"_toPropertyKey");o($i,"_typeof");o(cI,"_unsupportedIterableToArray");Bi=typeof window>"u"?null:window,Ooe=Bi?Bi.navigator:null;Bi&&Bi.document;A$e=$i(""),hue=$i({}),_$e=$i(function(){}),D$e=typeof HTMLElement>"u"?"undefined":$i(HTMLElement),mx=o(function(e){return e&&e.instanceString&&oi(e.instanceString)?e.instanceString():null},"instanceStr"),Jt=o(function(e){return e!=null&&$i(e)==A$e},"string"),oi=o(function(e){return e!=null&&$i(e)===_$e},"fn"),An=o(function(e){return!fo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Yr=o(function(e){return e!=null&&$i(e)===hue&&!An(e)&&e.constructor===Object},"plainObject"),L$e=o(function(e){return e!=null&&$i(e)===hue},"object"),At=o(function(e){return e!=null&&$i(e)===$i(1)&&!isNaN(e)},"number"),R$e=o(function(e){return At(e)&&Math.floor(e)===e},"integer"),Kk=o(function(e){if(D$e!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),fo=o(function(e){return gx(e)||fue(e)},"elementOrCollection"),gx=o(function(e){return mx(e)==="collection"&&e._private.single},"element"),fue=o(function(e){return mx(e)==="collection"&&!e._private.single},"collection"),uI=o(function(e){return mx(e)==="core"},"core"),due=o(function(e){return mx(e)==="stylesheet"},"stylesheet"),N$e=o(function(e){return mx(e)==="event"},"event"),Tf=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),M$e=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),I$e=o(function(e){return Yr(e)&&At(e.x1)&&At(e.x2)&&At(e.y1)&&At(e.y2)},"boundingBox"),O$e=o(function(e){return L$e(e)&&oi(e.then)},"promise"),P$e=o(function(){return Ooe&&Ooe.userAgent.match(/msie|trident|edge/i)},"ms"),lg=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),U$e=o(function(e,r){return-1*mue(e,r)},"descending"),ir=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+$$e+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),W$e=o(function(e){var r,n=new RegExp("^"+B$e+"$").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 l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),Y$e=o(function(e){return X$e[e.toLowerCase()]},"colorname2tuple"),gue=o(function(e){return(An(e)?e:null)||Y$e(e)||H$e(e)||W$e(e)||q$e(e)},"color2tuple"),X$e={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]},yue=o(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:yp,n=r,i;i=e.next(),!i.done;)n=n*Tue+i.value|0;return n},"hashIterableInts"),ax=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:yp;return r*Tue+e|0},"hashInt"),sx=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:eg;return(r<<5)+r+e|0},"hashIntAlt"),sze=o(function(e,r){return e*2097152+r},"combineHashes"),df=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),Ck=o(function(e,r){return[ax(e[0],r[0]),sx(e[1],r[1])]},"hashArrays"),Qoe=o(function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:o(function(){return i=0;i--)e[i]===r&&e.splice(i,1)},"removeFromArray"),mI=o(function(e){e.splice(0,e.length)},"clearArray"),gze=o(function(e,r){for(var n=0;n"u"?"undefined":$i(Set))!==vze?Set:xze,hE=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!uI(e)){Kn("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"){Kn("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 hg,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,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];An(r.classes)?h=r.classes:Jt(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;f0;){var k=b.pop(),C=v(k),A=k.id();if(p[A]=C,C!==1/0)for(var L=k.neighborhood().intersect(g),I=0;I0)for(B.unshift(P);d[V];){var $=d[V];B.unshift($.edge),B.unshift($.node),F=$.node,V=F.id()}return l.spawn(B)},"pathTo")}},"dijkstra")},Cze={kruskal:o(function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),l=n,u=o(function(S){for(var w=0;w0;){if(w(),C++,S===f){for(var A=[],L=a,I=f,R=x[I];A.unshift(L),R!=null&&A.unshift(R),L=v[I],L!=null;)I=L.id(),R=x[I];return{found:!0,distance:d[S],path:this.spawn(A),steps:C}}m[S]=!0;for(var E=T._private.edges,_=0;_R&&(g[I]=R,b[I]=L,T[I]=w),!a){var E=L*f+A;!a&&g[E]>R&&(g[E]=R,b[E]=A,T[E]=w)}}}for(var _=0;_1&&arguments[1]!==void 0?arguments[1]:s,pe=T(W),Be=[],Ye=pe;;){if(Ye==null)return r.spawn();var He=b(Ye),Le=He.edge,Ie=He.pred;if(Be.unshift(Ye[0]),Ye.same(Ve)&&Be.length>0)break;Le!=null&&Be.unshift(Le),Ye=Ie}return u.spawn(Be)},"pathTo"),k=0;k=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=Ize(a,e,r),n--}return r},"contractUntil"),Oze={kargerStein:o(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(B){return B.isLoop()});var a=n.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/Mze);if(a<2){Kn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&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;s1&&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):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),Gze=o(function(e){return Math.PI*e/180},"deg2rad"),Ak=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),gI=Math.log2||function(t){return Math.log(t)/Math.log(2)},yI=o(function(e){return e>0?1:e<0?-1:0},"signum"),Tp=o(function(e,r){return Math.sqrt(mp(e,r))},"dist"),mp=o(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),Vze=o(function(e){for(var r=e.length,n=0,i=0;i=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}}},"makeBoundingBox"),Hze=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),qze=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),Wze=o(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},"updateBoundingBox"),Due=o(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},"expandBoundingBoxByPoint"),$k=o(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},"expandBoundingBox"),zk=o(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 l=_i(r,4);n=l[0],i=l[1],a=l[2],s=l[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},"expandBoundingBoxSides"),nle=o(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},"assignBoundingBox"),vI=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),yf=o(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),ile=o(function(e,r){return yf(e,r.x,r.y)},"pointInBoundingBox"),Lue=o(function(e,r){return yf(e,r.x1,r.y1)&&yf(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),Yze=(LN=Math.hypot)!==null&&LN!==void 0?LN:function(t,e){return Math.sqrt(t*t+e*e)};o(Xze,"inflatePolygon");o(jze,"miterBox");Rue=o(function(e,r,n,i,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?kf(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=vf(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var T=n+f+l,S=i-d+h-l,w=T,k=i+d-h+l;if(g=vf(e,r,n,i,T,S,w,k,!1),g.length>0)return g}if(p){var C=n-f+h-l,A=i+d+l,L=n+f-h+l,I=A;if(g=vf(e,r,n,i,C,A,L,I,!1),g.length>0)return g}if(m){var R=n-f-l,E=i-d+h-l,_=R,D=i+d-h+l;if(g=vf(e,r,n,i,R,E,_,D,!1),g.length>0)return g}var O;{var N=n-f+h,P=i-d+h;if(O=J2(e,r,n,i,N,P,h+l),O.length>0&&O[0]<=N&&O[1]<=P)return[O[0],O[1]]}{var B=n+f-h,F=i-d+h;if(O=J2(e,r,n,i,B,F,h+l),O.length>0&&O[0]>=B&&O[1]<=F)return[O[0],O[1]]}{var V=n+f-h,$=i+d-h;if(O=J2(e,r,n,i,V,$,h+l),O.length>0&&O[0]>=V&&O[1]>=$)return[O[0],O[1]]}{var U=n-f+h,j=i+d-h;if(O=J2(e,r,n,i,U,j,h+l),O.length>0&&O[0]<=U&&O[1]>=j)return[O[0],O[1]]}return[]},"roundRectangleIntersectLine"),Kze=o(function(e,r,n,i,a,s,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,s),p=Math.max(i,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),Qze=o(function(e,r,n,i,a,s,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,s)-h,y2:Math.max(i,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),Zze=o(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),Jze=o(function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),eGe=o(function(e,r,n,i,a,s,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*s+2*i*u+4*s*s-4*s*u+u*u,f=9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*s-3*i*i-3*i*u-6*s*s+3*s*u,d=3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*s+i*u-i*r+2*s*s+2*s*r-u*r,p=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,m=[];Jze(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,T,S,w=0;w=0?Sh?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),Hs=o(function(e,r,n){for(var i,a,s,l,u,h=0,f=0;f=e&&e>=s||i<=e&&e<=s)u=(e-i)/(s-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Vu=o(function(e,r,n,i,a,s,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=eE(f,-h);y=Jk(v)}else y=f;return Hs(e,r,y)},"pointInsidePolygon"),rGe=o(function(e,r,n,i,a,s,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var T=b[0]*u[0]+e,S=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[T,S];var w=b[1]*u[0]+e,k=b[1]*u[1]+r;return[T,S,w,k]}else return[T,S]},"intersectLineCircle"),RN=o(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),vf=o(function(e,r,n,i,a,s,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-s,g=i-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var T=v/b,S=x/b,w=.001,k=0-w,C=1+w;return k<=T&&T<=C&&k<=S&&S<=C?[e+T*d,r+T*g]:h?[e+T*d,r+T*g]:[]}else return v===0||x===0?RN(e,n,l)===l?[l,u]:RN(e,n,a)===a?[a,s]:RN(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),iGe=o(function(e,r,n,i,a){var s=[],l=i/2,u=a/2,h=r,f=n;s.push({x:h+l*e[0],y:f+u*e[1]});for(var d=1;d0){var y=eE(d,-u);m=Jk(y)}else m=d}else m=n;for(var v,x,b,T,S=0;S2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=S)},"set"),get:o(function(T){return h[T]},"get")},p=0;p0?O=D.edgesTo(_)[0]:O=_.edgesTo(D)[0];var N=i(O);_=_.id(),C[_]>C[R]+N&&(C[_]=C[R]+N,A.nodes.indexOf(_)<0?A.push(_):A.updateItem(_),k[_]=0,w[_]=[]),C[_]==C[R]+N&&(k[_]=k[_]+k[R],w[_].push(R))}else for(var P=0;P0;){for(var $=S.pop(),U=0;U0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),xGe=o(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:wGe,l=i,u,h,f=0;f=2?W2(e,r,n,0,cle,kGe):W2(e,r,n,0,lle)},"euclidean"),squaredEuclidean:o(function(e,r,n){return W2(e,r,n,0,cle)},"squaredEuclidean"),manhattan:o(function(e,r,n){return W2(e,r,n,0,lle)},"manhattan"),max:o(function(e,r,n){return W2(e,r,n,-1/0,EGe)},"max")};cg["squared-euclidean"]=cg.squaredEuclidean;cg.squaredeuclidean=cg.squaredEuclidean;o(dE,"clusteringDistance");SGe=ba({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),bI=o(function(e){return SGe(e)},"setOptions"),tE=o(function(e,r,n,i,a){var s=a!=="kMedoids",l=s?function(d){return n[d]}:function(d){return i[d](n)},u=o(function(p){return i[p](r)},"getQ"),h=n,f=r;return dE(e,i.length,l,u,h,f)},"getDist"),MN=o(function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),_Ge=o(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[i[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),mle=o(function(e,r,n){for(var i=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&i.push(s)}for(var f=0;fh&&(u=f,h=d)}n[a]=s[u]}return i=mle(e,r,n),i},"assign"),gle=o(function(e){for(var r=this.cy(),n=this.nodes(),i=zGe(e),a={},s=0;s=R?(E=R,R=D,_=O):D>E&&(E=D);for(var N=0;N0?1:0;C[L%i.minIterations*l+U]=j,$+=j}if($>0&&(L>=i.minIterations-1||L==i.maxIterations-1)){for(var ee=0,q=0;q1||k>1)&&(l=!0),d[T]=[],b.outgoers().forEach(function(A){A.isEdge()&&d[T].push(A.id())})}else p[T]=[void 0,b.target().id()]}):s.forEach(function(b){var T=b.id();if(b.isNode()){var S=b.degree(!0);S%2&&(u?h?l=!0:h=T:u=T),d[T]=[],b.connectedEdges().forEach(function(w){return d[T].push(w.id())})}else p[T]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(T){for(var S=T,w=[T],k,C,A;d[S].length;)k=d[S].shift(),C=p[k][0],A=p[k][1],S!=A?(d[A]=d[A].filter(function(L){return L!=k}),S=A):!a&&S!=C&&(d[C]=d[C].filter(function(L){return L!=k}),S=C),w.unshift(k),w.unshift(S);return w},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},Dk=o(function(){var e=this,r={},n=0,i=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(T){var S=T.id(),w=T.connectedEdges().intersection(e);v.merge(T),r[S].cutVertex?v.merge(w.filter(function(k){return k.isLoop()})):v.merge(w)})}),a.push(v)},"buildComponent"),h=o(function(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,T;y.forEach(function(S){v=S.source().id(),x=S.target().id(),b=v===m?x:v,b!==g&&(T=S.id(),l[T]||(l[T]=!0,s.push({x:m,y:b,edge:S})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(h(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),XGe={hopcroftTarjanBiconnected:Dk,htbc:Dk,htb:Dk,hopcroftTarjanBiconnectedComponents:Dk},Lk=o(function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),l=o(function(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||l(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:i}},"tarjanStronglyConnected"),jGe={tarjanStronglyConnected:Lk,tsc:Lk,tscc:Lk,tarjanStronglyConnectedComponents:Lk},Fue={};[ox,Sze,Cze,_ze,Lze,Nze,Oze,lGe,ag,sg,WM,TGe,IGe,FGe,qGe,YGe,XGe,jGe].forEach(function(t){ir(Fue,t)});$ue=0,zue=1,Gue=2,Il=o(function(e){if(!(this instanceof Il))return new Il(e);this.id="Thenable/1.0.7",this.state=$ue,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))},"api");Il.prototype={fulfill:o(function(e){return yle(this,zue,"fulfillValue",e)},"fulfill"),reject:o(function(e){return yle(this,Gue,"rejectReason",e)},"reject"),then:o(function(e,r){var n=this,i=new Il;return n.onFulfilled.push(xle(e,i,"fulfill")),n.onRejected.push(xle(r,i,"reject")),Vue(n),i.proxy},"then")};yle=o(function(e,r,n,i){return e.state===$ue&&(e.state=r,e[n]=i,Vue(e)),e},"deliver"),Vue=o(function(e){e.state===zue?vle(e,"onFulfilled",e.fulfillValue):e.state===Gue&&vle(e,"onRejected",e.rejectReason)},"execute"),vle=o(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(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;s0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){An(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,l=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(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},"flashClass")};Gk.className=Gk.classNames=Gk.classes;Wr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Fi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Wr.variable="(?:[\\w-.]|(?:\\\\"+Wr.metaChar+"))+";Wr.className="(?:[\\w-]|(?:\\\\"+Wr.metaChar+"))+";Wr.value=Wr.string+"|"+Wr.number;Wr.id=Wr.variable;(function(){var t,e,r;for(t=Wr.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(Wr.comparatorOp+="|\\!"+e)})();xn=o(function(){return{checks:[]}},"newQuery"),zt={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},KM=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return U$e(t.selector,e.selector)}),WVe=(function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return hn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return hn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&hn("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},"parse"),ZVe=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return Jt(f)?'"'+f+'"':e(f)},"cleanVal"),n=o(function(f){return" "+f+" "},"space"),i=o(function(f,d){var p=f.type,m=f.value;switch(p){case zt.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case zt.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case zt.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case zt.DATA_EXIST:{var T=f.field;return"["+T+"]"}case zt.META_COMPARE:{var S=f.operator,w=f.field;return"[["+w+n(e(S))+r(m)+"]]"}case zt.STATE:return m;case zt.ID:return"#"+m;case zt.CLASS:return"."+m;case zt.PARENT:case zt.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case zt.ANCESTOR:case zt.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case zt.COMPOUND_SPLIT:{var k=a(f.left,d),C=a(f.subject,d),A=a(f.right,d);return k+(k.length>0?" ":"")+C+A}case zt.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return EI(this,t,e,Kue)};o(Que,"addParent");ug.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return EI(this,t,e,Que)};o(sUe,"addParentAndChildren");ug.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return EI(this,t,e,sUe)};ug.ancestors=ug.parents;ux=Zue={data:un.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:un.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:un.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:un.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:un.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:un.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};ux.attr=ux.data;ux.removeAttr=ux.removeData;oUe=Zue,vE={};o(RM,"defineDegreeFunction");ir(vE,{degree:RM(function(t,e){return e.source().same(e.target())?2:1}),indegree:RM(function(t,e){return e.target().same(t)?1:0}),outdegree:RM(function(t,e){return e.source().same(t)?1:0})});o(Xm,"defineDegreeBoundsFunction");ir(vE,{minDegree:Xm("degree",function(t,e){return te}),minIndegree:Xm("indegree",function(t,e){return te}),minOutdegree:Xm("outdegree",function(t,e){return te})});ir(vE,{totalDegree:o(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.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},"relativePosition")};Ml.modelPosition=Ml.point=Ml.position;Ml.modelPositions=Ml.points=Ml.positions;Ml.renderedPoint=Ml.renderedPosition;Ml.relativePoint=Ml.relativePosition;lUe=Jue;og=Df={};Df.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,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};Df.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)};Df.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 l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(L,I,R){var E=0,_=0,D=I+R;return L>0&&D>0&&(E=I/D*L,_=R/D*L),{biasDiff:E,biasComplementDiff:_}}o(m,"computeBiasValues");function g(L,I,R,E){if(R.units==="%")switch(E){case"width":return L>0?R.pfValue*L:0;case"height":return I>0?R.pfValue*I:0;case"average":return L>0&&I>0?R.pfValue*(L+I)/2:0;case"min":return L>0&&I>0?L>I?R.pfValue*I:R.pfValue*L:0;case"max":return L>0&&I>0?L>I?R.pfValue*L:R.pfValue*I:0;default:return 0}else return R.units==="px"?R.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var T=m(f.width.val-d.w,y,v),S=T.biasDiff,w=T.biasComplementDiff,k=m(f.height.val-d.h,x,b),C=k.biasDiff,A=k.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-S+d.x1+d.x2+w)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-C+d.y1+d.y2+A)/2}o(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),mf=o(function(e,r){return r==null?e:Nl(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),Y2=o(function(e,r,n){return Us(e,r,n)},"prefixedProperty"),Rk=o(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,$k(d,1),Nl(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),NM=o(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=Y2(s,"labelWidth",n),d=Y2(s,"labelHeight",n),p=Y2(s,"labelX",n),m=Y2(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,S=T/2,w=r.pstyle("text-background-padding").pfValue,k=2,C=d,A=f,L=A/2,I=C/2,R,E,_,D;if(v)R=p-L,E=p+L,_=m-I,D=m+I;else{switch(u.value){case"left":R=p-A,E=p;break;case"center":R=p-L,E=p+L;break;case"right":R=p,E=p+A;break}switch(h.value){case"top":_=m-C,D=m;break;case"center":_=m-I,D=m+I;break;case"bottom":_=m,D=m+C;break}}var O=g-Math.max(b,S)-w-k,N=g+Math.max(b,S)+w+k,P=y-Math.max(b,S)-w-k,B=y+Math.max(b,S)+w+k;R+=O,E+=N,_+=P,D+=B;var F=n||"main",V=a.labelBounds,$=V[F]=V[F]||{};$.x1=R,$.y1=_,$.x2=E,$.y2=D,$.w=E-R,$.h=D-_,$.leftPad=O,$.rightPad=N,$.topPad=P,$.botPad=B;var U=v&&x.strValue==="autorotate",j=x.pfValue!=null&&x.pfValue!==0;if(U||j){var ee=U?Y2(a.rstyle,"labelAngle",n):x.pfValue,q=Math.cos(ee),oe=Math.sin(ee),Q=(R+E)/2,ue=(_+D)/2;if(!v){switch(u.value){case"left":Q=E;break;case"right":Q=R;break}switch(h.value){case"top":ue=D;break;case"bottom":ue=_;break}}var te=o(function(Te,W){return Te=Te-Q,W=W-ue,{x:Te*q-W*oe+Q,y:Te*oe+W*q+ue}},"rotate"),re=te(R,_),J=te(R,D),K=te(E,_),ae=te(E,D);R=Math.min(re.x,J.x,K.x,ae.x),E=Math.max(re.x,J.x,K.x,ae.x),_=Math.min(re.y,J.y,K.y,ae.y),D=Math.max(re.y,J.y,K.y,ae.y)}var Z=F+"Rot",de=V[Z]=V[Z]||{};de.x1=R,de.y1=_,de.x2=E,de.y2=D,de.w=E-R,de.h=D-_,Nl(e,R,_,E,D),Nl(a.labelBounds.all,R,_,E,D)}return e}},"updateBoundsFromLabel"),vce=o(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;the(e,r,n,s,"outside",s/2)}},"updateBoundsFromOutline"),the=o(function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var l=r.cy(),u=r.pstyle("shape").value,h=l.renderer().nodeShapes[u],f=r.position(),d=f.x,p=f.y,m=r.width(),g=r.height();if(h.hasMiterBounds){a==="center"&&(i/=2);var y=h.miterBounds(d,p,m,g,i);mf(e,y)}else s!=null&&s>0&&zk(e,[s,s,s,s])}},"updateBoundsFromMiter"),cUe=o(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;the(e,r,n,i,a)}},"updateBoundsFromMiterBorder"),uUe=o(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=cs(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(ne){return ne.pstyle("display").value!=="none"},"isDisplayed"),T=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(T){var S=0,w=0;i&&r.includeOverlays&&(S=e.pstyle("overlay-opacity").value,S!==0&&(w=e.pstyle("overlay-padding").value));var k=0,C=0;i&&r.includeUnderlays&&(k=e.pstyle("underlay-opacity").value,k!==0&&(C=e.pstyle("underlay-padding").value));var A=Math.max(w,C),L=0,I=0;if(i&&(L=e.pstyle("width").pfValue,I=L/2),u&&r.includeNodes){var R=e.position();g=R.x,y=R.y;var E=e.outerWidth(),_=E/2,D=e.outerHeight(),O=D/2;f=g-_,d=g+_,p=y-O,m=y+O,Nl(s,f,p,d,m),i&&vce(s,e),i&&r.includeOutlines&&!a&&vce(s,e),i&&cUe(s,e)}else if(h&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=I,d+=I,p-=I,m+=I,Nl(s,f,p,d,m),N==="haystack"){var P=v.haystackPts;if(P&&P.length===2){if(f=P[0].x,p=P[0].y,d=P[1].x,m=P[1].y,f>d){var B=f;f=d,d=B}if(p>m){var F=p;p=m,m=F}Nl(s,f-I,p-I,d+I,m+I)}}else if(N==="bezier"||N==="unbundled-bezier"||gf(N,"segments")||gf(N,"taxi")){var V;switch(N){case"bezier":case"unbundled-bezier":V=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":V=v.linePts;break}if(V!=null)for(var $=0;$d){var Q=f;f=d,d=Q}if(p>m){var ue=p;p=m,m=ue}f-=I,d+=I,p-=I,m+=I,Nl(s,f,p,d,m)}if(i&&r.includeEdges&&h&&(Rk(s,e,"mid-source"),Rk(s,e,"mid-target"),Rk(s,e,"source"),Rk(s,e,"target")),i){var te=e.pstyle("ghost").value==="yes";if(te){var re=e.pstyle("ghost-offset-x").pfValue,J=e.pstyle("ghost-offset-y").pfValue;Nl(s,s.x1+re,s.y1+J,s.x2+re,s.y2+J)}}var K=l.bodyBounds=l.bodyBounds||{};nle(K,s),zk(K,x),$k(K,1),i&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,Nl(s,f-A,p-A,d+A,m+A));var ae=l.overlayBounds=l.overlayBounds||{};nle(ae,s),zk(ae,x),$k(ae,1);var Z=l.labelBounds=l.labelBounds||{};Z.all!=null?qze(Z.all):Z.all=cs(),i&&r.includeLabels&&(r.includeMainLabels&&NM(s,e,null),h&&(r.includeSourceLabels&&NM(s,e,"source"),r.includeTargetLabels&&NM(s,e,"target")))}return s.x1=Xo(s.x1),s.y1=Xo(s.y1),s.x2=Xo(s.x2),s.y2=Xo(s.y2),s.w=Xo(s.x2-s.x1),s.h=Xo(s.y2-s.y1),s.w>0&&s.h>0&&T&&(zk(s,x),$k(s,1)),s},"boundingBoxImpl"),rhe=o(function(e){var r=0,n=o(function(s){return(s?1:0)<=0;l--)s(l);return this};Cf.removeAllListeners=function(){return this.removeListener("*")};Cf.emit=Cf.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,An(e)||(e=[e]),CUe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var l=o(function(){var f=n[u];if(f.type===s.type&&(!f.namespace||f.namespace===s.namespace||f.namespace===EUe)&&a.eventMatches(a.context,f,s)){var d=[s];e!=null&&gze(d,e),a.beforeEmit(a.context,f,s),f.conf&&f.conf.one&&(a.listeners=a.listeners.filter(function(g){return g!==f}));var p=a.callbackContext(a.context,f,s),m=f.callback.apply(p,d);a.afterEmit(a.context,f,s),m===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(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},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&Jt(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:o(function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":$i(Symbol))!=e&&$i(Symbol.iterator)!=e;r&&(rE[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return cue({next:o(function(){return a1&&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)}},"parsedStyle"),numericStyle:o(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}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:o(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(Yr(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(Jt(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(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;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});Fa.neighbourhood=Fa.neighborhood;Fa.closedNeighbourhood=Fa.closedNeighborhood;Fa.openNeighbourhood=Fa.openNeighborhood;ir(Fa,{source:jo(o(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:jo(o(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:Dce({attr:"source"}),targets:Dce({attr:"target"})});o(Dce,"defineSourceFunction");ir(Fa,{edgesWith:jo(Lce(),"edgesWith"),edgesTo:jo(Lce({thisIsSrc:!0}),"edgesTo")});o(Lce,"defineEdgesWithFunction");ir(Fa,{connectedEdges:jo(function(t){for(var e=[],r=this,n=0;n0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});Fa.componentsOf=Fa.components;xa=o(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){Kn("A collection must have a reference to the core");return}var a=new zu,s=!1;if(!r)r=[];else if(r.length>0&&Yr(r[0])&&!gx(r[0])){s=!0;for(var l=[],u=new hg,h=0,f=r.length;h0&&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=[],l,u=0,h=r.length;u0){for(var F=l.length===r.length?r:new xa(n,l),V=0;V0&&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(D){for(var O=D._private.edges,N=0;N0&&(t?R.emitAndNotify("remove"):e&&R.emit("remove"));for(var E=0;Ef&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")})(),In=o(function(e,r,n,i){var a=PUe(e,r,n,i);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),Uk={linear:o(function(e,r,n){return e+(r-e)*n},"linear"),ease:In(.25,.1,.25,1),"ease-in":In(.42,0,1,1),"ease-out":In(0,0,.58,1),"ease-in-out":In(.42,0,.58,1),"ease-in-sine":In(.47,0,.745,.715),"ease-out-sine":In(.39,.575,.565,1),"ease-in-out-sine":In(.445,.05,.55,.95),"ease-in-quad":In(.55,.085,.68,.53),"ease-out-quad":In(.25,.46,.45,.94),"ease-in-out-quad":In(.455,.03,.515,.955),"ease-in-cubic":In(.55,.055,.675,.19),"ease-out-cubic":In(.215,.61,.355,1),"ease-in-out-cubic":In(.645,.045,.355,1),"ease-in-quart":In(.895,.03,.685,.22),"ease-out-quart":In(.165,.84,.44,1),"ease-in-out-quart":In(.77,0,.175,1),"ease-in-quint":In(.755,.05,.855,.06),"ease-out-quint":In(.23,1,.32,1),"ease-in-out-quint":In(.86,0,.07,1),"ease-in-expo":In(.95,.05,.795,.035),"ease-out-expo":In(.19,1,.22,1),"ease-in-out-expo":In(1,0,0,1),"ease-in-circ":In(.6,.04,.98,.335),"ease-out-circ":In(.075,.82,.165,1),"ease-in-out-circ":In(.785,.135,.15,.86),spring:o(function(e,r,n){if(n===0)return Uk.linear;var i=BUe(e,r,n);return function(a,s,l){return a+(s-a)*i(l)}},"spring"),"cubic-bezier":In};o(Nce,"getEasedValue");o(Mce,"getValue");o(jm,"ease");o(FUe,"step$1");o(j2,"valid");o($Ue,"startAnimation");o(Ice,"stepAll");zUe={animate:un.animate(),animation:un.animation(),animated:un.animated(),clearQueue:un.clearQueue(),delay:un.delay(),delayAnimation:un.delayAnimation(),stop:un.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&Qk(o(function(a){Ice(a,e),r()},"animationStep"))}o(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(o(function(a,s){Ice(s,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},GUe={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&gx(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},Ik=o(function(e){return Jt(e)?new Ef(e):e},"argSelector"),dhe={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new xE(GUe,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,n){return this.emitter().on(e,Ik(r),n),this},"on"),removeListener:o(function(e,r,n){return this.emitter().removeListener(e,Ik(r),n),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,n){return this.emitter().one(e,Ik(r),n),this},"one"),once:o(function(e,r,n){return this.emitter().one(e,Ik(r),n),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};un.eventAliasesOn(dhe);ZM={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};ZM.jpeg=ZM.jpg;Hk={layout:o(function(e){var r=this;if(e==null){Kn("Layout options must be specified to make a layout");return}if(e.name==null){Kn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Kn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;Jt(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(ir({},e,{cy:r,eles:a}));return s},"layout")};Hk.createLayout=Hk.makeLayout=Hk.layout;VUe={notify:o(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)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(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},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)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=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};JM.invalidateDimensions=JM.resize;qk={collection:o(function(e,r){return Jt(e)?this.$(e):fo(e)?e.collection():An(e)?(r||(r={}),new xa(this,e,r.unique,r.removed)):new xa(this)},"collection"),nodes:o(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};qk.elements=qk.filter=qk.$;na={},rx="t",HUe="f";na.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(S=1),l.color){var k=n.valueMin[0],C=n.valueMax[0],A=n.valueMin[1],L=n.valueMax[1],I=n.valueMin[2],R=n.valueMax[2],E=n.valueMin[3]==null?1:n.valueMin[3],_=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(k+(C-k)*S),Math.round(A+(L-A)*S),Math.round(I+(R-I)*S),Math.round(E+(_-E)*S)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(l.number){var O=n.valueMin+(n.valueMax-n.valueMin)*S;a=this.parse(n.name,O,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),P=d.data,B=0;B0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:l,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)};na.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],l=i(s);t.removed()||l!=null&&l(r,n,t)&&a(s)};na.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)})};na.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};na.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()})})};na.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()})})};na.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)};kx={};kx.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){hn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new Ef(d);if(p.invalid){hn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){hn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],T=x[2],S=e.properties[b];if(!S){hn("Skipping property: Invalid property name in: "+s),u();continue}var w=r.parse(b,T);if(!w){hn("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:T}),u()}if(g){l();break}r.selector(d);for(var k=0;k=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return hn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var T;if(u?T=e.split(/\s+/):An(e)?T=e:T=[e],h.evenMultiple&&T.length%2!==0)return null;for(var S=[],w=[],k=[],C="",A=!1,L=0;L0?" ":"")+I.strValue}return h.validate&&!h.validate(S,w)?null:h.singleEnum&&A?S.length===1&&Jt(S[0])?{name:t,value:S[0],strValue:S[0],bypass:r}:null:{name:t,value:S,pfValue:k,strValue:C,bypass:r,units:w}}var R=o(function(){for(var te=0;teh.max||h.strictMax&&e===h.max))return null;var N={name:t,value:e,strValue:""+e+(E||""),units:E,bypass:r};return h.unitless||E!=="px"&&E!=="em"?N.pfValue=e:N.pfValue=E==="px"||!E?e:this.getEmSizeInPixels()*e,(E==="ms"||E==="s")&&(N.pfValue=E==="ms"?e:1e3*e),(E==="deg"||E==="rad")&&(N.pfValue=E==="rad"?e:Gze(e)),E==="%"&&(N.pfValue=e/100),N}else if(h.propList){var P=[],B=""+e;if(B!=="none"){for(var F=B.split(/\s*,\s*|\s+/),V=0;V0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((s-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),At(e)?s=e:Yr(e)&&(s=e.level,e.position!=null?a=fE(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;At(h.x)&&(r.pan.x=h.x,l=!1),At(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(Jt(e)){var n=e;e=this.mutableElements().filter(n)}else fo(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 l={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=o(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(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},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};kp.centre=kp.center;kp.autolockNodes=kp.autolock;kp.autoungrabifyNodes=kp.autoungrabify;fx={data:un.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:un.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:un.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:un.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};fx.attr=fx.data;fx.removeAttr=fx.removeData;dx=o(function(e){var r=this;e=ir({},e);var n=e.container;n&&!Kk(n)&&Kk(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=Bi!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=ir({name:s?"grid":"null"},l.layout),l.renderer=ir({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new xa(this),listeners:[],aniEles:new xa(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:At(l.zoom)?l.zoom:1,pan:{x:Yr(l.pan)&&At(l.pan.x)?l.pan.x:0,y:Yr(l.pan)&&At(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(O$e);if(v)return fg.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=ir({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(Yr(g)||An(g))&&r.add(g),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=ir({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,oi(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,l=!!t.boundingBox,u=cs(l?t.boundingBox:structuredClone(e.extent())),h;if(fo(t.roots))h=t.roots;else if(An(t.roots)){for(var f=[],d=0;d0;){var D=_(),O=L(D,R);if(O)D.outgoers().filter(function(Ve){return Ve.isNode()&&r.has(Ve)}).forEach(E);else if(O===null){hn("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var N=0;if(t.avoidOverlap)for(var P=0;P0&&x[0].length<=3?Le/2:0),Ne=2*Math.PI/x[Ye].length*He;return Ye===0&&x[0].length===1&&(Ie=1),{x:K.x+Ie*Math.cos(Ne),y:K.y+Ie*Math.sin(Ne)}}else{var Ce=x[Ye].length,Fe=Math.max(Ce===1?0:l?(u.w-t.padding*2-ae.w)/((t.grid?de:Ce)-1):(u.w-t.padding*2-ae.w)/((t.grid?de:Ce)+1),N),fe={x:K.x+(He+1-(Ce+1)/2)*Fe,y:K.y+(Ye+1-(q+1)/2)*Z};return fe}},"getPositionTopBottom"),Te={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(Te).indexOf(t.direction)===-1&&Kn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(Te).join(", ")));var W=o(function(pe){return uze(ne(pe),u,Te[t.direction])},"getPosition");return r.nodes().layoutPositions(this,t,W),this};jUe={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:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(mhe,"CircleLayout");mhe.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=cs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),T=Math.sqrt(d*d/(x*x+b*b));f=Math.max(T,f)}var S=o(function(k,C){var A=e.startAngle+C*h*(i?1:-1),L=f*Math.cos(A),I=f*Math.sin(A),R={x:l.x+L,y:l.y+I};return R},"getPos");return n.nodes().layoutPositions(this,e,S),this};KUe={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:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(ghe,"ConcentricLayout");ghe.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=cs(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var w=Math.abs(b[0].value-S.value);w>=v&&(b=[],x.push(b))}b.push(S)}var k=h+e.minNodeSpacing;if(!e.avoidOverlap){var C=x.length>0&&x[0].length>1,A=Math.min(s.w,s.h)/2-k,L=A/(x.length+C?1:0);k=Math.min(k,L)}for(var I=0,R=0;R1&&e.avoidOverlap){var O=Math.cos(D)-Math.cos(0),N=Math.sin(D)-Math.sin(0),P=Math.sqrt(k*k/(O*O+N*N));I=Math.max(P,I)}E.r=I,I+=k}if(e.equidistant){for(var B=0,F=0,V=0;V=t.numIter||(nHe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),Qk(f)}},"frame");f()}else{for(;h;)h=s(u),u++;Bce(n,t),l()}return this};EE.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};EE.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};ZUe=o(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=cs(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={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},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(A);for(var f=0;fi.count?0:i.graph},"findLCA"),yhe=o(function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=iE(e,l,u),v=iE(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,T=x*x+b*b,p=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),sHe=o(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},"nodesOverlap"),iE=o(function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=n/r,h=s/l,f={};return r===0&&0n?(f.x=i,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+s*r/2/n,f.y=a+s/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-s*r/2/n,f.y=a-s/2),f)},"findClippingPoint"),oHe=o(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),cHe=o(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++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),xhe=o(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.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),fHe={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:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(bhe,"GridLayout");bhe.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=cs(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(j){return{x:a.x1,y:a.y1}});else{var s=i.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(ee){if(ee==null)return Math.min(u,h);var q=Math.min(u,h);q==u?u=ee:h=ee},"small"),d=o(function(ee){if(ee==null)return Math.max(u,h);var q=Math.max(u,h);q==u?u=ee:h=ee},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,T=a.h/u;if(e.condense&&(b=0,T=0),e.avoidOverlap)for(var S=0;S=h&&(O=0,D++)},"moveToNextCell"),P={},B=0;B(O=tGe(t,e,N[P],N[P+1],N[P+2],N[P+3])))return v(C,O),!0}else if(L.edgeType==="bezier"||L.edgeType==="multibezier"||L.edgeType==="self"||L.edgeType==="compound"){for(var N=L.allpts,P=0;P+5(O=eGe(t,e,N[P],N[P+1],N[P+2],N[P+3],N[P+4],N[P+5])))return v(C,O),!0}for(var B=B||A.source,F=F||A.target,V=i.getArrowWidth(I,R),$=[{name:"source",x:L.arrowStartX,y:L.arrowStartY,angle:L.srcArrowAngle},{name:"target",x:L.arrowEndX,y:L.arrowEndY,angle:L.tgtArrowAngle},{name:"mid-source",x:L.midX,y:L.midY,angle:L.midsrcArrowAngle},{name:"mid-target",x:L.midX,y:L.midY,angle:L.midtgtArrowAngle}],P=0;P<$.length;P++){var U=$[P],j=a.arrowShapes[C.pstyle(U.name+"-arrow-shape").value],ee=C.pstyle("width").pfValue;if(j.roughCollide(t,e,V,U.angle,{x:U.x,y:U.y},ee,f)&&j.collide(t,e,V,U.angle,{x:U.x,y:U.y},ee,f))return v(C),!0}h&&l.length>0&&(x(B),x(F))}o(b,"checkEdge");function T(C,A,L){return Us(C,A,L)}o(T,"preprop");function S(C,A){var L=C._private,I=p,R;A?R=A+"-":R="",C.boundingBox();var E=L.labelBounds[A||"main"],_=C.pstyle(R+"label").value,D=C.pstyle("text-events").strValue==="yes";if(!(!D||!_)){var O=T(L.rscratch,"labelX",A),N=T(L.rscratch,"labelY",A),P=T(L.rscratch,"labelAngle",A),B=C.pstyle(R+"text-margin-x").pfValue,F=C.pstyle(R+"text-margin-y").pfValue,V=E.x1-I-B,$=E.x2+I-B,U=E.y1-I-F,j=E.y2+I-F;if(P){var ee=Math.cos(P),q=Math.sin(P),oe=o(function(ae,Z){return ae=ae-O,Z=Z-N,{x:ae*ee-Z*q+O,y:ae*q+Z*ee+N}},"rotate"),Q=oe(V,U),ue=oe(V,j),te=oe($,U),re=oe($,j),J=[Q.x+B,Q.y+F,te.x+B,te.y+F,re.x+B,re.y+F,ue.x+B,ue.y+F];if(Hs(t,e,J))return v(C),!0}else if(yf(E,t,e))return v(C),!0}}o(S,"checkLabel");for(var w=s.length-1;w>=0;w--){var k=s[w];k.isNode()?x(k)||S(k):b(k)||S(k)||S(k,"source")||S(k,"target")}return l};Sp.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,l=[],u=Math.min(t,r),h=Math.max(t,r),f=Math.min(e,n),d=Math.max(e,n);t=u,r=h,e=f,n=d;var p=cs({x1:t,y1:e,x2:r,y2:n}),m=[{x:p.x1,y:p.y1},{x:p.x2,y:p.y1},{x:p.x2,y:p.y2},{x:p.x1,y:p.y2}],g=[[m[0],m[1]],[m[1],m[2]],[m[2],m[3]],[m[3],m[0]]];function y(ae,Z,de){return Us(ae,Z,de)}o(y,"preprop");function v(ae,Z){var de=ae._private,ne=s,Te="";ae.boundingBox();var W=de.labelBounds.main;if(!W)return null;var Ve=y(de.rscratch,"labelX",Z),pe=y(de.rscratch,"labelY",Z),Be=y(de.rscratch,"labelAngle",Z),Ye=ae.pstyle(Te+"text-margin-x").pfValue,He=ae.pstyle(Te+"text-margin-y").pfValue,Le=W.x1-ne-Ye,Ie=W.x2+ne-Ye,Ne=W.y1-ne-He,Ce=W.y2+ne-He;if(Be){var Fe=Math.cos(Be),fe=Math.sin(Be),xe=o(function(he,z){return he=he-Ve,z=z-pe,{x:he*Fe-z*fe+Ve,y:he*fe+z*Fe+pe}},"rotate");return[xe(Le,Ne),xe(Ie,Ne),xe(Ie,Ce),xe(Le,Ce)]}else return[{x:Le,y:Ne},{x:Ie,y:Ne},{x:Ie,y:Ce},{x:Le,y:Ce}]}o(v,"getRotatedLabelBox");function x(ae,Z,de,ne){function Te(W,Ve,pe){return(pe.y-W.y)*(Ve.x-W.x)>(Ve.y-W.y)*(pe.x-W.x)}return o(Te,"ccw"),Te(ae,de,ne)!==Te(Z,de,ne)&&Te(ae,Z,de)!==Te(ae,Z,ne)}o(x,"doLinesIntersect");for(var b=0;b0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),vHe=o(function(e,r,n,i,a){if(e!==Vce?Uce(r,e,Ic):yHe(Yo,Ic),Uce(r,n,Yo),zce=Ic.nx*Yo.ny-Ic.ny*Yo.nx,Gce=Ic.nx*Yo.nx-Ic.ny*-Yo.ny,Fu=Math.asin(Math.max(-1,Math.min(1,zce))),Math.abs(Fu)<1e-6){eI=r.x,tI=r.y,gp=Qm=0;return}vp=1,Wk=!1,Gce<0?Fu<0?Fu=Math.PI+Fu:(Fu=Math.PI-Fu,vp=-1,Wk=!0):Fu>0&&(vp=-1,Wk=!0),r.radius!==void 0?Qm=r.radius:Qm=i,fp=Fu/2,Ok=Math.min(Ic.len/2,Yo.len/2),a?(Nc=Math.abs(Math.cos(fp)*Qm/Math.sin(fp)),Nc>Ok?(Nc=Ok,gp=Math.abs(Nc*Math.sin(fp)/Math.cos(fp))):gp=Qm):(Nc=Math.min(Ok,Qm),gp=Math.abs(Nc*Math.sin(fp)/Math.cos(fp))),rI=r.x+Yo.nx*Nc,nI=r.y+Yo.ny*Nc,eI=rI-Yo.ny*gp*vp,tI=nI+Yo.nx*gp*vp,Ehe=r.x+Ic.nx*Nc,She=r.y+Ic.ny*Nc,Vce=r},"calcCornerArc");o(Che,"drawPreparedRoundCorner");o(LI,"getRoundCorner");px=.01,xHe=Math.sqrt(2*px),za={};za.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(w,k,C,A){var L=A-k,I=C-w,R=Math.sqrt(I*I+L*L);return{x:-L/R,y:I/R}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=_i(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=_i(y,2),x=v[0],b=v[1],T={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=T}else hn("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}};za.findHaystackPoints=function(t){for(var e=0;e0?Math.max(z-se,0):Math.min(z+se,0)},"subDWH"),_=E(I,A),D=E(R,L),O=!1;b===h?x=Math.abs(_)>Math.abs(D)?i:n:b===u||b===l?(x=n,O=!0):(b===a||b===s)&&(x=i,O=!0);var N=x===n,P=N?D:_,B=N?R:I,F=yI(B),V=!1;!(O&&(S||k))&&(b===l&&B<0||b===u&&B>0||b===a&&B>0||b===s&&B<0)&&(F*=-1,P=F*Math.abs(P),V=!0);var $;if(S){var U=w<0?1+w:w;$=U*P}else{var j=w<0?P:0;$=j+w*F}var ee=o(function(z){return Math.abs(z)=Math.abs(P)},"getIsTooClose"),q=ee($),oe=ee(Math.abs(P)-Math.abs($)),Q=q||oe;if(Q&&!V)if(N){var ue=Math.abs(B)<=p/2,te=Math.abs(I)<=m/2;if(ue){var re=(f.x1+f.x2)/2,J=f.y1,K=f.y2;r.segpts=[re,J,re,K]}else if(te){var ae=(f.y1+f.y2)/2,Z=f.x1,de=f.x2;r.segpts=[Z,ae,de,ae]}else r.segpts=[f.x1,f.y2]}else{var ne=Math.abs(B)<=d/2,Te=Math.abs(R)<=g/2;if(ne){var W=(f.y1+f.y2)/2,Ve=f.x1,pe=f.x2;r.segpts=[Ve,W,pe,W]}else if(Te){var Be=(f.x1+f.x2)/2,Ye=f.y1,He=f.y2;r.segpts=[Be,Ye,Be,He]}else r.segpts=[f.x2,f.y1]}else if(N){var Le=f.y1+$+(v?p/2*F:0),Ie=f.x1,Ne=f.x2;r.segpts=[Ie,Le,Ne,Le]}else{var Ce=f.x1+$+(v?d/2*F:0),Fe=f.y1,fe=f.y2;r.segpts=[Ce,Fe,Ce,fe]}if(r.isRound){var xe=t.pstyle("taxi-radius").value,Y=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(xe),r.isArcRadius=new Array(r.segpts.length/2).fill(Y)}};za.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,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!At(r.startX)||!At(r.startY),v=!At(r.arrowStartX)||!At(r.arrowStartY),x=!At(r.endX)||!At(r.endY),b=!At(r.arrowEndX)||!At(r.arrowEndY),T=3,S=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,w=T*S,k=Tp({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),C=kB.poolIndex()){var F=P;P=B,B=F}var V=_.srcPos=P.position(),$=_.tgtPos=B.position(),U=_.srcW=P.outerWidth(),j=_.srcH=P.outerHeight(),ee=_.tgtW=B.outerWidth(),q=_.tgtH=B.outerHeight(),oe=_.srcShape=r.nodeShapes[e.getNodeShape(P)],Q=_.tgtShape=r.nodeShapes[e.getNodeShape(B)],ue=_.srcCornerRadius=P.pstyle("corner-radius").value==="auto"?"auto":P.pstyle("corner-radius").pfValue,te=_.tgtCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,re=_.tgtRs=B._private.rscratch,J=_.srcRs=P._private.rscratch;_.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var K=0;K<_.eles.length;K++){var ae=_.eles[K],Z=ae[0]._private.rscratch,de=ae.pstyle("curve-style").value,ne=de==="unbundled-bezier"||gf(de,"segments")||gf(de,"taxi"),Te=!P.same(ae.source());if(!_.calculatedIntersection&&P!==B&&(_.hasBezier||_.hasUnbundled)){_.calculatedIntersection=!0;var W=oe.intersectLine(V.x,V.y,U,j,$.x,$.y,0,ue,J),Ve=_.srcIntn=W,pe=Q.intersectLine($.x,$.y,ee,q,V.x,V.y,0,te,re),Be=_.tgtIntn=pe,Ye=_.intersectionPts={x1:W[0],x2:pe[0],y1:W[1],y2:pe[1]},He=_.posPts={x1:V.x,x2:$.x,y1:V.y,y2:$.y},Le=pe[1]-W[1],Ie=pe[0]-W[0],Ne=Math.sqrt(Ie*Ie+Le*Le);At(Ne)&&Ne>=xHe||(Ne=Math.sqrt(Math.max(Ie*Ie,px)+Math.max(Le*Le,px)));var Ce=_.vector={x:Ie,y:Le},Fe=_.vectorNorm={x:Ce.x/Ne,y:Ce.y/Ne},fe={x:-Fe.y,y:Fe.x};_.nodesOverlap=!At(Ne)||Q.checkPoint(W[0],W[1],0,ee,q,$.x,$.y,te,re)||oe.checkPoint(pe[0],pe[1],0,U,j,V.x,V.y,ue,J),_.vectorNormInverse=fe,D={nodesOverlap:_.nodesOverlap,dirCounts:_.dirCounts,calculatedIntersection:!0,hasBezier:_.hasBezier,hasUnbundled:_.hasUnbundled,eles:_.eles,srcPos:$,srcRs:re,tgtPos:V,tgtRs:J,srcW:ee,srcH:q,tgtW:U,tgtH:j,srcIntn:Be,tgtIntn:Ve,srcShape:Q,tgtShape:oe,posPts:{x1:He.x2,y1:He.y2,x2:He.x1,y2:He.y1},intersectionPts:{x1:Ye.x2,y1:Ye.y2,x2:Ye.x1,y2:Ye.y1},vector:{x:-Ce.x,y:-Ce.y},vectorNorm:{x:-Fe.x,y:-Fe.y},vectorNormInverse:{x:-fe.x,y:-fe.y}}}var xe=Te?D:_;Z.nodesOverlap=xe.nodesOverlap,Z.srcIntn=xe.srcIntn,Z.tgtIntn=xe.tgtIntn,Z.isRound=de.startsWith("round"),i&&(P.isParent()||P.isChild()||B.isParent()||B.isChild())&&(P.parents().anySame(B)||B.parents().anySame(P)||P.same(B)&&P.isParent())?e.findCompoundLoopPoints(ae,xe,K,ne):P===B?e.findLoopPoints(ae,xe,K,ne):de.endsWith("segments")?e.findSegmentsPoints(ae,xe):de.endsWith("taxi")?e.findTaxiPoints(ae,xe):de==="straight"||!ne&&_.eles.length%2===1&&K===Math.floor(_.eles.length/2)?e.findStraightEdgePoints(ae):e.findBezierPoints(ae,xe,K,ne,Te),e.findEndpoints(ae),e.tryToCorrectInvalidPoints(ae,xe),e.checkForInvalidEdgeWarning(ae),e.storeAllpts(ae),e.storeEdgeProjections(ae),e.calculateArrowAngles(ae),e.recalculateEdgeLabelProjections(ae),e.calculateLabelAngles(ae)}},"_loop"),C=0;C0){var W=h,Ve=mp(W,tg(s)),pe=mp(W,tg(Te)),Be=Ve;if(pe2){var Ye=mp(W,{x:Te[2],y:Te[3]});Ye0){var le=f,ke=mp(le,tg(s)),ve=mp(le,tg(se)),ye=ke;if(ve2){var Re=mp(le,{x:se[2],y:se[3]});Re=g||C){v={cp:S,segment:k};break}}if(v)break}var A=v.cp,L=v.segment,I=(g-x)/L.length,R=L.t1-L.t0,E=m?L.t0+R*I:L.t1-R*I;E=lx(0,E,1),e=ig(A.p0,A.p1,A.p2,E),p=THe(A.p0,A.p1,A.p2,E);break}case"straight":case"segments":case"haystack":{for(var _=0,D,O,N,P,B=n.allpts.length,F=0;F+3=g));F+=2);var V=g-O,$=V/D;$=lx(0,$,1),e=Uze(N,P,$),p=Dhe(N,P);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};Bc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Bc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=bp(n,t._private.labelDimsKey);if(Us(r.rscratch,"prefixedLabelDimsKey",e)!==i){$u(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,l=t.pstyle("text-wrap").strValue,u=Us(r.rscratch,"labelWrapCachedLines",e)||[],h=l!=="wrap"?1:Math.max(u.length,1),f=a.height/h,d=f*s,p=a.width,m=a.height+(h-1)*(s-1)*f;$u(r.rstyle,"labelWidth",e,p),$u(r.rscratch,"labelWidth",e,p),$u(r.rstyle,"labelHeight",e,m),$u(r.rscratch,"labelHeight",e,m),$u(r.rscratch,"labelLineHeight",e,d)}};Bc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(j,ee){return ee?($u(r.rscratch,j,e,ee),ee):Us(r.rscratch,j,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=i.split(` +`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var w=x.matchAll(y),k="",C=0,A=qs(w),L;try{for(A.s();!(L=A.n()).done;){var I=L.value,R=I[0],E=x.substring(C,I.index);C=I.index+R.length;var _=k.length===0?E:k+E+R,D=this.calculateLabelDimensions(t,_),O=D.width;O<=d?k+=E+R:(k&&g.push(k),k=E+R)}}catch(U){A.e(U)}finally{A.f()}k.match(/^[\s\u200b]+$/)||g.push(k)}else g.push(x)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(` +`)),s("labelWrapKey",u)}else if(l==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,P="",B="\u2026",F=!1;if(this.calculateLabelDimensions(t,i).widthN)break;P+=i[V],V===i.length-1&&(F=!0)}return F||(P+=B),P}return i};Bc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Bc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,u=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,f=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!f){f=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=f.getContext("2d");var p=f.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}d.font="".concat(s," ").concat(h," ").concat(l,"px ").concat(u);for(var m=0,g=0,y=e.split(` +`),v=0;v1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var bt=a(z);lt&&(t.hoverData.tapholdCancelled=!0);var wt=o(function(){var Se=t.hoverData.dragDelta=t.hoverData.dragDelta||[];Se.length===0?(Se.push(et[0]),Se.push(et[1])):(Se[0]+=et[0],Se[1]+=et[1])},"updateDragDelta");le=!0,i(xt,["mousemove","vmousemove","tapdrag"],z,{x:Re[0],y:Re[1]});var yt=o(function(Se){return{originalEvent:z,type:Se,position:{x:Re[0],y:Re[1]}}},"makeEvent"),ft=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||ke.emit(yt("boxstart")),Ke[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(lt){var Ur=yt("cxtdrag");Oe?Oe.emit(Ur):ke.emit(Ur),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||xt!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(yt("cxtdragout")),t.hoverData.cxtOver=xt,xt&&xt.emit(yt("cxtdragover")))}}else if(t.hoverData.dragging){if(le=!0,ke.panningEnabled()&&ke.userPanningEnabled()){var _t;if(t.hoverData.justStartedPan){var bn=t.hoverData.mdownPos;_t={x:(Re[0]-bn[0])*ve,y:(Re[1]-bn[1])*ve},t.hoverData.justStartedPan=!1}else _t={x:et[0]*ve,y:et[1]*ve};ke.panBy(_t),ke.emit(yt("dragpan")),t.hoverData.dragged=!0}Re=t.projectIntoViewport(z.clientX,z.clientY)}else if(Ke[4]==1&&(Oe==null||Oe.pannable())){if(lt){if(!t.hoverData.dragging&&ke.boxSelectionEnabled()&&(bt||!ke.panningEnabled()||!ke.userPanningEnabled()))ft();else if(!t.hoverData.selecting&&ke.panningEnabled()&&ke.userPanningEnabled()){var Br=s(Oe,t.hoverData.downs);Br&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Ke[4]=0,t.data.bgActivePosistion=tg(_e),t.redrawHint("select",!0),t.redraw())}Oe&&Oe.pannable()&&Oe.active()&&Oe.unactivate()}}else{if(Oe&&Oe.pannable()&&Oe.active()&&Oe.unactivate(),(!Oe||!Oe.grabbed())&&xt!=We&&(We&&i(We,["mouseout","tapdragout"],z,{x:Re[0],y:Re[1]}),xt&&i(xt,["mouseover","tapdragover"],z,{x:Re[0],y:Re[1]}),t.hoverData.last=xt),Oe)if(lt){if(ke.boxSelectionEnabled()&&bt)Oe&&Oe.grabbed()&&(x(Ue),Oe.emit(yt("freeon")),Ue.emit(yt("free")),t.dragData.didDrag&&(Oe.emit(yt("dragfreeon")),Ue.emit(yt("dragfree")))),ft();else if(Oe&&Oe.grabbed()&&t.nodeIsDraggable(Oe)){var cr=!t.dragData.didDrag;cr&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||y(Ue,{inDragLayer:!0});var ar={x:0,y:0};if(At(et[0])&&At(et[1])&&(ar.x+=et[0],ar.y+=et[1],cr)){var _r=t.hoverData.dragDelta;_r&&At(_r[0])&&At(_r[1])&&(ar.x+=_r[0],ar.y+=_r[1])}t.hoverData.draggingEles=!0,Ue.silentShift(ar).emit(yt("position")).emit(yt("drag")),t.redrawHint("drag",!0),t.redraw()}}else wt();le=!0}if(Ke[2]=Re[0],Ke[3]=Re[1],le)return z.stopPropagation&&z.stopPropagation(),z.preventDefault&&z.preventDefault(),!1}},"mousemoveHandler"),!1);var E,_,D;t.registerBinding(e,"mouseup",o(function(z){if(!(t.hoverData.which===1&&z.which!==1&&t.hoverData.capture)){var se=t.hoverData.capture;if(se){t.hoverData.capture=!1;var le=t.cy,ke=t.projectIntoViewport(z.clientX,z.clientY),ve=t.selection,ye=t.findNearestElement(ke[0],ke[1],!0,!1),Re=t.dragData.possibleDragElements,_e=t.hoverData.down,ze=a(z);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,_e&&_e.unactivate();var Ke=o(function(Gt){return{originalEvent:z,type:Gt,position:{x:ke[0],y:ke[1]}}},"makeEvent");if(t.hoverData.which===3){var xt=Ke("cxttapend");if(_e?_e.emit(xt):le.emit(xt),!t.hoverData.cxtDragged){var We=Ke("cxttap");_e?_e.emit(We):le.emit(We)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(ye,["mouseup","tapend","vmouseup"],z,{x:ke[0],y:ke[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(_e,["click","tap","vclick"],z,{x:ke[0],y:ke[1]}),_=!1,z.timeStamp-D<=le.multiClickDebounceTime()?(E&&clearTimeout(E),_=!0,D=null,i(_e,["dblclick","dbltap","vdblclick"],z,{x:ke[0],y:ke[1]})):(E=setTimeout(function(){_||i(_e,["oneclick","onetap","voneclick"],z,{x:ke[0],y:ke[1]})},le.multiClickDebounceTime()),D=z.timeStamp)),_e==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(z)&&(le.$(r).unselect(["tapunselect"]),Re.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Re=le.collection()),ye==_e&&!t.dragData.didDrag&&!t.hoverData.selecting&&ye!=null&&ye._private.selectable&&(t.hoverData.dragging||(le.selectionType()==="additive"||ze?ye.selected()?ye.unselect(["tapunselect"]):ye.select(["tapselect"]):ze||(le.$(r).unmerge(ye).unselect(["tapunselect"]),ye.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Oe=le.collection(t.getAllInBox(ve[0],ve[1],ve[2],ve[3]));t.redrawHint("select",!0),Oe.length>0&&t.redrawHint("eles",!0),le.emit(Ke("boxend"));var et=o(function(Gt){return Gt.selectable()&&!Gt.selected()},"eleWouldBeSelected");le.selectionType()==="additive"||ze||le.$(r).unmerge(Oe).unselect(),Oe.emit(Ke("box")).stdFilter(et).select().emit(Ke("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!ve[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Ue=_e&&_e.grabbed();x(Re),Ue&&(_e.emit(Ke("freeon")),Re.emit(Ke("free")),t.dragData.didDrag&&(_e.emit(Ke("dragfreeon")),Re.emit(Ke("dragfree"))))}}ve[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}}},"mouseupHandler"),!1);var O=[],N=4,P,B=1e5,F=o(function(z,se){for(var le=0;le=N){var ke=O;if(P=F(ke,5),!P){var ve=Math.abs(ke[0]);P=V(ke)&&ve>5}if(P)for(var ye=0;ye5&&(le=yI(le)*5),We=le/-250,P&&(We/=B,We*=3),We=We*t.wheelSensitivity;var Oe=z.deltaMode===1;Oe&&(We*=33);var et=Re.zoom()*Math.pow(10,We);z.type==="gesturechange"&&(et=t.gestureStartZoom*z.scale),Re.zoom({level:et,renderedPosition:{x:xt[0],y:xt[1]}}),Re.emit({type:z.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:z,position:{x:Ke[0],y:Ke[1]}})}}}},"wheelHandler");t.registerBinding(t.container,"wheel",$,!0),t.registerBinding(e,"scroll",o(function(z){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(z){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||z.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(he){t.hasTouchStarted||$(he)},!0),t.registerBinding(t.container,"mouseout",o(function(z){var se=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseout",position:{x:se[0],y:se[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(z){var se=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseover",position:{x:se[0],y:se[1]}})},"mouseOverHandler"),!1);var U,j,ee,q,oe,Q,ue,te,re,J,K,ae,Z,de=o(function(z,se,le,ke){return Math.sqrt((le-z)*(le-z)+(ke-se)*(ke-se))},"distance"),ne=o(function(z,se,le,ke){return(le-z)*(le-z)+(ke-se)*(ke-se)},"distanceSq"),Te;t.registerBinding(t.container,"touchstart",Te=o(function(z){if(t.hasTouchStarted=!0,!!I(z)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var se=t.cy,le=t.touchData.now,ke=t.touchData.earlier;if(z.touches[0]){var ve=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);le[0]=ve[0],le[1]=ve[1]}if(z.touches[1]){var ve=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);le[2]=ve[0],le[3]=ve[1]}if(z.touches[2]){var ve=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);le[4]=ve[0],le[5]=ve[1]}var ye=o(function(bt){return{originalEvent:z,type:bt,position:{x:le[0],y:le[1]}}},"makeEvent");if(z.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Re=t.findContainerClientCoords();re=Re[0],J=Re[1],K=Re[2],ae=Re[3],U=z.touches[0].clientX-re,j=z.touches[0].clientY-J,ee=z.touches[1].clientX-re,q=z.touches[1].clientY-J,Z=0<=U&&U<=K&&0<=ee&&ee<=K&&0<=j&&j<=ae&&0<=q&&q<=ae;var _e=se.pan(),ze=se.zoom();oe=de(U,j,ee,q),Q=ne(U,j,ee,q),ue=[(U+ee)/2,(j+q)/2],te=[(ue[0]-_e.x)/ze,(ue[1]-_e.y)/ze];var Ke=200,xt=Ke*Ke;if(Q=1){for(var vt=t.touchData.startPosition=[null,null,null,null,null,null],Lt=0;Lt=t.touchTapThreshold2}if(se&&t.touchData.cxt){z.preventDefault();var Lt=z.touches[0].clientX-re,dt=z.touches[0].clientY-J,nt=z.touches[1].clientX-re,bt=z.touches[1].clientY-J,wt=ne(Lt,dt,nt,bt),yt=wt/Q,ft=150,Ur=ft*ft,_t=1.5,bn=_t*_t;if(yt>=bn||wt>=Ur){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Br=ze("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(Br),t.touchData.start=null):ke.emit(Br)}}if(se&&t.touchData.cxt){var Br=ze("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Br):ke.emit(Br),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var cr=t.findNearestElement(ve[0],ve[1],!0,!0);(!t.touchData.cxtOver||cr!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(ze("cxtdragout")),t.touchData.cxtOver=cr,cr&&cr.emit(ze("cxtdragover")))}else if(se&&z.touches[2]&&ke.boxSelectionEnabled())z.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||ke.emit(ze("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,le[4]=1,!le||le.length===0||le[0]===void 0?(le[0]=(ve[0]+ve[2]+ve[4])/3,le[1]=(ve[1]+ve[3]+ve[5])/3,le[2]=(ve[0]+ve[2]+ve[4])/3+1,le[3]=(ve[1]+ve[3]+ve[5])/3+1):(le[2]=(ve[0]+ve[2]+ve[4])/3,le[3]=(ve[1]+ve[3]+ve[5])/3),t.redrawHint("select",!0),t.redraw();else if(se&&z.touches[1]&&!t.touchData.didSelect&&ke.zoomingEnabled()&&ke.panningEnabled()&&ke.userZoomingEnabled()&&ke.userPanningEnabled()){z.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ar=t.dragData.touchDragEles;if(ar){t.redrawHint("drag",!0);for(var _r=0;_r0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var Ve;t.registerBinding(e,"touchcancel",Ve=o(function(z){var se=t.touchData.start;t.touchData.capture=!1,se&&se.unactivate()},"touchcancelHandler"));var pe,Be,Ye,He;if(t.registerBinding(e,"touchend",pe=o(function(z){var se=t.touchData.start,le=t.touchData.capture;if(le)z.touches.length===0&&(t.touchData.capture=!1),z.preventDefault();else return;var ke=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var ve=t.cy,ye=ve.zoom(),Re=t.touchData.now,_e=t.touchData.earlier;if(z.touches[0]){var ze=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);Re[0]=ze[0],Re[1]=ze[1]}if(z.touches[1]){var ze=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);Re[2]=ze[0],Re[3]=ze[1]}if(z.touches[2]){var ze=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);Re[4]=ze[0],Re[5]=ze[1]}var Ke=o(function(Ur){return{originalEvent:z,type:Ur,position:{x:Re[0],y:Re[1]}}},"makeEvent");se&&se.unactivate();var xt;if(t.touchData.cxt){if(xt=Ke("cxttapend"),se?se.emit(xt):ve.emit(xt),!t.touchData.cxtDragged){var We=Ke("cxttap");se?se.emit(We):ve.emit(We)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!z.touches[2]&&ve.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Oe=ve.collection(t.getAllInBox(ke[0],ke[1],ke[2],ke[3]));ke[0]=void 0,ke[1]=void 0,ke[2]=void 0,ke[3]=void 0,ke[4]=0,t.redrawHint("select",!0),ve.emit(Ke("boxend"));var et=o(function(Ur){return Ur.selectable()&&!Ur.selected()},"eleWouldBeSelected");Oe.emit(Ke("box")).stdFilter(et).select().emit(Ke("boxselect")),Oe.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(se?.unactivate(),z.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!z.touches[1]){if(!z.touches[0]){if(!z.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ue=t.dragData.touchDragEles;if(se!=null){var lt=se._private.grabbed;x(Ue),t.redrawHint("drag",!0),t.redrawHint("eles",!0),lt&&(se.emit(Ke("freeon")),Ue.emit(Ke("free")),t.dragData.didDrag&&(se.emit(Ke("dragfreeon")),Ue.emit(Ke("dragfree")))),i(se,["touchend","tapend","vmouseup","tapdragout"],z,{x:Re[0],y:Re[1]}),se.unactivate(),t.touchData.start=null}else{var Gt=t.findNearestElement(Re[0],Re[1],!0,!0);i(Gt,["touchend","tapend","vmouseup","tapdragout"],z,{x:Re[0],y:Re[1]})}var vt=t.touchData.startPosition[0]-Re[0],Lt=vt*vt,dt=t.touchData.startPosition[1]-Re[1],nt=dt*dt,bt=Lt+nt,wt=bt*ye*ye;t.touchData.singleTouchMoved||(se||ve.$(":selected").unselect(["tapunselect"]),i(se,["tap","vclick"],z,{x:Re[0],y:Re[1]}),Be=!1,z.timeStamp-He<=ve.multiClickDebounceTime()?(Ye&&clearTimeout(Ye),Be=!0,He=null,i(se,["dbltap","vdblclick"],z,{x:Re[0],y:Re[1]})):(Ye=setTimeout(function(){Be||i(se,["onetap","voneclick"],z,{x:Re[0],y:Re[1]})},ve.multiClickDebounceTime()),He=z.timeStamp)),se!=null&&!t.dragData.didDrag&&se._private.selectable&&wt"u"){var Le=[],Ie=o(function(z){return{clientX:z.clientX,clientY:z.clientY,force:1,identifier:z.pointerId,pageX:z.pageX,pageY:z.pageY,radiusX:z.width/2,radiusY:z.height/2,screenX:z.screenX,screenY:z.screenY,target:z.target}},"makeTouch"),Ne=o(function(z){return{event:z,touch:Ie(z)}},"makePointer"),Ce=o(function(z){Le.push(Ne(z))},"addPointer"),Fe=o(function(z){for(var se=0;se0)return U[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:Rue(a,s,e,r,n,i,l,u)},"intersectLine"),checkPoint:o(function(e,r,n,i,a,s,l,u){u=u==="auto"?kf(i,a):u;var h=2*u;if(Vu(e,r,this.points,s,l,i,a-h,[0,-1],n)||Vu(e,r,this.points,s,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(Hs(e,r,p)||xp(e,r,h,h,s+i/2-u,l+a/2-u,n)||xp(e,r,h,h,s-i/2+u,l+a/2-u,n))},"checkPoint")}};Uu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ls(3,0)),this.generateRoundPolygon("round-triangle",ls(3,0)),this.generatePolygon("rectangle",ls(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",ls(5,0)),this.generateRoundPolygon("round-pentagon",ls(5,0)),this.generatePolygon("hexagon",ls(6,0)),this.generateRoundPolygon("round-hexagon",ls(6,0)),this.generatePolygon("heptagon",ls(7,0)),this.generateRoundPolygon("round-heptagon",ls(7,0)),this.generatePolygon("octagon",ls(8,0)),this.generateRoundPolygon("round-octagon",ls(8,0));var n=new Array(20);{var i=HM(5,0),a=HM(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*S)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(T>=e.deqNoDrawCost*OM)break;var w=e.deq(n,v,y);if(w.length>0)for(var k=0;k0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||pI;i.beforeRender(s,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},kHe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Zk;Af(this,t),this.idsByKey=new zu,this.keyForId=new zu,this.cachesByLvl=new zu,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),_f(t,[{key:"getIdsFor",value:o(function(r){r==null&&Kn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new hg,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(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)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new zu,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:o(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:o(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:o(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:o(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:o(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:o(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},"invalidate")}])})(),Yce=25,Pk=50,Yk=-4,iI=3,Ohe=7.99,EHe=8,SHe=1024,CHe=1024,AHe=1024,_He=.2,DHe=.8,LHe=10,RHe=.15,NHe=.1,MHe=.9,IHe=.9,OHe=100,PHe=1,ng={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},BHe=ba({getKey:null,doesEleInvalidateKey:Zk,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Eue,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),tx=o(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=BHe(r);ir(n,i),n.lookup=new kHe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),zi=tx.prototype;zi.reasons=ng;zi.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};zi.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};zi.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Tx(function(r,n){return n.reqs-r.reqs});return e};zi.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};zi.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,l=s.cy.zoom(),u=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(gI(l*r))),n=Ohe||n>iI)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=Yce?g=Yce:f<=Pk?g=Pk:g=Math.ceil(f/Pk)*Pk,f>AHe||d>CHe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;R--)L=a.getElement(t,e,r,R,ng.downscale);I()}else return a.queueElement(t,k.level-1),k;else{var E;if(!T&&!S&&!w)for(var _=n-1;_>=Yk;_--){var D=u.get(t,_);if(D){E=D;break}}if(b(E))return a.queueElement(t,n),E;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+EHe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};zi.invalidateElements=function(t){for(var e=0;e=_He*t.width&&this.retireTexture(t)};zi.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>DHe&&t.fullnessChecks>=LHe?wf(r,t):t.fullnessChecks++};zi.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;wf(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,mI(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),wf(i,s),n.push(s),s}};zi.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 l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};zi.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,ng.dequeue)}return i};zi.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=dI,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};zi.onDequeue=function(t){this.onDequeues.push(t)};zi.offDequeue=function(t){wf(this.onDequeues,t)};zi.setupDequeueing=Ihe.setupDequeueing({deqRedrawThreshold:OHe,deqCost:RHe,deqAvgCost:NHe,deqNoDrawCost:MHe,deqFastCost:IHe,deq:o(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:o(function(e,r){for(var n=0;n=$He||r>sE)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=o(function(){var I=o(function(O){if(n.validateLayersElesOrdering(O,t),n.levelIsComplete(O,t))return m=u[O],!0},"canUseAsTmpLvl"),R=o(function(O){if(!m)for(var N=r+O;nx<=N&&N<=sE&&!I(N);N+=O);},"checkLvls");R(1),R(-1);for(var E=f.length-1;E>=0;E--){var _=f[E];_.invalid&&wf(f,_)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=cs();for(var I=0;Ijce||_>jce)return null;var D=E*_;if(D>YHe)return null;var O=n.makeLayer(d,r);if(R!=null){var N=f.indexOf(R)+1;f.splice(N,0,O)}else(I.insert===void 0||I.insert)&&f.unshift(O);return O},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/FHe,T=!l,S=0;S=b||!Lue(x.bb,w.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||T?n.queueLayer(x,w):n.drawEleInLayer(x,w,r,e),x.eles.push(w),C[r]=x}return m||(T?null:f)};Ta.getEleLevelForLayerLevel=function(t,e){return t};Ta.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,XHe),a.setImgSmoothing(s,!0))};Ta.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ta.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ta.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Gu(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};Ta.invalidateLayer=function(t){if(this.lastInvalidationTime=Gu(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];wf(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&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,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,T=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,O),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,O),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),S=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],O);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),w=o(function(){i&&s.drawEdgeOverlay(t,e)},"drawOverlay"),k=o(function(){i&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),C=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,O)},"drawArrows"),A=o(function(){s.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var L=e.pstyle("ghost").value==="yes";if(L){var I=e.pstyle("ghost-offset-x").pfValue,R=e.pstyle("ghost-offset-y").pfValue,E=e.pstyle("ghost-opacity").value,_=x*E;t.translate(I,R),T(_),C(_),t.translate(-I,-R)}else S();k(),T(),C(),w(),A(),r&&t.translate(u.x1,u.y1)}};Fhe=o(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(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");Hu.drawEdgeOverlay=Fhe("overlay");Hu.drawEdgeUnderlay=Fhe("underlay");Hu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(s=e=i.pathCache,l=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!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 m=2;m+35&&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 l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};Cp.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&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,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(aqe,"circle");o(Jce,"roundRect");Cp.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 l=Us(i,"labelAngle",e);r=t.isEdge()?l:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};Cp.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,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=Us(s,"labelX",r),h=Us(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=Us(s,"labelWidth",r),y=Us(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),T=e.pstyle("text-halign").value,S=e.pstyle("text-valign").value;b&&(T="center",S="center"),u+=v,h+=x;var w;switch(n?w=this.getTextAngle(e,r):w=0,w!==0&&(f=u,d=h,t.translate(f,d),t.rotate(w),u=0,h=0),S){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var k=e.pstyle("text-background-opacity").value,C=e.pstyle("text-border-opacity").value,A=e.pstyle("text-border-width").pfValue,L=e.pstyle("text-background-padding").pfValue,I=e.pstyle("text-background-shape").strValue,R=I==="round-rectangle"||I==="roundrectangle",E=I==="circle",_=2;if(k>0||A>0&&C>0){var D=t.fillStyle,O=t.strokeStyle,N=t.lineWidth,P=e.pstyle("text-background-color").value,B=e.pstyle("text-border-color").value,F=e.pstyle("text-border-style").value,V=k>0,$=A>0&&C>0,U=u-L;switch(T){case"left":U-=g;break;case"center":U-=g/2;break}var j=h-y-L,ee=g+2*L,q=y+2*L;if(V&&(t.fillStyle="rgba(".concat(P[0],",").concat(P[1],",").concat(P[2],",").concat(k*l,")")),$&&(t.strokeStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(C*l,")"),t.lineWidth=A,t.setLineDash))switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=A/4,t.setLineDash([]);break;case"solid":default:t.setLineDash([]);break}if(R?(t.beginPath(),Jce(t,U,j,ee,q,_)):E?(t.beginPath(),aqe(t,U,j,ee,q)):(t.beginPath(),t.rect(U,j,ee,q)),V&&t.fill(),$&&t.stroke(),$&&F==="double"){var oe=A/2;t.beginPath(),R?Jce(t,U+oe,j+oe,ee-2*oe,q-2*oe,_):t.rect(U+oe,j+oe,ee-2*oe,q-2*oe),t.stroke()}t.fillStyle=D,t.strokeStyle=O,t.lineWidth=N,t.setLineDash&&t.setLineDash([])}var Q=2*e.pstyle("text-outline-width").pfValue;if(Q>0&&(t.lineWidth=Q),e.pstyle("text-wrap").value==="wrap"){var ue=Us(s,"labelWrapCachedLines",r),te=Us(s,"labelLineHeight",r),re=g/2,J=this.getLabelJustification(e);switch(J==="auto"||(T==="left"?J==="left"?u+=-g:J==="center"&&(u+=-re):T==="center"?J==="left"?u+=-re:J==="right"&&(u+=re):T==="right"&&(J==="center"?u+=re:J==="right"&&(u+=g))),S){case"top":h-=(ue.length-1)*te;break;case"center":case"bottom":h-=(ue.length-1)*te;break}for(var K=0;K0&&t.strokeText(ue[K],u,h),t.fillText(ue[K],u,h),h+=te}else Q>0&&t.strokeText(p,u,h),t.fillText(p,u,h);w!==0&&(t.rotate(-w),t.translate(-f,-d))}}};Lf={};Lf.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,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!At(d.x)||!At(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),T=b.value,S=new Array(T.length),w=new Array(T.length),k=0,C=0;C0&&arguments[0]!==void 0?arguments[0]:_;s.eleFillStyle(t,e,Y)},"setupShapeColor"),te=o(function(){var Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;s.colorStrokeStyle(t,D[0],D[1],D[2],Y)},"setupBorderColor"),re=o(function(){var Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:q;s.colorStrokeStyle(t,j[0],j[1],j[2],Y)},"setupOutlineColor"),J=o(function(Y,he,z,se){var le=s.nodePathCache=s.nodePathCache||[],ke=kue(z==="polygon"?z+","+se.join(","):z,""+he,""+Y,""+Q),ve=le[ke],ye,Re=!1;return ve!=null?(ye=ve,Re=!0,f.pathCache=ye):(ye=new Path2D,le[ke]=f.pathCache=ye),{path:ye,cacheHit:Re}},"getPath"),K=e.pstyle("shape").strValue,ae=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var Z=J(l,u,K,ae);g=Z.path,y=Z.cacheHit}var de=o(function(){if(!y){var Y=d;m&&(Y={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,Y.x,Y.y,l,u,Q,f)}m?t.fill(g):t.fill()},"drawShape"),ne=o(function(){for(var Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,z=h.backgrounding,se=0,le=0;le0&&arguments[0]!==void 0?arguments[0]:!1,he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,he),Y&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Q,f)))},"drawPie"),W=o(function(){var Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasStripe(e)&&(t.save(),m?t.clip(f.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Q,f),t.clip()),s.drawStripe(t,e,he),t.restore(),Y&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Q,f)))},"drawStripe"),Ve=o(function(){var Y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,he=(R>0?R:-R)*Y,z=R>0?0:255;R!==0&&(s.colorFillStyle(t,z,z,z,he),m?t.fill(g):t.fill())},"darken"),pe=o(function(){if(E>0){if(t.lineWidth=E,t.lineCap=P,t.lineJoin=N,t.setLineDash)switch(O){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(F),t.lineDashOffset=V;break;case"solid":case"double":t.setLineDash([]);break}if(B!=="center"){if(t.save(),t.lineWidth*=2,B==="inside")m?t.clip(g):t.clip();else{var Y=new Path2D;Y.rect(-l/2-E,-u/2-E,l+2*E,u+2*E),Y.addPath(g),t.clip(Y,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(O==="double"){t.lineWidth=E/3;var he=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=he}t.setLineDash&&t.setLineDash([])}},"drawBorder"),Be=o(function(){if(U>0){if(t.lineWidth=U,t.lineCap="butt",t.setLineDash)switch(ee){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var Y=d;m&&(Y={x:0,y:0});var he=s.getNodeShape(e),z=E;B==="inside"&&(z=0),B==="outside"&&(z*=2);var se=(l+z+(U+oe))/l,le=(u+z+(U+oe))/u,ke=l*se,ve=u*le,ye=s.nodeShapes[he].points,Re;if(m){var _e=J(ke,ve,he,ye);Re=_e.path}if(he==="ellipse")s.drawEllipsePath(Re||t,Y.x,Y.y,ke,ve);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(he)){var ze=0,Ke=0,xt=0;he==="round-diamond"?ze=(z+oe+U)*1.4:he==="round-heptagon"?(ze=(z+oe+U)*1.075,xt=-(z/2+oe+U)/35):he==="round-hexagon"?ze=(z+oe+U)*1.12:he==="round-pentagon"?(ze=(z+oe+U)*1.13,xt=-(z/2+oe+U)/15):he==="round-tag"?(ze=(z+oe+U)*1.12,Ke=(z/2+U+oe)*.07):he==="round-triangle"&&(ze=(z+oe+U)*(Math.PI/2),xt=-(z+oe/2+U)/Math.PI),ze!==0&&(se=(l+ze)/l,ke=l*se,["round-hexagon","round-tag"].includes(he)||(le=(u+ze)/u,ve=u*le)),Q=Q==="auto"?Mue(ke,ve):Q;for(var We=ke/2,Oe=ve/2,et=Q+(z+U+oe)/2,Ue=new Array(ye.length/2),lt=new Array(ye.length/2),Gt=0;Gt0){if(i=i||n.position(),a==null||s==null){var m=n.padding();a=n.width()+2*m,s=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");Lf.drawNodeOverlay=$he("overlay");Lf.drawNodeUnderlay=$he("underlay");Lf.hasPie=function(t){return t=t[0],t._private.hasPie};Lf.hasStripe=function(t){return t=t[0],t._private.hasStripe};Lf.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"),l=e.pstyle("pie-start-angle").pfValue,u=n.x,h=n.y,f=e.width(),d=e.height(),p=Math.min(f,d)/2,m,g=0,y=this.usePaths();if(y&&(u=0,h=0),a.units==="%"?p=p*a.pfValue:a.pfValue!==void 0&&(p=a.pfValue/2),s.units==="%"?m=p*s.pfValue:s.pfValue!==void 0&&(m=s.pfValue/2),!(m>=p))for(var v=1;v<=i.pieBackgroundN;v++){var x=e.pstyle("pie-"+v+"-background-size").value,b=e.pstyle("pie-"+v+"-background-color").value,T=e.pstyle("pie-"+v+"-background-opacity").value*r,S=x/100;S+g>1&&(S=1-g);var w=1.5*Math.PI+2*Math.PI*g;w+=l;var k=2*Math.PI*S,C=w+k;x===0||g>=1||g+S>1||(m===0?(t.beginPath(),t.moveTo(u,h),t.arc(u,h,p,w,C),t.closePath()):(t.beginPath(),t.arc(u,h,p,w,C),t.arc(u,h,m,C,w,!0),t.closePath()),this.colorFillStyle(t,b[0],b[1],b[2],T),t.fill(),g+=S)}};Lf.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,l=e.width(),u=e.height(),h=0,f=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,p=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var m=l,g=u;p.units==="%"?(m=m*p.pfValue,g=g*p.pfValue):p.pfValue!==void 0&&(m=p.pfValue,g=p.pfValue),f&&(a=0,s=0),s-=m/2,a-=g/2;for(var y=1;y<=i.stripeBackgroundN;y++){var v=e.pstyle("stripe-"+y+"-background-size").value,x=e.pstyle("stripe-"+y+"-background-color").value,b=e.pstyle("stripe-"+y+"-background-opacity").value*r,T=v/100;T+h>1&&(T=1-h),!(v===0||h>=1||h+T>1)&&(t.beginPath(),t.rect(a,s+g*h,m,g*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],b),t.fill(),h+=T)}t.restore()};us={},sqe=100;us.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};us.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(f[e.NODE]=!0,f[e.SELECT_BOX]=!0);var b=r.style(),T=r.zoom(),S=s!==void 0?s:T,w=r.pan(),k={x:w.x,y:w.y},C={zoom:T,pan:{x:w.x,y:w.y}},A=e.prevViewport,L=A===void 0||C.zoom!==A.zoom||C.pan.x!==A.pan.x||C.pan.y!==A.pan.y;!L&&!(y&&!g)&&(e.motionBlurPxRatio=1),l&&(k=l),S*=u,k.x*=u,k.y*=u;var I=e.getCachedZSortedEles();function R(te,re,J,K,ae){var Z=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",e.colorFillStyle(te,255,255,255,e.motionBlurTransparency),te.fillRect(re,J,K,ae),te.globalCompositeOperation=Z}o(R,"mbclear");function E(te,re){var J,K,ae,Z;!e.clearingMotionBlur&&(te===h.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||te===h.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(J={x:w.x*m,y:w.y*m},K=T*m,ae=e.canvasWidth*m,Z=e.canvasHeight*m):(J=k,K=S,ae=e.canvasWidth,Z=e.canvasHeight),te.setTransform(1,0,0,1,0,0),re==="motionBlur"?R(te,0,0,ae,Z):!n&&(re===void 0||re)&&te.clearRect(0,0,ae,Z),i||(te.translate(J.x,J.y),te.scale(K,K)),l&&te.translate(l.x,l.y),s&&te.scale(s,s)}if(o(E,"setContextTransform"),d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var _=e.data.bufferContexts[e.TEXTURE_BUFFER];_.setTransform(1,0,0,1,0,0),_.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:_,drawOnlyNodeLayer:!0,forcedPxRatio:u*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}}f[e.DRAG]=!1,f[e.NODE]=!1;var D=h.contexts[e.NODE],O=e.textureCache.texture,C=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),p?R(D,0,0,C.width,C.height):D.clearRect(0,0,C.width,C.height);var N=b.core("outside-texture-bg-color").value,P=b.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,N[0],N[1],N[2],P),D.fillRect(0,0,C.width,C.height);var T=r.zoom();E(D,!1),D.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/u,C.height/C.zoom/u),D.drawImage(O,C.mpan.x,C.mpan.y,C.width/C.zoom/u,C.height/C.zoom/u)}else e.textureOnViewport&&!n&&(e.textureCache=null);var B=r.extent(),F=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),V=e.hideEdgesOnViewport&&F,$=[];if($[e.NODE]=!f[e.NODE]&&p&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,$[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),$[e.DRAG]=!f[e.DRAG]&&p&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,$[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),f[e.NODE]||i||a||$[e.NODE]){var U=p&&!$[e.NODE]&&m!==1,D=n||(U?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:h.contexts[e.NODE]),j=p&&!U?"motionBlur":void 0;E(D,j),V?e.drawCachedNodes(D,I.nondrag,u,B):e.drawLayeredElements(D,I.nondrag,u,B),e.debug&&e.drawDebugPoints(D,I.nondrag),!i&&!p&&(f[e.NODE]=!1)}if(!a&&(f[e.DRAG]||i||$[e.DRAG])){var U=p&&!$[e.DRAG]&&m!==1,D=n||(U?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:h.contexts[e.DRAG]);E(D,p&&!U?"motionBlur":void 0),V?e.drawCachedNodes(D,I.drag,u,B):e.drawCachedElements(D,I.drag,u,B),e.debug&&e.drawDebugPoints(D,I.drag),!i&&!p&&(f[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,E),p&&m!==1){var ee=h.contexts[e.NODE],q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],oe=h.contexts[e.DRAG],Q=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],ue=o(function(re,J,K){re.setTransform(1,0,0,1,0,0),K||!x?re.clearRect(0,0,e.canvasWidth,e.canvasHeight):R(re,0,0,e.canvasWidth,e.canvasHeight);var ae=m;re.drawImage(J,0,0,e.canvasWidth*ae,e.canvasHeight*ae,0,0,e.canvasWidth,e.canvasHeight)},"drawMotionBlur");(f[e.NODE]||$[e.NODE])&&(ue(ee,q,$[e.NODE]),f[e.NODE]=!1),(f[e.DRAG]||$[e.DRAG])&&(ue(oe,Q,$[e.DRAG]),f[e.DRAG]=!1)}e.prevViewport=C,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),p&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,f[e.NODE]=!0,f[e.DRAG]=!0,e.redraw()},sqe)),n||r.emit("render")};us.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,l=t.drawAllLayers,u=i.canvasNeedsRedraw,h=t.forcedContext;if(r.showFps||!s&&u[r.SELECT_BOX]&&!l){var f=h||i.contexts[r.SELECT_BOX];if(e(f),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),p=a.core("selection-box-border-width").value/d;f.lineWidth=p,f.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+")",f.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),p>0&&(f.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+")",f.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 d=r.cy.zoom(),m=i.bgActivePosistion;f.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+")",f.beginPath(),f.arc(m.x,m.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),f.fill()}var g=r.lastRedrawTime;if(r.showFps&&g){g=Math.round(g);var y=Math.round(1e3/g),v="1 frame = "+g+" ms = "+y+" fps";if(f.setTransform(1,0,0,1,0,0),f.fillStyle="rgba(255, 0, 0, 0.75)",f.strokeStyle="rgba(255, 0, 0, 0.75)",f.font="30px Arial",!K2){var x=f.measureText(v);K2=x.actualBoundingBoxAscent}f.fillText(v,0,K2);var b=60;f.strokeRect(0,K2+10,250,20),f.fillRect(0,K2+10,250*Math.min(y/b,1),20)}l||(u[r.SELECT_BOX]=!1)}};o(eue,"compileShader");o(oqe,"createProgram");o(lqe,"createTextureCanvas");o(MI,"getEffectivePanZoom");o(cqe,"getEffectiveZoom");o(uqe,"modelToRenderedPosition");o(hqe,"isSimpleShape");o(fqe,"arrayEqual");o(dp,"toWebGLColor");o(Zm,"indexToVec4");o(dqe,"vec4ToIndex");o(pqe,"createTexture");o(zhe,"getTypeInfo");o(Ghe,"createTypedArray");o(mqe,"createTypedArrayView");o(gqe,"createBufferStaticDraw");o(Mc,"createBufferDynamicDraw");o(yqe,"create3x3MatrixBufferDynamicDraw");o(vqe,"createPickingFrameBuffer");tue=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)});o(BM,"create");o(rue,"identity");o(xqe,"multiply");o(Xk,"translate");o(nue,"rotate");o(aI,"scale");o(bqe,"projection");Tqe=(function(){function t(e,r,n,i){Af(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 o(t,"Atlas"),_f(t,[{key:"lock",value:o(function(){this.locked=!0},"lock")},{key:"getKeys",value:o(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:o(function(r){var n=r.w,i=r.h,a=this.texHeight,s=this.texSize,l=a/i,u=n*l,h=i*l;return u>s&&(l=s/n,u=n*l,h=i*l),{scale:l,texW:u,texH:h}},"getScale")},{key:"draw",value:o(function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,l=this.texRows,u=this.texHeight,h=this.getScale(n),f=h.scale,d=h.texW,p=h.texH,m=o(function(T,S){if(i&&S){var w=S.context,k=T.x,C=T.row,A=k,L=u*C;w.save(),w.translate(A,L),w.scale(f,f),i(w,n),w.restore()}},"drawAt"),g=[null,null],y=o(function(){m(a.freePointer,a.canvas),g[0]={x:a.freePointer.x,y:a.freePointer.row*u,w:d,h:p},g[1]={x:a.freePointer.x+d,y:a.freePointer.row*u,w:0,h:p},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),v=o(function(){var T=a.scratch,S=a.canvas;T.clear(),m({x:0,row:0},T);var w=s-a.freePointer.x,k=d-w,C=u;{var A=a.freePointer.x,L=a.freePointer.row*u,I=w;S.context.drawImage(T,0,0,I,C,A,L,I,C),g[0]={x:A,y:L,w:I,h:p}}{var R=w,E=(a.freePointer.row+1)*u,_=k;S&&S.context.drawImage(T,R,0,_,C,0,E,_,C),g[1]={x:0,y:E,w:_,h:p}}a.freePointer.x=k,a.freePointer.row++},"drawWrapped"),x=o(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+d<=s)y();else{if(this.freePointer.row>=l-1)return!1;this.freePointer.x===s?(x(),y()):this.enableWrapping?v():(x(),y())}return this.keyToLocation.set(r,g),this.needsBuffer=!0,g},"draw")},{key:"getOffsets",value:o(function(r){return this.keyToLocation.get(r)},"getOffsets")},{key:"isEmpty",value:o(function(){return this.freePointer.x===0&&this.freePointer.row===0},"isEmpty")},{key:"canFit",value:o(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.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,l=i.filterEle,u=l===void 0?function(){return!0}:l,h=i.filterType,f=h===void 0?function(){return!0}:h,d=!1,p=!1,m=qs(r),g;try{for(m.s();!(g=m.n()).done;){var y=g.value;if(u(y)){var v=qs(this.renderTypes.values()),x;try{var b=o(function(){var S=x.value,w=S.type;if(f(w)){var k=n.collections.get(S.collection),C=S.getKey(y),A=Array.isArray(C)?C:[C];if(s)A.forEach(function(E){return k.markKeyForGC(E)}),p=!0;else{var L=S.getID?S.getID(y):y.id(),I=n._key(w,L),R=n.typeAndIdToKey.get(I);R!==void 0&&!fqe(A,R)&&(d=!0,n.typeAndIdToKey.delete(I),R.forEach(function(E){return k.markKeyForGC(E)}))}}},"_loop2");for(v.s();!(x=v.n()).done;)b()}catch(T){v.e(T)}finally{v.f()}}}}catch(T){m.e(T)}finally{m.f()}return p&&(this.gc(),d=!1),d},"invalidate")},{key:"gc",value:o(function(){var r=qs(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()}},"gc")},{key:"getOrCreateAtlas",value:o(function(r,n,i,a){var s=this.renderTypes.get(n),l=this.collections.get(s.collection),u=!1,h=l.draw(a,i,function(p){s.drawClipped?(p.save(),p.beginPath(),p.rect(0,0,i.w,i.h),p.clip(),s.drawElement(p,r,i,!0,!0),p.restore()):s.drawElement(p,r,i,!0,!0),u=!0});if(u){var f=s.getID?s.getID(r):r.id(),d=this._key(n,f);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return h},"getOrCreateAtlas")},{key:"getAtlasInfo",value:o(function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),l=Array.isArray(s)?s:[s];return l.map(function(u){var h=a.getBoundingBox(r,u),f=i.getOrCreateAtlas(r,n,h,u),d=f.getOffsets(u),p=_i(d,2),m=p[0],g=p[1];return{atlas:f,tex:m,tex1:m,tex2:g,bb:h}})},"getAtlasInfo")},{key:"getDebugInfo",value:o(function(){var r=[],n=qs(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=_i(i.value,2),s=a[0],l=a[1],u=l.getCounts(),h=u.keyCount,f=u.atlasCount;r.push({type:s,keyCount:h,atlasCount:f})}}catch(d){n.e(d)}finally{n.f()}return r},"getDebugInfo")}])})(),Sqe=(function(){function t(e){Af(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return o(t,"AtlasBatchManager"),_f(t,[{key:"getMaxAtlasesPerBatch",value:o(function(){return this.maxAtlasesPerBatch},"getMaxAtlasesPerBatch")},{key:"getAtlasSize",value:o(function(){return this.atlasSize},"getAtlasSize")},{key:"getIndexArray",value:o(function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})},"getIndexArray")},{key:"startBatch",value:o(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:o(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:o(function(){return this.batchAtlases},"getAtlases")},{key:"canAddToCurrentBatch",value:o(function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0},"canAddToCurrentBatch")},{key:"getAtlasIndexForBatch",value:o(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},"getAtlasIndexForBatch")}])})(),Cqe=` + float circleSD(vec2 p, float r) { + return distance(vec2(0), p) - r; // signed distance + } +`,Aqe=` + 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); + } +`,_qe=` + 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; + } +`,Dqe=` + float ellipseSD(vec2 p, vec2 ab) { + p = abs( p ); // symmetry + + // find root with Newton solver + vec2 q = ab*(p-ab); + float w = (q.x1.0) ? d : -d; + } +`,ix={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},oE={IGNORE:1,USE_BB:2},FM=0,iue=1,aue=2,$M=3,Jm=4,Bk=5,Q2=6,Z2=7,Lqe=(function(){function t(e,r,n){Af(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=lqe,this.atlasManager=new Eqe(e,n),this.batchManager=new Sqe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(ix.SCREEN),this.pickingProgram=this._createShaderProgram(ix.PICKING),this.vao=this._createVAO()}return o(t,"ElementDrawingWebGL"),_f(t,[{key:"addAtlasCollection",value:o(function(r,n){this.atlasManager.addAtlasCollection(r,n)},"addAtlasCollection")},{key:"addTextureAtlasRenderType",value:o(function(r,n){this.atlasManager.addRenderType(r,n)},"addTextureAtlasRenderType")},{key:"addSimpleShapeRenderType",value:o(function(r,n){this.simpleShapeOptions.set(r,n)},"addSimpleShapeRenderType")},{key:"invalidate",value:o(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:o(function(l){return l===i},"filterType"),forceRedraw:!0}):a.invalidate(r)},"invalidate")},{key:"gc",value:o(function(){this.atlasManager.gc()},"gc")},{key:"_createShaderProgram",value:o(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(FM,`) { + 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(Jm," || aVertType == ").concat(Z2,` + || aVertType == `).concat(Bk," || aVertType == ").concat(Q2,`) { // 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(iue,`) { + 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(aue,`) { + 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($M,` && 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(h){return"uniform sampler2D uTexture".concat(h,";")}).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(Cqe,` + `).concat(Aqe,` + `).concat(_qe,` + `).concat(Dqe,` + + 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(FM,`) { + // look up the texel from the texture unit + `).concat(a.map(function(h){return"if(vAtlasId == ".concat(h,") outColor = texture(uTexture").concat(h,", vTexCoord);")}).join(` + else `),` + } + else if(vVertType == `).concat($M,`) { + // 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(Jm,` && 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(Jm," || vVertType == ").concat(Z2,` + || vVertType == `).concat(Bk," || vVertType == ").concat(Q2,`) { // 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(Jm,`) { + d = rectangleSD(p, b); + } else if(vVertType == `).concat(Z2,` && w == h) { + d = circleSD(p, b.x); // faster than ellipse + } else if(vVertType == `).concat(Z2,`) { + 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;`:"",` + } + `),l=oqe(n,i,s);l.aPosition=n.getAttribLocation(l,"aPosition"),l.aIndex=n.getAttribLocation(l,"aIndex"),l.aVertType=n.getAttribLocation(l,"aVertType"),l.aTransform=n.getAttribLocation(l,"aTransform"),l.aAtlasId=n.getAttribLocation(l,"aAtlasId"),l.aTex=n.getAttribLocation(l,"aTex"),l.aPointAPointB=n.getAttribLocation(l,"aPointAPointB"),l.aPointCPointD=n.getAttribLocation(l,"aPointCPointD"),l.aLineWidth=n.getAttribLocation(l,"aLineWidth"),l.aColor=n.getAttribLocation(l,"aColor"),l.aCornerRadius=n.getAttribLocation(l,"aCornerRadius"),l.aBorderColor=n.getAttribLocation(l,"aBorderColor"),l.uPanZoomMatrix=n.getUniformLocation(l,"uPanZoomMatrix"),l.uAtlasSize=n.getUniformLocation(l,"uAtlasSize"),l.uBGColor=n.getUniformLocation(l,"uBGColor"),l.uZoom=n.getUniformLocation(l,"uZoom"),l.uTextures=[];for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:ix.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()},"startFrame")},{key:"startBatch",value:o(function(){this.instanceCount=0,this.batchManager.startBatch()},"startBatch")},{key:"endFrame",value:o(function(){this.endBatch()},"endFrame")},{key:"_isVisible",value:o(function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1},"_isVisible")},{key:"drawTexture",value:o(function(r,n,i){var a=this.atlasManager,s=this.batchManager,l=a.getRenderTypeOpts(i);if(this._isVisible(r,l)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&l.getTexPickingMode){var u=l.getTexPickingMode(r);if(u===oE.IGNORE)return;if(u==oE.USE_BB){this.drawPickingRectangle(r,n,i);return}}var h=a.getAtlasInfo(r,i),f=qs(h),d;try{for(f.s();!(d=f.n()).done;){var p=d.value,m=p.atlas,g=p.tex1,y=p.tex2;s.canAddToCurrentBatch(m)||this.endBatch();for(var v=s.getAtlasIndexForBatch(m),x=0,b=[[g,!0],[y,!1]];x=this.maxInstances&&this.endBatch()}}}}catch(R){f.e(R)}finally{f.f()}}},"drawTexture")},{key:"setTransformMatrix",value:o(function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,l=0;if(i.shapeProps&&i.shapeProps.padding&&(l=r.pstyle(i.shapeProps.padding).pfValue),a){var u=a.bb,h=a.tex1,f=a.tex2,d=h.w/(h.w+f.w);s||(d=1-d);var p=this._getAdjustedBB(u,l,s,d);this._applyTransformMatrix(n,p,i,r)}else{var m=i.getBoundingBox(r),g=this._getAdjustedBB(m,l,!0,1);this._applyTransformMatrix(n,g,i,r)}},"setTransformMatrix")},{key:"_applyTransformMatrix",value:o(function(r,n,i,a){var s,l;rue(r);var u=i.getRotation?i.getRotation(a):0;if(u!==0){var h=i.getRotationPoint(a),f=h.x,d=h.y;Xk(r,r,[f,d]),nue(r,r,u);var p=i.getRotationOffset(a);s=p.x+(n.xOffset||0),l=p.y+(n.yOffset||0)}else s=n.x1,l=n.y1;Xk(r,r,[s,l]),aI(r,r,[n.w,n.h])},"_applyTransformMatrix")},{key:"_getAdjustedBB",value:o(function(r,n,i,a){var s=r.x1,l=r.y1,u=r.w,h=r.h,f=r.yOffset;n&&(s-=n,l-=n,u+=2*n,h+=2*n);var d=0,p=u*a;return i&&a<1?u=p:!i&&a<1&&(d=u-p,s+=d,u=p),{x1:s,y1:l,w:u,h,xOffset:d,yOffset:f}},"_getAdjustedBB")},{key:"drawPickingRectangle",value:o(function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=Jm;var l=this.indexBuffer.getView(s);Zm(n,l);var u=this.colorBuffer.getView(s);dp([0,0,0],1,u);var h=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,h,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()},"drawPickingRectangle")},{key:"drawNode",value:o(function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,l=this._getVertTypeForShape(r,s.shape);if(l===void 0||a.isSimple&&!a.isSimple(r)){this.drawTexture(r,n,i);return}var u=this.instanceCount;if(this.vertTypeBuffer.getView(u)[0]=l,l===Bk||l===Q2){var h=a.getBoundingBox(r),f=this._getCornerRadius(r,s.radius,h),d=this.cornerRadiusBuffer.getView(u);d[0]=f,d[1]=f,d[2]=f,d[3]=f,l===Q2&&(d[0]=0,d[2]=0)}var p=this.indexBuffer.getView(u);Zm(n,p);var m=r.pstyle(s.color).value,g=r.pstyle(s.opacity).value,y=this.colorBuffer.getView(u);dp(m,g,y);var v=this.lineWidthBuffer.getView(u);if(v[0]=0,v[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var b=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,S=this.borderColorBuffer.getView(u);dp(b,T,S);var w=r.pstyle("border-position").value;if(w==="inside")v[0]=0,v[1]=-x;else if(w==="outside")v[0]=x,v[1]=0;else{var k=x/2;v[0]=k,v[1]=-k}}}var C=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(r,C,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawNode")},{key:"_getVertTypeForShape",value:o(function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return Jm;case"ellipse":return Z2;case"roundrectangle":case"round-rectangle":return Bk;case"bottom-round-rectangle":return Q2;default:return}},"_getVertTypeForShape")},{key:"_getCornerRadius",value:o(function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return kf(a,s);var l=r.pstyle(n).pfValue,u=a/2,h=s/2;return Math.min(l,h,u)},"_getCornerRadius")},{key:"drawEdgeArrow",value:o(function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,l,u;if(i==="source"?(s=a.arrowStartX,l=a.arrowStartY,u=a.srcArrowAngle):(s=a.arrowEndX,l=a.arrowEndY,u=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(l)||l==null||isNaN(u)||u==null)){var h=r.pstyle(i+"-arrow-shape").value;if(h!=="none"){var f=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,p=r.pstyle("line-opacity").value,m=d*p,g=r.pstyle("width").pfValue,y=r.pstyle("arrow-scale").value,v=this.r.getArrowWidth(g,y),x=this.instanceCount,b=this.transformBuffer.getMatrixView(x);rue(b),Xk(b,b,[s,l]),aI(b,b,[v,v]),nue(b,b,u),this.vertTypeBuffer.getView(x)[0]=$M;var T=this.indexBuffer.getView(x);Zm(n,T);var S=this.colorBuffer.getView(x);dp(f,m,S),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:o(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,l=r.pstyle("width").pfValue,u=r.pstyle("line-color").value,h=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=iue;var d=this.indexBuffer.getView(f);Zm(n,d);var p=this.colorBuffer.getView(f);dp(u,h,p);var m=this.lineWidthBuffer.getView(f);m[0]=l;var g=this.pointAPointBBuffer.getView(f);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 y=0;y=this.maxInstances&&this.endBatch()}}}},"drawEdgeLine")},{key:"_isValidEdge",value:o(function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))},"_isValidEdge")},{key:"_getEdgePoints",value:o(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)}},"_getEdgePoints")},{key:"_getNumSegments",value:o(function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)},"_getNumSegments")},{key:"_getCurveSegmentPoints",value:o(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},"_getCurveSegmentPoints")},{key:"_setCurvePoint",value:o(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),l=0;l0}},"isLayerVisible"),l=o(function(d){var p=d.pstyle("text-events").strValue==="yes";return p?oE.USE_BB:oE.IGNORE},"getTexPickingMode"),u=o(function(d){var p=d.position(),m=p.x,g=p.y,y=d.outerWidth(),v=d.outerHeight();return{w:y,h:v,x1:m-y/2,y1:g-v/2}},"getBBForSimpleShape");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:u,isSimple:hqe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:u,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:u,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:l,getKey:zM(e.getLabelKey,null),getBoundingBox:GM(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:l,getKey:zM(e.getSourceLabelKey,"source"),getBoundingBox:GM(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:l,getKey:zM(e.getTargetLabelKey,"target"),getBoundingBox:GM(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var h=bx(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(f,d){var p=!1;d&&d.length>0&&(p|=r.drawing.invalidate(d)),p&&h()}),Nqe(r)};o(Rqe,"getBGColor");o(Uhe,"getLabelLines");zM=o(function(e,r){return function(n){var i=e(n),a=Uhe(n,r);return a.length>1?a.map(function(s,l){return"".concat(i,"_").concat(l)}):i}},"getStyleKeysForLabel"),GM=o(function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var l=Number(i.substring(s+1)),u=Uhe(n,r),h=a.h/u.length,f=h*l,d=a.y1+f;return{x1:a.x1,w:a.w,y1:d,h,yOffset:f}}}return a}},"getBoundingBoxForLabel");o(Nqe,"overrideCanvasRendererFunctions");o(Mqe,"clearWebgl");o(Iqe,"clearCanvas");o(Oqe,"createPanZoomMatrix");o(Hhe,"setContextTransform");o(Pqe,"drawSelectionRectangle");o(Bqe,"drawAxes");o(Fqe,"drawAtlases");o($qe,"getPickingIndexes");o(zqe,"findNearestElementsWebgl");o(VM,"drawEle");o(qhe,"renderWebgl");Rf={};Rf.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(Gqe,"b64ToBlob");o(lue,"b64UriToB64");o(Yhe,"output");Cx.png=function(t){return Yhe(t,this.bufferCanvasImage(t),"image/png")};Cx.jpg=function(t){return Yhe(t,this.bufferCanvasImage(t),"image/jpeg")};Xhe={};Xhe.nodeShapeImpl=function(t,e,r,n,i,a,s,l){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,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};Vqe=jhe,Cr=jhe.prototype;Cr.CANVAS_LAYERS=3;Cr.SELECT_BOX=0;Cr.DRAG=1;Cr.NODE=2;Cr.WEBGL=3;Cr.CANVAS_TYPES=["2d","2d","2d","webgl2"];Cr.BUFFER_COUNT=3;Cr.TEXTURE_BUFFER=0;Cr.MOTIONBLUR_BUFFER_NODE=1;Cr.MOTIONBLUR_BUFFER_DRAG=2;o(jhe,"CanvasRenderer");Cr.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Cr.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Cr.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Cr.SELECT_BOX]=e;break;case"gc":r.data.gc=!0;break}};Uqe=typeof Path2D<"u";Cr.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Cr.usePaths=function(){return Uqe&&this.pathsEnabled};Cr.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Cr.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Cr.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":$i(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};[Bhe,Fc,Hu,NI,Cp,Lf,us,Vhe,Rf,Cx,Xhe].forEach(function(t){ir(Cr,t)});Hqe=[{name:"null",impl:khe},{name:"base",impl:Mhe},{name:"canvas",impl:Vqe}],qqe=[{type:"layout",extensions:gHe},{type:"renderer",extensions:Hqe}],Khe={},Qhe={};o(Zhe,"setExtension");o(Jhe,"getExtension");o(Wqe,"setModule");o(Yqe,"getModule");lI=o(function(){if(arguments.length===2)return Jhe.apply(null,arguments);if(arguments.length===3)return Zhe.apply(null,arguments);if(arguments.length===4)return Yqe.apply(null,arguments);if(arguments.length===5)return Wqe.apply(null,arguments);Kn("Invalid extension access syntax")},"extension");dx.prototype.extension=lI;qqe.forEach(function(t){t.extensions.forEach(function(e){Zhe(t.type,e.name,e.impl)})});lE=o(function(){if(!(this instanceof lE))return new lE;this.length=0},"Stylesheet"),Ep=lE.prototype;Ep.instanceString=function(){return"stylesheet"};Ep.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};Ep.css=function(t,e){var r=this.length-1;if(Jt(t))this[r].properties.push({name:t,value:e});else if(Yr(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";o((function(e,r){typeof Ax=="object"&&typeof OI=="object"?OI.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Ax=="object"?Ax.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(Ax,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.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=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[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(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},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 u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(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(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/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==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var S=x.source.owner.getEdges().indexOf(x);if(S==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(S,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),S=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,S,w,k,C,A=this.nodes,L=A.length,I=0;IT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var L=0;v.forEach(function(I){I.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,E=!0):(l[0]=g,l[1]=m,E=!0):D===N&&(u>f?(l[0]=p,l[1]=m,E=!0):(l[0]=x,l[1]=v,E=!0)),-O===N?f>u?(l[2]=C,l[3]=A,_=!0):(l[2]=k,l[3]=w,_=!0):O===N&&(f>u?(l[2]=S,l[3]=w,_=!0):(l[2]=L,l[3]=A,_=!0)),E&&_)return!1;if(u>f?h>d?(P=this.getCardinalDirection(D,N,4),B=this.getCardinalDirection(O,N,2)):(P=this.getCardinalDirection(-D,N,3),B=this.getCardinalDirection(-O,N,1)):h>d?(P=this.getCardinalDirection(-D,N,1),B=this.getCardinalDirection(-O,N,3)):(P=this.getCardinalDirection(D,N,2),B=this.getCardinalDirection(O,N,4)),!E)switch(P){case 1:V=m,F=u+-T/N,l[0]=F,l[1]=V;break;case 2:F=x,V=h+b*N,l[0]=F,l[1]=V;break;case 3:V=v,F=u+T/N,l[0]=F,l[1]=V;break;case 4:F=y,V=h+-b*N,l[0]=F,l[1]=V;break}if(!_)switch(B){case 1:U=w,$=f+-R/N,l[2]=$,l[3]=U;break;case 2:$=L,U=d+I*N,l[2]=$,l[3]=U;break;case 3:U=A,$=f+R/N,l[2]=$,l[3]=U;break;case 4:$=C,U=d+-I*N,l[2]=$,l[3]=U;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,S=void 0,w=void 0,k=void 0,C=void 0,A=void 0,L=void 0;return T=p-f,w=h-d,C=d*f-h*p,S=v-g,k=m-y,A=y*g-m*v,L=T*k-S*w,L===0?null:(x=(w*A-k*C)/L,b=(S*C-T*A)/L,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var C=k.getEdges(),x=0;x-1&&w.splice(R,1)}b=new Set,S=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var L=S.getNeighborsList();L.forEach(function(E){if(y.indexOf(E)<0){var _=v.get(E),D=_-1;D==1&&k.push(E),v.set(E,D)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(4);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.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 d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var S=0;Sh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof _x=="object"&&typeof BI=="object"?BI.exports=r(PI()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof _x=="object"?_x.coseBase=r(PI()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(_x,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(u,h,f,d){i.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.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),u.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},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(w);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),C=this.nodesWithGravity.filter(function(A){return k.has(A)});this.graphManager.setAllNodesToApplyGravitation(C),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 w=new Set(this.getAllNodes()),k=this.nodesWithGravity.filter(function(L){return w.has(L)});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 C=!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(C,A),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var w=this.graphManager.getAllNodes(),k={},C=0;C1){var E;for(E=0;EA&&(A=Math.floor(R.y)),I=Math.floor(R.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-R.x/2,d.WORLD_CENTER_Y-R.y/2))},T.radialLayout=function(w,k,C){var A=Math.max(this.maxDiagonalInTree(w),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(k,null,0,359,0,A);var L=x.calculateBounds(w),I=new b;I.setDeviceOrgX(L.getMinX()),I.setDeviceOrgY(L.getMinY()),I.setWorldOrgX(C.x),I.setWorldOrgY(C.y);for(var R=0;R1;){var j=U[0];U.splice(0,1);var ee=P.indexOf(j);ee>=0&&P.splice(ee,1),V--,B--}k!=null?$=(P.indexOf(U[0])+1)%V:$=0;for(var q=Math.abs(A-C)/B,oe=$;F!=B;oe=++oe%V){var Q=P[oe].getOtherEnd(w);if(Q!=k){var ue=(C+F*q)%360,te=(ue+q)%360;T.branchRadialLayout(Q,w,ue,te,L+I,I),F++}}},T.maxDiagonalInTree=function(w){for(var k=y.MIN_VALUE,C=0;Ck&&(k=L)}return k},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var w=this,k={};this.memberGroups={},this.idToDummyNode={};for(var C=[],A=this.graphManager.getAllNodes(),L=0;L"u"&&(k[E]=[]),k[E]=k[E].concat(I)}Object.keys(k).forEach(function(_){if(k[_].length>1){var D="DummyCompound_"+_;w.memberGroups[D]=k[_];var O=k[_][0].getParent(),N=new l(w.graphManager);N.id=D,N.paddingLeft=O.paddingLeft||0,N.paddingRight=O.paddingRight||0,N.paddingBottom=O.paddingBottom||0,N.paddingTop=O.paddingTop||0,w.idToDummyNode[D]=N;var P=w.getGraphManager().add(w.newGraph(),N),B=O.getChild();B.add(N);for(var F=0;F=0;w--){var k=this.compoundOrder[w],C=k.id,A=k.paddingLeft,L=k.paddingTop;this.adjustLocations(this.tiledMemberPack[C],k.rect.x,k.rect.y,A,L)}},T.prototype.repopulateZeroDegreeMembers=function(){var w=this,k=this.tiledZeroDegreePack;Object.keys(k).forEach(function(C){var A=w.idToDummyNode[C],L=A.paddingLeft,I=A.paddingTop;w.adjustLocations(k[C],A.rect.x,A.rect.y,L,I)})},T.prototype.getToBeTiled=function(w){var k=w.id;if(this.toBeTiled[k]!=null)return this.toBeTiled[k];var C=w.getChild();if(C==null)return this.toBeTiled[k]=!1,!1;for(var A=C.getNodes(),L=0;L0)return this.toBeTiled[k]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[k]=!1,!1}return this.toBeTiled[k]=!0,!0},T.prototype.getNodeDegree=function(w){for(var k=w.id,C=w.getEdges(),A=0,L=0;L_&&(_=O.rect.height)}C+=_+w.verticalPadding}},T.prototype.tileCompoundMembers=function(w,k){var C=this;this.tiledMemberPack=[],Object.keys(w).forEach(function(A){var L=k[A];C.tiledMemberPack[A]=C.tileNodes(w[A],L.paddingLeft+L.paddingRight),L.rect.width=C.tiledMemberPack[A].width,L.rect.height=C.tiledMemberPack[A].height})},T.prototype.tileNodes=function(w,k){var C=h.TILING_PADDING_VERTICAL,A=h.TILING_PADDING_HORIZONTAL,L={rows:[],rowWidth:[],rowHeight:[],width:0,height:k,verticalPadding:C,horizontalPadding:A};w.sort(function(E,_){return E.rect.width*E.rect.height>_.rect.width*_.rect.height?-1:E.rect.width*E.rect.height<_.rect.width*_.rect.height?1:0});for(var I=0;I0&&(R+=w.horizontalPadding),w.rowWidth[C]=R,w.width0&&(E+=w.verticalPadding);var _=0;E>w.rowHeight[C]&&(_=w.rowHeight[C],w.rowHeight[C]=E,_=w.rowHeight[C]-_),w.height+=_,w.rows[C].push(k)},T.prototype.getShortestRowIndex=function(w){for(var k=-1,C=Number.MAX_VALUE,A=0;AC&&(k=A,C=w.rowWidth[A]);return k},T.prototype.canAddHorizontal=function(w,k,C){var A=this.getShortestRowIndex(w);if(A<0)return!0;var L=w.rowWidth[A];if(L+w.horizontalPadding+k<=w.width)return!0;var I=0;w.rowHeight[A]0&&(I=C+w.verticalPadding-w.rowHeight[A]);var R;w.width-L>=k+w.horizontalPadding?R=(w.height+I)/(L+k+w.horizontalPadding):R=(w.height+I)/w.width,I=C+w.verticalPadding;var E;return w.widthI&&k!=C){A.splice(-1,1),w.rows[C].push(L),w.rowWidth[k]=w.rowWidth[k]-I,w.rowWidth[C]=w.rowWidth[C]+I,w.width=w.rowWidth[instance.getLongestRowIndex(w)];for(var R=Number.MIN_VALUE,E=0;ER&&(R=A[E].height);k>0&&(R+=w.verticalPadding);var _=w.rowHeight[k]+w.rowHeight[C];w.rowHeight[k]=R,w.rowHeight[C]0)for(var B=L;B<=I;B++)P[0]+=this.grid[B][R-1].length+this.grid[B][R].length-1;if(I0)for(var B=R;B<=E;B++)P[3]+=this.grid[L-1][B].length+this.grid[L][B].length-1;for(var F=y.MAX_VALUE,V,$,U=0;U{"use strict";o((function(e,r){typeof Dx=="object"&&typeof $I=="object"?$I.exports=r(FI()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof Dx=="object"?Dx.cytoscapeCoseBilkent=r(FI()):e.cytoscapeCoseBilkent=r(e.coseBase)}),"webpackUniversalModuleDefinition")(Dx,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),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 p(v,x){var b={};for(var T in v)b[T]=v[T];for(var T in x)b[T]=x[T];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,T=this.idToLNode={},S=this.layout=new l,w=this;w.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var k=S.newGraphManager();this.gm=k;var C=this.options.eles.nodes(),A=this.options.eles.edges();this.root=k.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(C),S);for(var L=0;L0){var E;E=b.getGraphManager().add(b.newGraph(),C),this.processChildrenList(E,k,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y})])})});function jqe(t,e){t.forEach(r=>{let 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}})})}function Kqe(t,e){t.forEach(r=>{let 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})})}function rfe(t){return new Promise(e=>{let r=qe("body").append("div").attr("id","cy").attr("style","display:none"),n=Ko({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),jqe(t.nodes,n),Kqe(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}});let i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{X.info("Cytoscape ready",a),e(n)})})}function nfe(t){return t.nodes().map(e=>{let 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})}function ife(t){return t.edges().map(e=>{let 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})}var tfe,afe=M(()=>{"use strict";II();tfe=La(efe(),1);yr();pt();Ko.use(tfe.default);o(jqe,"addNodes");o(Kqe,"addEdges");o(rfe,"createCytoscapeInstance");o(nfe,"extractPositionedNodes");o(ife,"extractPositionedEdges")});async function sfe(t,e){X.debug("Starting cose-bilkent layout algorithm");try{Qqe(t);let r=await rfe(t),n=nfe(r),i=ife(r);return X.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw X.error("Error in cose-bilkent layout algorithm:",r),r}}function Qqe(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}var ofe=M(()=>{"use strict";pt();afe();o(sfe,"executeCoseBilkentLayout");o(Qqe,"validateLayoutData")});var lfe,cfe=M(()=>{"use strict";ofe();lfe=o(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:l,positionEdgeLabel:u},{algorithm:h})=>{let f={},d={},p=e.select("g");a(p,t.markers,t.type,t.diagramId);let m=p.insert("g").attr("class","subgraphs"),g=p.insert("g").attr("class","edgePaths"),y=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");l.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){let S={...T};d[T.id]=S,f[T.id]=S,await r(m,T)}else{let S={...T};f[T.id]=S;let w=await s(v,T,{config:t.config,dir:t.direction||"TB"}),k=w.node().getBBox();S.width=k.width,S.height=k.height,S.domId=w,l.debug(`Node ${T.id} dimensions: ${k.width}x${k.height}`)}})),l.debug("Running cose-bilkent layout algorithm");let x={...t,nodes:t.nodes.map(T=>{let S=f[T.id];return{...T,width:S.width,height:S.height}})},b=await sfe(x,t.config);l.debug("Positioning nodes based on layout results"),b.nodes.forEach(T=>{let S=f[T.id];S?.domId&&(S.domId.attr("transform",`translate(${T.x}, ${T.y})`),S.x=T.x,S.y=T.y,l.debug(`Positioned node ${S.id} at center (${T.x}, ${T.y})`))}),b.edges.forEach(T=>{let S=t.edges.find(w=>w.id===T.id);S&&(S.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),l.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{let S=await i(y,T),w=f[T.start??""],k=f[T.end??""];if(w&&k){let C=b.edges.find(A=>A.id===T.id);if(C){l.debug("APA01 positionedEdge",C);let A={...T},L=n(g,A,d,t.type,w,k,t.diagramId);u(A,L)}else{let A={...T,points:[{x:w.x||0,y:w.y||0},{x:k.x||0,y:k.y||0}]},L=n(g,A,d,t.type,w,k,t.diagramId);u(A,L)}}})),l.debug("Cose-bilkent rendering completed")},"render")});var ufe={};dr(ufe,{render:()=>Zqe});var Zqe,hfe=M(()=>{"use strict";cfe();Zqe=lfe});var Lx,zI,Jqe,Qo,$c,Nf=M(()=>{"use strict";ere();pt();Lx={},zI=o(t=>{for(let e of t)Lx[e.name]=e},"registerLayoutLoaders"),Jqe=o(()=>{zI([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(Ioe(),Moe)),"loader")},{name:"cose-bilkent",loader:o(async()=>await Promise.resolve().then(()=>(hfe(),ufe)),"loader")}])},"registerDefaultLayoutLoaders");Jqe();Qo=o(async(t,e)=>{if(!(t.layoutAlgorithm in Lx))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=Lx[t.layoutAlgorithm];return(await r.loader()).render(t,e,Jte,{algorithm:r.algorithm})},"render"),$c=o((t="",{fallback:e="dagre"}={})=>{if(t in Lx)return t;if(e in Lx)return X.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")});var Ws,eWe,tWe,Mf=M(()=>{"use strict";Ei();pt();Ws=o((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:l}=eWe(t,e);mn(t,a,i,n);let u=tWe(s,l,i,a,e);t.attr("viewBox",u),X.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),eWe=o((t,e)=>{let r=t.node()?.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"),tWe=o((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var rWe,nWe,ffe,dfe=M(()=>{"use strict";yr();Xt();pt();ep();Nf();Mf();tr();rWe=o(function(t,e){return e.db.getClasses()},"getClasses"),nWe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=ge(),l;i==="sandbox"&&(l=qe("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;X.debug("Before getData: ");let h=n.db.getData();X.debug("Data: ",h);let f=Vo(e,i),d=n.db.getDirection();h.type=n.type,h.layoutAlgorithm=$c(s),h.layoutAlgorithm==="dagre"&&s==="elk"&&X.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."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,X.debug("REF1:",h),await Qo(h,f);let p=h.config.flowchart?.diagramPadding??8;qt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),Ws(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=qe(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),ffe={getClasses:rWe,draw:nWe}});var GI,VI,pfe=M(()=>{"use strict";GI=(function(){var t=o(function(fr,it,kt,jt){for(kt=kt||{},jt=fr.length;jt--;kt[fr[jt]]=it);return kt},"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],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,49],y=[1,48],v=[1,29],x=[1,30],b=[1,31],T=[1,32],S=[1,33],w=[1,44],k=[1,46],C=[1,42],A=[1,47],L=[1,43],I=[1,50],R=[1,45],E=[1,51],_=[1,52],D=[1,34],O=[1,35],N=[1,36],P=[1,37],B=[1,57],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],V=[1,61],$=[1,60],U=[1,62],j=[8,9,11,75,77,78],ee=[1,78],q=[1,91],oe=[1,96],Q=[1,95],ue=[1,92],te=[1,88],re=[1,94],J=[1,90],K=[1,97],ae=[1,93],Z=[1,98],de=[1,89],ne=[8,9,10,11,40,75,77,78],Te=[8,9,10,11,40,46,75,77,78],W=[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],Ve=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],pe=[44,60,89,102,105,106,109,111,114,115,116],Be=[1,121],Ye=[1,122],He=[1,124],Le=[1,123],Ie=[44,60,62,74,89,102,105,106,109,111,114,115,116],Ne=[1,133],Ce=[1,147],Fe=[1,148],fe=[1,149],xe=[1,150],Y=[1,135],he=[1,137],z=[1,141],se=[1,142],le=[1,143],ke=[1,144],ve=[1,145],ye=[1,146],Re=[1,151],_e=[1,152],ze=[1,131],Ke=[1,132],xt=[1,139],We=[1,134],Oe=[1,138],et=[1,136],Ue=[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],lt=[1,154],Gt=[1,156],vt=[8,9,11],Lt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],dt=[1,176],nt=[1,172],bt=[1,173],wt=[1,177],yt=[1,174],ft=[1,175],Ur=[77,116,119],_t=[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],bn=[10,106],Br=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],cr=[1,247],ar=[1,245],_r=[1,249],Ct=[1,243],Se=[1,244],at=[1,246],Nt=[1,248],wr=[1,250],Tn=[1,268],yn=[8,9,11,106],sn=[8,9,10,11,60,84,105,106,109,110,111,112],Hi={trace:o(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,$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"},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]],performAction:o(function(it,kt,jt,ht,Dr,me,Yl){var be=me.length-1;switch(Dr){case 2:this.$=[];break;case 3:(!Array.isArray(me[be])||me[be].length>0)&&me[be-1].push(me[be]),this.$=me[be-1];break;case 4:case 183:this.$=me[be];break;case 11:ht.setDirection("TB"),this.$="TB";break;case 12:ht.setDirection(me[be-1]),this.$=me[be-1];break;case 27:this.$=me[be-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=ht.addSubGraph(me[be-6],me[be-1],me[be-4]);break;case 34:this.$=ht.addSubGraph(me[be-3],me[be-1],me[be-3]);break;case 35:this.$=ht.addSubGraph(void 0,me[be-1],void 0);break;case 37:this.$=me[be].trim(),ht.setAccTitle(this.$);break;case 38:case 39:this.$=me[be].trim(),ht.setAccDescription(this.$);break;case 43:this.$=me[be-1]+me[be];break;case 44:this.$=me[be];break;case 45:ht.addVertex(me[be-1][me[be-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,me[be]),ht.addLink(me[be-3].stmt,me[be-1],me[be-2]),this.$={stmt:me[be-1],nodes:me[be-1].concat(me[be-3].nodes)};break;case 46:ht.addLink(me[be-2].stmt,me[be],me[be-1]),this.$={stmt:me[be],nodes:me[be].concat(me[be-2].nodes)};break;case 47:ht.addLink(me[be-3].stmt,me[be-1],me[be-2]),this.$={stmt:me[be-1],nodes:me[be-1].concat(me[be-3].nodes)};break;case 48:this.$={stmt:me[be-1],nodes:me[be-1]};break;case 49:ht.addVertex(me[be-1][me[be-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,me[be]),this.$={stmt:me[be-1],nodes:me[be-1],shapeData:me[be]};break;case 50:this.$={stmt:me[be],nodes:me[be]};break;case 51:this.$=[me[be]];break;case 52:ht.addVertex(me[be-5][me[be-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,me[be-4]),this.$=me[be-5].concat(me[be]);break;case 53:this.$=me[be-4].concat(me[be]);break;case 54:this.$=me[be];break;case 55:this.$=me[be-2],ht.setClass(me[be-2],me[be]);break;case 56:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"square");break;case 57:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"doublecircle");break;case 58:this.$=me[be-5],ht.addVertex(me[be-5],me[be-2],"circle");break;case 59:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"ellipse");break;case 60:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"stadium");break;case 61:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"subroutine");break;case 62:this.$=me[be-7],ht.addVertex(me[be-7],me[be-1],"rect",void 0,void 0,void 0,Object.fromEntries([[me[be-5],me[be-3]]]));break;case 63:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"cylinder");break;case 64:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"round");break;case 65:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"diamond");break;case 66:this.$=me[be-5],ht.addVertex(me[be-5],me[be-2],"hexagon");break;case 67:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"odd");break;case 68:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"trapezoid");break;case 69:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"inv_trapezoid");break;case 70:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"lean_right");break;case 71:this.$=me[be-3],ht.addVertex(me[be-3],me[be-1],"lean_left");break;case 72:this.$=me[be],ht.addVertex(me[be]);break;case 73:me[be-1].text=me[be],this.$=me[be-1];break;case 74:case 75:me[be-2].text=me[be-1],this.$=me[be-2];break;case 76:this.$=me[be];break;case 77:var jr=ht.destructLink(me[be],me[be-2]);this.$={type:jr.type,stroke:jr.stroke,length:jr.length,text:me[be-1]};break;case 78:var jr=ht.destructLink(me[be],me[be-2]);this.$={type:jr.type,stroke:jr.stroke,length:jr.length,text:me[be-1],id:me[be-3]};break;case 79:this.$={text:me[be],type:"text"};break;case 80:this.$={text:me[be-1].text+""+me[be],type:me[be-1].type};break;case 81:this.$={text:me[be],type:"string"};break;case 82:this.$={text:me[be],type:"markdown"};break;case 83:var jr=ht.destructLink(me[be]);this.$={type:jr.type,stroke:jr.stroke,length:jr.length};break;case 84:var jr=ht.destructLink(me[be]);this.$={type:jr.type,stroke:jr.stroke,length:jr.length,id:me[be-1]};break;case 85:this.$=me[be-1];break;case 86:this.$={text:me[be],type:"text"};break;case 87:this.$={text:me[be-1].text+""+me[be],type:me[be-1].type};break;case 88:this.$={text:me[be],type:"string"};break;case 89:case 104:this.$={text:me[be],type:"markdown"};break;case 101:this.$={text:me[be],type:"text"};break;case 102:this.$={text:me[be-1].text+""+me[be],type:me[be-1].type};break;case 103:this.$={text:me[be],type:"text"};break;case 105:this.$=me[be-4],ht.addClass(me[be-2],me[be]);break;case 106:this.$=me[be-4],ht.setClass(me[be-2],me[be]);break;case 107:case 115:this.$=me[be-1],ht.setClickEvent(me[be-1],me[be]);break;case 108:case 116:this.$=me[be-3],ht.setClickEvent(me[be-3],me[be-2]),ht.setTooltip(me[be-3],me[be]);break;case 109:this.$=me[be-2],ht.setClickEvent(me[be-2],me[be-1],me[be]);break;case 110:this.$=me[be-4],ht.setClickEvent(me[be-4],me[be-3],me[be-2]),ht.setTooltip(me[be-4],me[be]);break;case 111:this.$=me[be-2],ht.setLink(me[be-2],me[be]);break;case 112:this.$=me[be-4],ht.setLink(me[be-4],me[be-2]),ht.setTooltip(me[be-4],me[be]);break;case 113:this.$=me[be-4],ht.setLink(me[be-4],me[be-2],me[be]);break;case 114:this.$=me[be-6],ht.setLink(me[be-6],me[be-4],me[be]),ht.setTooltip(me[be-6],me[be-2]);break;case 117:this.$=me[be-1],ht.setLink(me[be-1],me[be]);break;case 118:this.$=me[be-3],ht.setLink(me[be-3],me[be-2]),ht.setTooltip(me[be-3],me[be]);break;case 119:this.$=me[be-3],ht.setLink(me[be-3],me[be-2],me[be]);break;case 120:this.$=me[be-5],ht.setLink(me[be-5],me[be-4],me[be]),ht.setTooltip(me[be-5],me[be-2]);break;case 121:this.$=me[be-4],ht.addVertex(me[be-2],void 0,void 0,me[be]);break;case 122:this.$=me[be-4],ht.updateLink([me[be-2]],me[be]);break;case 123:this.$=me[be-4],ht.updateLink(me[be-2],me[be]);break;case 124:this.$=me[be-8],ht.updateLinkInterpolate([me[be-6]],me[be-2]),ht.updateLink([me[be-6]],me[be]);break;case 125:this.$=me[be-8],ht.updateLinkInterpolate(me[be-6],me[be-2]),ht.updateLink(me[be-6],me[be]);break;case 126:this.$=me[be-6],ht.updateLinkInterpolate([me[be-4]],me[be]);break;case 127:this.$=me[be-6],ht.updateLinkInterpolate(me[be-4],me[be]);break;case 128:case 130:this.$=[me[be]];break;case 129:case 131:me[be-2].push(me[be]),this.$=me[be-2];break;case 133:this.$=me[be-1]+me[be];break;case 181:this.$=me[be];break;case 182:this.$=me[be-1]+""+me[be];break;case 184:this.$=me[be-1]+""+me[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}},"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:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:S,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_,121:D,122:O,123:N,124:P},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:B,15:53,18:56},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:V,9:$,11:U,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:V,9:$,11:U,21:67},{8:V,9:$,11:U,21:68},{8:V,9:$,11:U,21:69},{8:V,9:$,11:U,21:70},{8:V,9:$,11:U,21:71},{8:V,9:$,10:[1,72],11:U,21:73},t(F,[2,36]),{35:[1,74]},{37:[1,75]},t(F,[2,39]),t(j,[2,50],{18:76,39:77,10:B,40:ee}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:q,44:oe,60:Q,80:[1,86],89:ue,95:[1,83],97:[1,84],101:85,105:te,106:re,109:J,111:K,114:ae,115:Z,116:de,120:87},t(F,[2,185]),t(F,[2,186]),t(F,[2,187]),t(F,[2,188]),t(ne,[2,51]),t(ne,[2,54],{46:[1,99]}),t(Te,[2,72],{113:112,29:[1,100],44:g,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:y,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:w,102:k,105:C,106:A,109:L,111:I,114:R,115:E,116:_}),t(W,[2,181]),t(W,[2,142]),t(W,[2,143]),t(W,[2,144]),t(W,[2,145]),t(W,[2,146]),t(W,[2,147]),t(W,[2,148]),t(W,[2,149]),t(W,[2,150]),t(W,[2,151]),t(W,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,113]},t(Ve,[2,26],{18:114,10:B}),t(F,[2,27]),{42:115,43:38,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_},t(F,[2,40]),t(F,[2,41]),t(F,[2,42]),t(pe,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:Be,81:Ye,116:He,119:Le},{75:[1,125],77:[1,126]},t(Ie,[2,83]),t(F,[2,28]),t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),{10:Ne,12:Ce,14:Fe,27:fe,28:127,32:xe,44:Y,60:he,75:z,80:[1,129],81:[1,130],83:140,84:se,85:le,86:ke,87:ve,88:ye,89:Re,90:_e,91:128,105:ze,109:Ke,111:xt,114:We,115:Oe,116:et},t(Ue,a,{5:153}),t(F,[2,37]),t(F,[2,38]),t(j,[2,48],{44:lt}),t(j,[2,49],{18:155,10:B,40:Gt}),t(ne,[2,44]),{44:g,47:157,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_},{102:[1,158],103:159,105:[1,160]},{44:g,47:161,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_},{44:g,47:162,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_},t(vt,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},t(vt,[2,115],{120:167,10:[1,166],14:q,44:oe,60:Q,89:ue,105:te,106:re,109:J,111:K,114:ae,115:Z,116:de}),t(vt,[2,117],{10:[1,168]}),t(Lt,[2,183]),t(Lt,[2,170]),t(Lt,[2,171]),t(Lt,[2,172]),t(Lt,[2,173]),t(Lt,[2,174]),t(Lt,[2,175]),t(Lt,[2,176]),t(Lt,[2,177]),t(Lt,[2,178]),t(Lt,[2,179]),t(Lt,[2,180]),{44:g,47:169,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_},{30:170,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:178,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:180,50:[1,179],67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:181,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:182,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:183,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{109:[1,184]},{30:185,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:186,65:[1,187],67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:188,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:189,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{30:190,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},t(W,[2,182]),t(i,[2,20]),t(Ve,[2,25]),t(j,[2,46],{39:191,18:192,10:B,40:ee}),t(pe,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{77:[1,196],79:197,116:He,119:Le},t(Ur,[2,79]),t(Ur,[2,81]),t(Ur,[2,82]),t(Ur,[2,168]),t(Ur,[2,169]),{76:198,79:120,80:Be,81:Ye,116:He,119:Le},t(Ie,[2,84]),{8:V,9:$,10:Ne,11:U,12:Ce,14:Fe,21:200,27:fe,29:[1,199],32:xe,44:Y,60:he,75:z,83:140,84:se,85:le,86:ke,87:ve,88:ye,89:Re,90:_e,91:201,105:ze,109:Ke,111:xt,114:We,115:Oe,116:et},t(_t,[2,101]),t(_t,[2,103]),t(_t,[2,104]),t(_t,[2,157]),t(_t,[2,158]),t(_t,[2,159]),t(_t,[2,160]),t(_t,[2,161]),t(_t,[2,162]),t(_t,[2,163]),t(_t,[2,164]),t(_t,[2,165]),t(_t,[2,166]),t(_t,[2,167]),t(_t,[2,90]),t(_t,[2,91]),t(_t,[2,92]),t(_t,[2,93]),t(_t,[2,94]),t(_t,[2,95]),t(_t,[2,96]),t(_t,[2,97]),t(_t,[2,98]),t(_t,[2,99]),t(_t,[2,100]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,202],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:S,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_,121:D,122:O,123:N,124:P},{10:B,18:203},{44:[1,204]},t(ne,[2,43]),{10:[1,205],44:g,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:112,114:R,115:E,116:_},{10:[1,206]},{10:[1,207],106:[1,208]},t(bn,[2,128]),{10:[1,209],44:g,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:112,114:R,115:E,116:_},{10:[1,210],44:g,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:112,114:R,115:E,116:_},{80:[1,211]},t(vt,[2,109],{10:[1,212]}),t(vt,[2,111],{10:[1,213]}),{80:[1,214]},t(Lt,[2,184]),{80:[1,215],98:[1,216]},t(ne,[2,55],{113:112,44:g,60:y,89:w,102:k,105:C,106:A,109:L,111:I,114:R,115:E,116:_}),{31:[1,217],67:dt,82:218,116:wt,117:yt,118:ft},t(Br,[2,86]),t(Br,[2,88]),t(Br,[2,89]),t(Br,[2,153]),t(Br,[2,154]),t(Br,[2,155]),t(Br,[2,156]),{49:[1,219],67:dt,82:218,116:wt,117:yt,118:ft},{30:220,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{51:[1,221],67:dt,82:218,116:wt,117:yt,118:ft},{53:[1,222],67:dt,82:218,116:wt,117:yt,118:ft},{55:[1,223],67:dt,82:218,116:wt,117:yt,118:ft},{57:[1,224],67:dt,82:218,116:wt,117:yt,118:ft},{60:[1,225]},{64:[1,226],67:dt,82:218,116:wt,117:yt,118:ft},{66:[1,227],67:dt,82:218,116:wt,117:yt,118:ft},{30:228,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},{31:[1,229],67:dt,82:218,116:wt,117:yt,118:ft},{67:dt,69:[1,230],71:[1,231],82:218,116:wt,117:yt,118:ft},{67:dt,69:[1,233],71:[1,232],82:218,116:wt,117:yt,118:ft},t(j,[2,45],{18:155,10:B,40:Gt}),t(j,[2,47],{44:lt}),t(pe,[2,75]),t(pe,[2,74]),{62:[1,234],67:dt,82:218,116:wt,117:yt,118:ft},t(pe,[2,77]),t(Ur,[2,80]),{77:[1,235],79:197,116:He,119:Le},{30:236,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},t(Ue,a,{5:237}),t(_t,[2,102]),t(F,[2,35]),{43:238,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_},{10:B,18:239},{10:cr,60:ar,84:_r,92:240,105:Ct,107:241,108:242,109:Se,110:at,111:Nt,112:wr},{10:cr,60:ar,84:_r,92:251,104:[1,252],105:Ct,107:241,108:242,109:Se,110:at,111:Nt,112:wr},{10:cr,60:ar,84:_r,92:253,104:[1,254],105:Ct,107:241,108:242,109:Se,110:at,111:Nt,112:wr},{105:[1,255]},{10:cr,60:ar,84:_r,92:256,105:Ct,107:241,108:242,109:Se,110:at,111:Nt,112:wr},{44:g,47:257,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_},t(vt,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},t(vt,[2,116]),t(vt,[2,118],{10:[1,261]}),t(vt,[2,119]),t(Te,[2,56]),t(Br,[2,87]),t(Te,[2,57]),{51:[1,262],67:dt,82:218,116:wt,117:yt,118:ft},t(Te,[2,64]),t(Te,[2,59]),t(Te,[2,60]),t(Te,[2,61]),{109:[1,263]},t(Te,[2,63]),t(Te,[2,65]),{66:[1,264],67:dt,82:218,116:wt,117:yt,118:ft},t(Te,[2,67]),t(Te,[2,68]),t(Te,[2,70]),t(Te,[2,69]),t(Te,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(pe,[2,78]),{31:[1,265],67:dt,82:218,116:wt,117:yt,118:ft},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,266],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:S,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_,121:D,122:O,123:N,124:P},t(ne,[2,53]),{43:267,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_},t(vt,[2,121],{106:Tn}),t(yn,[2,130],{108:269,10:cr,60:ar,84:_r,105:Ct,109:Se,110:at,111:Nt,112:wr}),t(sn,[2,132]),t(sn,[2,134]),t(sn,[2,135]),t(sn,[2,136]),t(sn,[2,137]),t(sn,[2,138]),t(sn,[2,139]),t(sn,[2,140]),t(sn,[2,141]),t(vt,[2,122],{106:Tn}),{10:[1,270]},t(vt,[2,123],{106:Tn}),{10:[1,271]},t(bn,[2,129]),t(vt,[2,105],{106:Tn}),t(vt,[2,106],{113:112,44:g,60:y,89:w,102:k,105:C,106:A,109:L,111:I,114:R,115:E,116:_}),t(vt,[2,110]),t(vt,[2,112],{10:[1,272]}),t(vt,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:V,9:$,11:U,21:277},t(F,[2,34]),t(ne,[2,52]),{10:cr,60:ar,84:_r,105:Ct,107:278,108:242,109:Se,110:at,111:Nt,112:wr},t(sn,[2,133]),{14:q,44:oe,60:Q,89:ue,101:279,105:te,106:re,109:J,111:K,114:ae,115:Z,116:de,120:87},{14:q,44:oe,60:Q,89:ue,101:280,105:te,106:re,109:J,111:K,114:ae,115:Z,116:de,120:87},{98:[1,281]},t(vt,[2,120]),t(Te,[2,58]),{30:282,67:dt,80:nt,81:bt,82:171,116:wt,117:yt,118:ft},t(Te,[2,66]),t(Ue,a,{5:283}),t(yn,[2,131],{108:269,10:cr,60:ar,84:_r,105:Ct,109:Se,110:at,111:Nt,112:wr}),t(vt,[2,126],{120:167,10:[1,284],14:q,44:oe,60:Q,89:ue,105:te,106:re,109:J,111:K,114:ae,115:Z,116:de}),t(vt,[2,127],{120:167,10:[1,285],14:q,44:oe,60:Q,89:ue,105:te,106:re,109:J,111:K,114:ae,115:Z,116:de}),t(vt,[2,114]),{31:[1,286],67:dt,82:218,116:wt,117:yt,118:ft},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,287],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:S,89:w,102:k,105:C,106:A,109:L,111:I,113:41,114:R,115:E,116:_,121:D,122:O,123:N,124:P},{10:cr,60:ar,84:_r,92:288,105:Ct,107:241,108:242,109:Se,110:at,111:Nt,112:wr},{10:cr,60:ar,84:_r,92:289,105:Ct,107:241,108:242,109:Se,110:at,111:Nt,112:wr},t(Te,[2,62]),t(F,[2,33]),t(vt,[2,124],{106:Tn}),t(vt,[2,125],{106:Tn})],defaultActions:{},parseError:o(function(it,kt){if(kt.recoverable)this.trace(it);else{var jt=new Error(it);throw jt.hash=kt,jt}},"parseError"),parse:o(function(it){var kt=this,jt=[0],ht=[],Dr=[null],me=[],Yl=this.table,be="",jr=0,U4=0,XC=0,jC=2,Hz=1,H3e=me.slice.call(arguments,1),qi=Object.create(this.lexer),ad={yy:{}};for(var KC in this.yy)Object.prototype.hasOwnProperty.call(this.yy,KC)&&(ad.yy[KC]=this.yy[KC]);qi.setInput(it,ad.yy),ad.yy.lexer=qi,ad.yy.parser=this,typeof qi.yylloc>"u"&&(qi.yylloc={});var QC=qi.yylloc;me.push(QC);var q3e=qi.options&&qi.options.ranges;typeof ad.yy.parseError=="function"?this.parseError=ad.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gat(Js){jt.length=jt.length-2*Js,Dr.length=Dr.length-Js,me.length=me.length-Js}o(Gat,"popStack");function W3e(){var Js;return Js=ht.pop()||qi.lex()||Hz,typeof Js!="number"&&(Js instanceof Array&&(ht=Js,Js=ht.pop()),Js=kt.symbols_[Js]||Js),Js}o(W3e,"lex");for(var ja,ZC,sd,ko,Vat,JC,g0={},H4,iu,qz,q4;;){if(sd=jt[jt.length-1],this.defaultActions[sd]?ko=this.defaultActions[sd]:((ja===null||typeof ja>"u")&&(ja=W3e()),ko=Yl[sd]&&Yl[sd][ja]),typeof ko>"u"||!ko.length||!ko[0]){var e7="";q4=[];for(H4 in Yl[sd])this.terminals_[H4]&&H4>jC&&q4.push("'"+this.terminals_[H4]+"'");qi.showPosition?e7="Parse error on line "+(jr+1)+`: +`+qi.showPosition()+` +Expecting `+q4.join(", ")+", got '"+(this.terminals_[ja]||ja)+"'":e7="Parse error on line "+(jr+1)+": Unexpected "+(ja==Hz?"end of input":"'"+(this.terminals_[ja]||ja)+"'"),this.parseError(e7,{text:qi.match,token:this.terminals_[ja]||ja,line:qi.yylineno,loc:QC,expected:q4})}if(ko[0]instanceof Array&&ko.length>1)throw new Error("Parse Error: multiple actions possible at state: "+sd+", token: "+ja);switch(ko[0]){case 1:jt.push(ja),Dr.push(qi.yytext),me.push(qi.yylloc),jt.push(ko[1]),ja=null,ZC?(ja=ZC,ZC=null):(U4=qi.yyleng,be=qi.yytext,jr=qi.yylineno,QC=qi.yylloc,XC>0&&XC--);break;case 2:if(iu=this.productions_[ko[1]][1],g0.$=Dr[Dr.length-iu],g0._$={first_line:me[me.length-(iu||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(iu||1)].first_column,last_column:me[me.length-1].last_column},q3e&&(g0._$.range=[me[me.length-(iu||1)].range[0],me[me.length-1].range[1]]),JC=this.performAction.apply(g0,[be,U4,jr,ad.yy,ko[1],Dr,me].concat(H3e)),typeof JC<"u")return JC;iu&&(jt=jt.slice(0,-1*iu*2),Dr=Dr.slice(0,-1*iu),me=me.slice(0,-1*iu)),jt.push(this.productions_[ko[1]][0]),Dr.push(g0.$),me.push(g0._$),qz=Yl[jt[jt.length-2]][jt[jt.length-1]],jt.push(qz);break;case 3:return!0}}return!0},"parse")},Zs=(function(){var fr={EOF:1,parseError:o(function(kt,jt){if(this.yy.parser)this.yy.parser.parseError(kt,jt);else throw new Error(kt)},"parseError"),setInput:o(function(it,kt){return this.yy=kt||this.yy||{},this._input=it,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:o(function(){var it=this._input[0];this.yytext+=it,this.yyleng++,this.offset++,this.match+=it,this.matched+=it;var kt=it.match(/(?:\r\n?|\n).*/g);return kt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),it},"input"),unput:o(function(it){var kt=it.length,jt=it.split(/(?:\r\n?|\n)/g);this._input=it+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-kt),this.offset-=kt;var ht=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),jt.length-1&&(this.yylineno-=jt.length-1);var Dr=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:jt?(jt.length===ht.length?this.yylloc.first_column:0)+ht[ht.length-jt.length].length-jt[0].length:this.yylloc.first_column-kt},this.options.ranges&&(this.yylloc.range=[Dr[0],Dr[0]+this.yyleng-kt]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(it){this.unput(this.match.slice(it))},"less"),pastInput:o(function(){var it=this.matched.substr(0,this.matched.length-this.match.length);return(it.length>20?"...":"")+it.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var it=this.match;return it.length<20&&(it+=this._input.substr(0,20-it.length)),(it.substr(0,20)+(it.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var it=this.pastInput(),kt=new Array(it.length+1).join("-");return it+this.upcomingInput()+` +`+kt+"^"},"showPosition"),test_match:o(function(it,kt){var jt,ht,Dr;if(this.options.backtrack_lexer&&(Dr={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&&(Dr.yylloc.range=this.yylloc.range.slice(0))),ht=it[0].match(/(?:\r\n?|\n).*/g),ht&&(this.yylineno+=ht.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ht?ht[ht.length-1].length-ht[ht.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+it[0].length},this.yytext+=it[0],this.match+=it[0],this.matches=it,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(it[0].length),this.matched+=it[0],jt=this.performAction.call(this,this.yy,this,kt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),jt)return jt;if(this._backtrack){for(var me in Dr)this[me]=Dr[me];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var it,kt,jt,ht;this._more||(this.yytext="",this.match="");for(var Dr=this._currentRules(),me=0;mekt[0].length)){if(kt=jt,ht=me,this.options.backtrack_lexer){if(it=this.test_match(jt,Dr[me]),it!==!1)return it;if(this._backtrack){kt=!1;continue}else return!1}else if(!this.options.flex)break}return kt?(it=this.test_match(kt,Dr[ht]),it!==!1?it:!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:o(function(){var kt=this.next();return kt||this.lex()},"lex"),begin:o(function(kt){this.conditionStack.push(kt)},"begin"),popState:o(function(){var kt=this.conditionStack.length-1;return kt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(kt){return kt=this.conditionStack.length-1-Math.abs(kt||0),kt>=0?this.conditionStack[kt]:"INITIAL"},"topState"),pushState:o(function(kt){this.begin(kt)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(kt,jt,ht,Dr){var me=Dr;switch(ht){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;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"),jt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Yl=/\n\s*/g;return jt.yytext=jt.yytext.replace(Yl,"
    "),40;break;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 kt.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return kt.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return kt.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;break;case 69:return this.pushState("edgeText"),75;break;case 70:return 119;case 71:return this.popState(),77;break;case 72:return this.pushState("thickEdgeText"),75;break;case 73:return 119;case 74:return this.popState(),77;break;case 75:return this.pushState("dottedEdgeText"),75;break;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;break;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;break;case 81:return this.popState(),55;break;case 82:return this.pushState("text"),54;break;case 83:return this.popState(),57;break;case 84:return this.pushState("text"),56;break;case 85:return 58;case 86:return this.pushState("text"),67;break;case 87:return this.popState(),64;break;case 88:return this.pushState("text"),63;break;case 89:return this.popState(),49;break;case 90:return this.pushState("text"),48;break;case 91:return this.popState(),69;break;case 92:return this.popState(),71;break;case 93:return 117;case 94:return this.pushState("trapText"),68;break;case 95:return this.pushState("trapText"),70;break;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;break;case 108:return this.pushState("text"),62;break;case 109:return this.popState(),51;break;case 110:return this.pushState("text"),50;break;case 111:return this.popState(),31;break;case 112:return this.pushState("text"),29;break;case 113:return this.popState(),66;break;case 114:return this.pushState("text"),65;break;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119: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)/,/^(?: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]*)/,/^(?:[^\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,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeData:{rules:[8,11,12,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackargs:{rules:[17,18,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackname:{rules:[14,15,16,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},href:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},click:{rules:[21,24,33,34,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dottedEdgeText:{rules:[21,24,74,76,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},thickEdgeText:{rules:[21,24,71,73,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},edgeText:{rules:[21,24,68,70,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},trapText:{rules:[21,24,77,80,82,84,88,90,91,92,93,94,95,108,110,112,114],inclusive:!1},ellipseText:{rules:[21,24,77,78,79,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},text:{rules:[21,24,77,80,81,82,83,84,87,88,89,90,94,95,107,108,109,110,111,112,113,114,115],inclusive:!1},vertex:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr:{rules:[3,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_title:{rules:[1,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},md_string:{rules:[19,20,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},string:{rules:[21,22,23,24,77,80,82,84,88,90,94,95,108,110,112,114],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,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,77,80,82,84,85,86,88,90,94,95,96,97,98,99,100,101,102,103,104,105,106,108,110,112,114,116,117,118,119],inclusive:!0}}};return fr})();Hi.lexer=Zs;function Da(){this.yy={}}return o(Da,"Parser"),Da.prototype=Hi,Hi.Parser=Da,new Da})();GI.parser=GI;VI=GI});var mfe,gfe,yfe=M(()=>{"use strict";pfe();mfe=Object.assign({},VI);mfe.parse=t=>{let e=t.replace(/}\s*\n/g,`} +`);return VI.parse(e)};gfe=mfe});var zc,yg=M(()=>{"use strict";zc=o(()=>` + /* 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")});var iWe,aWe,vfe,xfe=M(()=>{"use strict";eo();yg();iWe=o((t,e)=>{let r=ld,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ka(n,i,a,e)},"fade"),aWe=o(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: 1px; + } + .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .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: 2.0px; + } + + .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: ${iWe(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; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + ${zc()} +`,"getStyles"),vfe=aWe});var AE={};dr(AE,{diagram:()=>sWe});var sWe,_E=M(()=>{"use strict";Xt();zte();dfe();yfe();xfe();sWe={parser:gfe,get db(){return new cw},renderer:ffe,styles:vfe,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&iv({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,iv({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}});var UI,Efe,Sfe=M(()=>{"use strict";UI=(function(){var t=o(function(K,ae,Z,de){for(Z=Z||{},de=K.length;de--;Z[K[de]]=ae);return Z},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,20],l=[1,21],u=[1,22],h=[1,23],f=[1,24],d=[1,19],p=[1,25],m=[1,26],g=[1,18],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],S=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],w=[1,42],k=[1,43],C=[1,52],A=[40,50,68,69],L=[1,63],I=[1,61],R=[1,58],E=[1,62],_=[1,64],D=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],O=[63,64,65,66,67],N=[1,81],P=[1,80],B=[1,78],F=[1,79],V=[6,10,42,47],$=[6,10,13,41,42,47,48,49],U=[1,89],j=[1,88],ee=[1,87],q=[19,56],oe=[1,98],Q=[1,97],ue=[19,56,58,60],te={trace:o(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,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$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",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"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],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:o(function(ae,Z,de,ne,Te,W,Ve){var pe=W.length-1;switch(Te){case 1:break;case 2:this.$=[];break;case 3:W[pe-1].push(W[pe]),this.$=W[pe-1];break;case 4:case 5:this.$=W[pe];break;case 6:case 7:this.$=[];break;case 8:ne.addEntity(W[pe-4]),ne.addEntity(W[pe-2]),ne.addRelationship(W[pe-4],W[pe],W[pe-2],W[pe-3]);break;case 9:ne.addEntity(W[pe-8]),ne.addEntity(W[pe-4]),ne.addRelationship(W[pe-8],W[pe],W[pe-4],W[pe-5]),ne.setClass([W[pe-8]],W[pe-6]),ne.setClass([W[pe-4]],W[pe-2]);break;case 10:ne.addEntity(W[pe-6]),ne.addEntity(W[pe-2]),ne.addRelationship(W[pe-6],W[pe],W[pe-2],W[pe-3]),ne.setClass([W[pe-6]],W[pe-4]);break;case 11:ne.addEntity(W[pe-6]),ne.addEntity(W[pe-4]),ne.addRelationship(W[pe-6],W[pe],W[pe-4],W[pe-5]),ne.setClass([W[pe-4]],W[pe-2]);break;case 12:ne.addEntity(W[pe-3]),ne.addAttributes(W[pe-3],W[pe-1]);break;case 13:ne.addEntity(W[pe-5]),ne.addAttributes(W[pe-5],W[pe-1]),ne.setClass([W[pe-5]],W[pe-3]);break;case 14:ne.addEntity(W[pe-2]);break;case 15:ne.addEntity(W[pe-4]),ne.setClass([W[pe-4]],W[pe-2]);break;case 16:ne.addEntity(W[pe]);break;case 17:ne.addEntity(W[pe-2]),ne.setClass([W[pe-2]],W[pe]);break;case 18:ne.addEntity(W[pe-6],W[pe-4]),ne.addAttributes(W[pe-6],W[pe-1]);break;case 19:ne.addEntity(W[pe-8],W[pe-6]),ne.addAttributes(W[pe-8],W[pe-1]),ne.setClass([W[pe-8]],W[pe-3]);break;case 20:ne.addEntity(W[pe-5],W[pe-3]);break;case 21:ne.addEntity(W[pe-7],W[pe-5]),ne.setClass([W[pe-7]],W[pe-2]);break;case 22:ne.addEntity(W[pe-3],W[pe-1]);break;case 23:ne.addEntity(W[pe-5],W[pe-3]),ne.setClass([W[pe-5]],W[pe]);break;case 24:case 25:this.$=W[pe].trim(),ne.setAccTitle(this.$);break;case 26:case 27:this.$=W[pe].trim(),ne.setAccDescription(this.$);break;case 32:ne.setDirection("TB");break;case 33:ne.setDirection("BT");break;case 34:ne.setDirection("RL");break;case 35:ne.setDirection("LR");break;case 36:this.$=W[pe-3],ne.addClass(W[pe-2],W[pe-1]);break;case 37:case 38:case 56:case 64:this.$=[W[pe]];break;case 39:case 40:this.$=W[pe-2].concat([W[pe]]);break;case 41:this.$=W[pe-2],ne.setClass(W[pe-1],W[pe]);break;case 42:this.$=W[pe-3],ne.addCssStyles(W[pe-2],W[pe-1]);break;case 43:this.$=[W[pe]];break;case 44:W[pe-2].push(W[pe]),this.$=W[pe-2];break;case 46:this.$=W[pe-1]+W[pe];break;case 54:case 76:case 77:this.$=W[pe].replace(/"/g,"");break;case 55:case 78:this.$=W[pe];break;case 57:W[pe].push(W[pe-1]),this.$=W[pe];break;case 58:this.$={type:W[pe-1],name:W[pe]};break;case 59:this.$={type:W[pe-2],name:W[pe-1],keys:W[pe]};break;case 60:this.$={type:W[pe-2],name:W[pe-1],comment:W[pe]};break;case 61:this.$={type:W[pe-3],name:W[pe-2],keys:W[pe-1],comment:W[pe]};break;case 62:case 63:case 66:this.$=W[pe];break;case 65:W[pe-2].push(W[pe]),this.$=W[pe-2];break;case 67:this.$=W[pe].replace(/"/g,"");break;case 68:this.$={cardA:W[pe],relType:W[pe-1],cardB:W[pe-2]};break;case 69:this.$=ne.Cardinality.ZERO_OR_ONE;break;case 70:this.$=ne.Cardinality.ZERO_OR_MORE;break;case 71:this.$=ne.Cardinality.ONE_OR_MORE;break;case 72:this.$=ne.Cardinality.ONLY_ONE;break;case 73:this.$=ne.Cardinality.MD_PARENT;break;case 74:this.$=ne.Identification.NON_IDENTIFYING;break;case 75:this.$=ne.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:l,35:u,36:h,37:f,40:d,43:p,44:m,50:g},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:27,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,50:g},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:y,64:v,65:x,66:b,67:T}),{23:[1,38]},{25:[1,39]},{27:[1,40]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(S,[2,54]),t(S,[2,55]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:41,40:w,41:k},{16:44,40:w,41:k},{16:45,40:w,41:k},t(e,[2,4]),{11:46,40:d,50:g},{16:47,40:w,41:k},{18:48,19:[1,49],51:50,52:51,56:C},{11:53,40:d,50:g},{62:54,68:[1,55],69:[1,56]},t(A,[2,69]),t(A,[2,70]),t(A,[2,71]),t(A,[2,72]),t(A,[2,73]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:L,38:57,41:I,42:R,45:59,46:60,48:E,49:_},t(D,[2,37]),t(D,[2,38]),{16:65,40:w,41:k,42:R},{13:L,38:66,41:I,42:R,45:59,46:60,48:E,49:_},{13:[1,67],15:[1,68]},t(e,[2,17],{61:32,12:69,17:[1,70],42:R,63:y,64:v,65:x,66:b,67:T}),{19:[1,71]},t(e,[2,14]),{18:72,19:[2,56],51:50,52:51,56:C},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:y,64:v,65:x,66:b,67:T},t(O,[2,74]),t(O,[2,75]),{6:N,10:P,39:77,42:B,47:F},{40:[1,82],41:[1,83]},t(V,[2,43],{46:84,13:L,41:I,48:E,49:_}),t($,[2,45]),t($,[2,50]),t($,[2,51]),t($,[2,52]),t($,[2,53]),t(e,[2,41],{42:R}),{6:N,10:P,39:85,42:B,47:F},{14:86,40:U,50:j,70:ee},{16:90,40:w,41:k},{11:91,40:d,50:g},{18:92,19:[1,93],51:50,52:51,56:C},t(e,[2,12]),{19:[2,57]},t(q,[2,58],{54:94,55:95,57:96,59:oe,60:Q}),t([19,56,59,60],[2,63]),t(e,[2,22],{15:[1,100],17:[1,99]}),t([40,50],[2,68]),t(e,[2,36]),{13:L,41:I,45:101,46:60,48:E,49:_},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(D,[2,39]),t(D,[2,40]),t($,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,76]),t(e,[2,77]),t(e,[2,78]),{13:[1,102],42:R},{13:[1,104],15:[1,103]},{19:[1,105]},t(e,[2,15]),t(q,[2,59],{55:106,58:[1,107],60:Q}),t(q,[2,60]),t(ue,[2,64]),t(q,[2,67]),t(ue,[2,66]),{18:108,19:[1,109],51:50,52:51,56:C},{16:110,40:w,41:k},t(V,[2,44],{46:84,13:L,41:I,48:E,49:_}),{14:111,40:U,50:j,70:ee},{16:112,40:w,41:k},{14:113,40:U,50:j,70:ee},t(e,[2,13]),t(q,[2,61]),{57:114,59:oe},{19:[1,115]},t(e,[2,20]),t(e,[2,23],{17:[1,116],42:R}),t(e,[2,11]),{13:[1,117],42:R},t(e,[2,10]),t(ue,[2,65]),t(e,[2,18]),{18:118,19:[1,119],51:50,52:51,56:C},{14:120,40:U,50:j,70:ee},{19:[1,121]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:o(function(ae,Z){if(Z.recoverable)this.trace(ae);else{var de=new Error(ae);throw de.hash=Z,de}},"parseError"),parse:o(function(ae){var Z=this,de=[0],ne=[],Te=[null],W=[],Ve=this.table,pe="",Be=0,Ye=0,He=0,Le=2,Ie=1,Ne=W.slice.call(arguments,1),Ce=Object.create(this.lexer),Fe={yy:{}};for(var fe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,fe)&&(Fe.yy[fe]=this.yy[fe]);Ce.setInput(ae,Fe.yy),Fe.yy.lexer=Ce,Fe.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var xe=Ce.yylloc;W.push(xe);var Y=Ce.options&&Ce.options.ranges;typeof Fe.yy.parseError=="function"?this.parseError=Fe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function he(et){de.length=de.length-2*et,Te.length=Te.length-et,W.length=W.length-et}o(he,"popStack");function z(){var et;return et=ne.pop()||Ce.lex()||Ie,typeof et!="number"&&(et instanceof Array&&(ne=et,et=ne.pop()),et=Z.symbols_[et]||et),et}o(z,"lex");for(var se,le,ke,ve,ye,Re,_e={},ze,Ke,xt,We;;){if(ke=de[de.length-1],this.defaultActions[ke]?ve=this.defaultActions[ke]:((se===null||typeof se>"u")&&(se=z()),ve=Ve[ke]&&Ve[ke][se]),typeof ve>"u"||!ve.length||!ve[0]){var Oe="";We=[];for(ze in Ve[ke])this.terminals_[ze]&&ze>Le&&We.push("'"+this.terminals_[ze]+"'");Ce.showPosition?Oe="Parse error on line "+(Be+1)+`: +`+Ce.showPosition()+` +Expecting `+We.join(", ")+", got '"+(this.terminals_[se]||se)+"'":Oe="Parse error on line "+(Be+1)+": Unexpected "+(se==Ie?"end of input":"'"+(this.terminals_[se]||se)+"'"),this.parseError(Oe,{text:Ce.match,token:this.terminals_[se]||se,line:Ce.yylineno,loc:xe,expected:We})}if(ve[0]instanceof Array&&ve.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ke+", token: "+se);switch(ve[0]){case 1:de.push(se),Te.push(Ce.yytext),W.push(Ce.yylloc),de.push(ve[1]),se=null,le?(se=le,le=null):(Ye=Ce.yyleng,pe=Ce.yytext,Be=Ce.yylineno,xe=Ce.yylloc,He>0&&He--);break;case 2:if(Ke=this.productions_[ve[1]][1],_e.$=Te[Te.length-Ke],_e._$={first_line:W[W.length-(Ke||1)].first_line,last_line:W[W.length-1].last_line,first_column:W[W.length-(Ke||1)].first_column,last_column:W[W.length-1].last_column},Y&&(_e._$.range=[W[W.length-(Ke||1)].range[0],W[W.length-1].range[1]]),Re=this.performAction.apply(_e,[pe,Ye,Be,Fe.yy,ve[1],Te,W].concat(Ne)),typeof Re<"u")return Re;Ke&&(de=de.slice(0,-1*Ke*2),Te=Te.slice(0,-1*Ke),W=W.slice(0,-1*Ke)),de.push(this.productions_[ve[1]][0]),Te.push(_e.$),W.push(_e._$),xt=Ve[de[de.length-2]][de[de.length-1]],de.push(xt);break;case 3:return!0}}return!0},"parse")},re=(function(){var K={EOF:1,parseError:o(function(Z,de){if(this.yy.parser)this.yy.parser.parseError(Z,de);else throw new Error(Z)},"parseError"),setInput:o(function(ae,Z){return this.yy=Z||this.yy||{},this._input=ae,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:o(function(){var ae=this._input[0];this.yytext+=ae,this.yyleng++,this.offset++,this.match+=ae,this.matched+=ae;var Z=ae.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),ae},"input"),unput:o(function(ae){var Z=ae.length,de=ae.split(/(?:\r\n?|\n)/g);this._input=ae+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Z),this.offset-=Z;var ne=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),de.length-1&&(this.yylineno-=de.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:de?(de.length===ne.length?this.yylloc.first_column:0)+ne[ne.length-de.length].length-de[0].length:this.yylloc.first_column-Z},this.options.ranges&&(this.yylloc.range=[Te[0],Te[0]+this.yyleng-Z]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(ae){this.unput(this.match.slice(ae))},"less"),pastInput:o(function(){var ae=this.matched.substr(0,this.matched.length-this.match.length);return(ae.length>20?"...":"")+ae.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ae=this.match;return ae.length<20&&(ae+=this._input.substr(0,20-ae.length)),(ae.substr(0,20)+(ae.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ae=this.pastInput(),Z=new Array(ae.length+1).join("-");return ae+this.upcomingInput()+` +`+Z+"^"},"showPosition"),test_match:o(function(ae,Z){var de,ne,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))),ne=ae[0].match(/(?:\r\n?|\n).*/g),ne&&(this.yylineno+=ne.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ne?ne[ne.length-1].length-ne[ne.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ae[0].length},this.yytext+=ae[0],this.match+=ae[0],this.matches=ae,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(ae[0].length),this.matched+=ae[0],de=this.performAction.call(this,this.yy,this,Z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),de)return de;if(this._backtrack){for(var W in Te)this[W]=Te[W];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ae,Z,de,ne;this._more||(this.yytext="",this.match="");for(var Te=this._currentRules(),W=0;WZ[0].length)){if(Z=de,ne=W,this.options.backtrack_lexer){if(ae=this.test_match(de,Te[W]),ae!==!1)return ae;if(this._backtrack){Z=!1;continue}else return!1}else if(!this.options.flex)break}return Z?(ae=this.test_match(Z,Te[ne]),ae!==!1?ae:!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:o(function(){var Z=this.next();return Z||this.lex()},"lex"),begin:o(function(Z){this.conditionStack.push(Z)},"begin"),popState:o(function(){var Z=this.conditionStack.length-1;return Z>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(Z){return Z=this.conditionStack.length-1-Math.abs(Z||0),Z>=0?this.conditionStack[Z]:"INITIAL"},"topState"),pushState:o(function(Z){this.begin(Z)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Z,de,ne,Te){var W=Te;switch(ne){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;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 70;case 16:return 4;case 17:return this.begin("block"),17;break;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 59;case 25:return 56;case 26:return 56;case 27:return 60;case 28:break;case 29:return this.popState(),19;break;case 30:return de.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;break;case 34:return this.popState(),10;break;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;break;case 40:return 43;case 41:return 63;case 42:return 65;case 43:return 65;case 44:return 65;case 45:return 63;case 46:return 63;case 47:return 64;case 48:return 64;case 49:return 64;case 50:return 64;case 51:return 64;case 52:return 65;case 53:return 64;case 54:return 65;case 55:return 66;case 56:return 66;case 57:return 66;case 58:return 66;case 59:return 63;case 60:return 64;case 61:return 65;case 62:return 67;case 63:return 68;case 64:return 69;case 65:return 69;case 66:return 68;case 67:return 68;case 68:return 68;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 73:return de.yytext[0];case 74: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,/^(?:[\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,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,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,65,66,67,68,71,72,73,74],inclusive:!0}}};return K})();te.lexer=re;function J(){this.yy={}}return o(J,"Parser"),J.prototype=te,te.Parser=J,new J})();UI.parser=UI;Efe=UI});var DE,Cfe=M(()=>{"use strict";pt();Xt();ci();tr();DE=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=Rr;this.getAccTitle=Mr;this.setAccDescription=Ir;this.getAccDescription=Or;this.setDiagramTitle=$r;this.getDiagramTitle=Pr;this.getConfig=o(()=>ge().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)}static{o(this,"ErDB")}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,X.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:ge().look??"default",cssClasses:"default",cssStyles:[]}),X.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){let n=this.addEntity(e),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]),X.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){let a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;let l={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(l),X.debug("Added new relationship :",l)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(let n of e){let i=this.entities.get(n);if(!r||!i)return;for(let 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)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(let n of e){let i=this.entities.get(n);if(i)for(let a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Sr()}getData(){let e=[],r=[],n=ge();for(let a of this.entities.keys()){let s=this.entities.get(a);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),e.push(s))}let i=0;for(let a of this.relationships){let s={id:xc(a.entityA,a.entityB,{prefix:"id",counter:i++}),type:"normal",curve:"basis",start:a.entityA,end:a.entityB,label:a.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:a.relSpec.cardB.toLowerCase(),arrowTypeEnd:a.relSpec.cardA.toLowerCase(),pattern:a.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}}});var HI={};dr(HI,{draw:()=>dWe});var dWe,Afe=M(()=>{"use strict";Xt();pt();ep();Nf();Mf();tr();yr();dWe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing er diagram (unified)",e);let{securityLevel:i,er:a,layout:s}=ge(),l=n.db.getData(),u=Vo(e,i);l.type=n.type,l.layoutAlgorithm=$c(s),l.config.flowchart.nodeSpacing=a?.nodeSpacing||140,l.config.flowchart.rankSpacing=a?.rankSpacing||80,l.direction=n.db.getDirection(),l.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],l.diagramId=e,await Qo(l,u),l.layoutAlgorithm==="elk"&&u.select(".edges").lower();let h=u.selectAll('[id*="-background"]');Array.from(h).length>0&&h.each(function(){let d=qe(this),m=d.attr("id").replace("-background",""),g=u.select(`#${CSS.escape(m)}`);if(!g.empty()){let y=g.attr("transform");d.attr("transform",y)}});let f=8;qt.insertTitle(u,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Ws(u,f,"erDiagram",a?.useMaxWidth??!0)},"draw")});var pWe,mWe,_fe,Dfe=M(()=>{"use strict";eo();pWe=o((t,e)=>{let r=ld,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ka(n,i,a,e)},"fade"),mWe=o(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: ${pWe(t.tertiaryColor,.5)}; + } + + .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: 1px; + } + + .relationshipLine { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; + } + + .marker { + fill: none !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } +`,"getStyles"),_fe=mWe});var Lfe={};dr(Lfe,{diagram:()=>gWe});var gWe,Rfe=M(()=>{"use strict";Sfe();Cfe();Afe();Dfe();gWe={parser:Efe,get db(){return new DE},renderer:HI,styles:_fe}});function li(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function wa(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function qI(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function _p(t){return typeof t=="object"&&t!==null&&li(t.container)&&wa(t.reference)&&typeof t.message=="string"}function Ol(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function If(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Rx(t){return Ol(t)&&typeof t.fullText=="string"}var Ap,Pl=M(()=>{"use strict";o(li,"isAstNode");o(wa,"isReference");o(qI,"isAstNodeDescription");o(_p,"isLinkingError");Ap=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return li(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};o(Ol,"isCompositeCstNode");o(If,"isLeafCstNode");o(Rx,"isRootCstNode")});function bWe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function LE(t){return!!t&&typeof t[Symbol.iterator]=="function"}function an(...t){if(t.length===1){let e=t[0];if(e instanceof po)return e;if(LE(e))return new po(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new po(()=>({index:0}),r=>r.index1?new po(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";po=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),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){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({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 Ga})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=bWe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Ga:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ga})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),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){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(LE(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ga})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(LE(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ga})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ga:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ga})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};o(bWe,"toString");o(LE,"isIterable");Nx=new po(()=>{},()=>Ga),Ga=Object.freeze({done:!0,value:void 0});o(an,"stream");Gc=class extends po{static{o(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators: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;){let 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 Ga})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function n(a){return a.reduce((s,l)=>Math.min(s,l))}o(n,"min"),t.min=n;function i(a){return a.reduce((s,l)=>Math.max(s,l))}o(i,"max"),t.max=i})(vg||(vg={}))});var NE={};dr(NE,{DefaultNameRegexp:()=>RE,RangeComparison:()=>Vc,compareRange:()=>Ife,findCommentNode:()=>jI,findDeclarationNodeAtOffset:()=>wWe,findLeafNodeAtOffset:()=>KI,findLeafNodeBeforeOffset:()=>Ofe,flattenCst:()=>TWe,getInteriorNodes:()=>SWe,getNextNode:()=>kWe,getPreviousNode:()=>Bfe,getStartlineNode:()=>EWe,inRange:()=>XI,isChildNode:()=>YI,isCommentNode:()=>WI,streamCst:()=>Dp,toDocumentSegment:()=>Lp,tokenToRange:()=>xg});function Dp(t){return new Gc(t,e=>Ol(e)?e.content:[],{includeRoot:!0})}function TWe(t){return Dp(t).filter(If)}function YI(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function xg(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Lp(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function Ife(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Vc.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineVc.After}function wWe(t,e,r=RE){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return KI(t,e)}}function jI(t,e){if(t){let r=Bfe(t,!0);if(r&&WI(r,e))return r;if(Rx(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(WI(a,e))return a}}}}function WI(t,e){return If(t)&&e.includes(t.tokenType.name)}function KI(t,e){if(If(t))return t;if(Ol(t)){let r=Pfe(t,e,!1);if(r)return KI(r,e)}}function Ofe(t,e){if(If(t))return t;if(Ol(t)){let r=Pfe(t,e,!0);if(r)return Ofe(r,e)}}function Pfe(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let s=Math.floor((n+i)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=s+1):i=s-1}return a}function Bfe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function kWe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";Pl();Ys();o(Dp,"streamCst");o(TWe,"flattenCst");o(YI,"isChildNode");o(xg,"tokenToRange");o(Lp,"toDocumentSegment");(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"})(Vc||(Vc={}));o(Ife,"compareRange");o(XI,"inRange");RE=/^[\w\p{L}]$/u;o(wWe,"findDeclarationNodeAtOffset");o(jI,"findCommentNode");o(WI,"isCommentNode");o(KI,"findLeafNodeAtOffset");o(Ofe,"findLeafNodeBeforeOffset");o(Pfe,"binarySearch");o(Bfe,"getPreviousNode");o(kWe,"getNextNode");o(EWe,"getStartlineNode");o(SWe,"getInteriorNodes");o(CWe,"getCommonParent");o(Mfe,"getParentChain")});function Uc(t){throw new Error("Error! The input value was not handled.")}var Rp,ME=M(()=>{"use strict";Rp=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(Uc,"assertUnreachable")});var Gx={};dr(Gx,{AbstractElement:()=>wg,AbstractRule:()=>bg,AbstractType:()=>Tg,Action:()=>Gg,Alternatives:()=>Vg,ArrayLiteral:()=>kg,ArrayType:()=>Eg,Assignment:()=>Ug,BooleanLiteral:()=>Sg,CharacterRange:()=>Hg,Condition:()=>Mx,Conjunction:()=>Cg,CrossReference:()=>qg,Disjunction:()=>Ag,EndOfFile:()=>Wg,Grammar:()=>_g,GrammarImport:()=>Ox,Group:()=>Yg,InferredType:()=>Dg,Interface:()=>Lg,Keyword:()=>Xg,LangiumGrammarAstReflection:()=>i1,LangiumGrammarTerminals:()=>AWe,NamedArgument:()=>Px,NegatedToken:()=>jg,Negation:()=>Rg,NumberLiteral:()=>Ng,Parameter:()=>Mg,ParameterReference:()=>Ig,ParserRule:()=>Og,ReferenceType:()=>Pg,RegexToken:()=>Kg,ReturnType:()=>Bx,RuleCall:()=>Qg,SimpleType:()=>Bg,StringLiteral:()=>Fg,TerminalAlternatives:()=>Zg,TerminalGroup:()=>Jg,TerminalRule:()=>Np,TerminalRuleCall:()=>e1,Type:()=>$g,TypeAttribute:()=>Fx,TypeDefinition:()=>IE,UnionType:()=>zg,UnorderedGroup:()=>t1,UntilToken:()=>r1,ValueLiteral:()=>Ix,Wildcard:()=>n1,isAbstractElement:()=>$x,isAbstractRule:()=>_We,isAbstractType:()=>DWe,isAction:()=>qu,isAlternatives:()=>FE,isArrayLiteral:()=>IWe,isArrayType:()=>QI,isAssignment:()=>Fl,isBooleanLiteral:()=>ZI,isCharacterRange:()=>sO,isCondition:()=>LWe,isConjunction:()=>JI,isCrossReference:()=>Mp,isDisjunction:()=>eO,isEndOfFile:()=>oO,isFeatureName:()=>RWe,isGrammar:()=>OWe,isGrammarImport:()=>PWe,isGroup:()=>Of,isInferredType:()=>OE,isInterface:()=>PE,isKeyword:()=>Zo,isNamedArgument:()=>BWe,isNegatedToken:()=>lO,isNegation:()=>tO,isNumberLiteral:()=>FWe,isParameter:()=>$We,isParameterReference:()=>rO,isParserRule:()=>Va,isPrimitiveType:()=>Ffe,isReferenceType:()=>nO,isRegexToken:()=>cO,isReturnType:()=>iO,isRuleCall:()=>$l,isSimpleType:()=>BE,isStringLiteral:()=>zWe,isTerminalAlternatives:()=>uO,isTerminalGroup:()=>hO,isTerminalRule:()=>mo,isTerminalRuleCall:()=>$E,isType:()=>zx,isTypeAttribute:()=>GWe,isTypeDefinition:()=>NWe,isUnionType:()=>aO,isUnorderedGroup:()=>zE,isUntilToken:()=>fO,isValueLiteral:()=>MWe,isWildcard:()=>dO,reflection:()=>pr});function _We(t){return pr.isInstance(t,bg)}function DWe(t){return pr.isInstance(t,Tg)}function LWe(t){return pr.isInstance(t,Mx)}function RWe(t){return Ffe(t)||t==="current"||t==="entry"||t==="extends"||t==="false"||t==="fragment"||t==="grammar"||t==="hidden"||t==="import"||t==="interface"||t==="returns"||t==="terminal"||t==="true"||t==="type"||t==="infer"||t==="infers"||t==="with"||typeof t=="string"&&/\^?[_a-zA-Z][\w_]*/.test(t)}function Ffe(t){return t==="string"||t==="number"||t==="boolean"||t==="Date"||t==="bigint"}function NWe(t){return pr.isInstance(t,IE)}function MWe(t){return pr.isInstance(t,Ix)}function $x(t){return pr.isInstance(t,wg)}function IWe(t){return pr.isInstance(t,kg)}function QI(t){return pr.isInstance(t,Eg)}function ZI(t){return pr.isInstance(t,Sg)}function JI(t){return pr.isInstance(t,Cg)}function eO(t){return pr.isInstance(t,Ag)}function OWe(t){return pr.isInstance(t,_g)}function PWe(t){return pr.isInstance(t,Ox)}function OE(t){return pr.isInstance(t,Dg)}function PE(t){return pr.isInstance(t,Lg)}function BWe(t){return pr.isInstance(t,Px)}function tO(t){return pr.isInstance(t,Rg)}function FWe(t){return pr.isInstance(t,Ng)}function $We(t){return pr.isInstance(t,Mg)}function rO(t){return pr.isInstance(t,Ig)}function Va(t){return pr.isInstance(t,Og)}function nO(t){return pr.isInstance(t,Pg)}function iO(t){return pr.isInstance(t,Bx)}function BE(t){return pr.isInstance(t,Bg)}function zWe(t){return pr.isInstance(t,Fg)}function mo(t){return pr.isInstance(t,Np)}function zx(t){return pr.isInstance(t,$g)}function GWe(t){return pr.isInstance(t,Fx)}function aO(t){return pr.isInstance(t,zg)}function qu(t){return pr.isInstance(t,Gg)}function FE(t){return pr.isInstance(t,Vg)}function Fl(t){return pr.isInstance(t,Ug)}function sO(t){return pr.isInstance(t,Hg)}function Mp(t){return pr.isInstance(t,qg)}function oO(t){return pr.isInstance(t,Wg)}function Of(t){return pr.isInstance(t,Yg)}function Zo(t){return pr.isInstance(t,Xg)}function lO(t){return pr.isInstance(t,jg)}function cO(t){return pr.isInstance(t,Kg)}function $l(t){return pr.isInstance(t,Qg)}function uO(t){return pr.isInstance(t,Zg)}function hO(t){return pr.isInstance(t,Jg)}function $E(t){return pr.isInstance(t,e1)}function zE(t){return pr.isInstance(t,t1)}function fO(t){return pr.isInstance(t,r1)}function dO(t){return pr.isInstance(t,n1)}var AWe,bg,Tg,Mx,IE,Ix,wg,kg,Eg,Sg,Cg,Ag,_g,Ox,Dg,Lg,Px,Rg,Ng,Mg,Ig,Og,Pg,Bx,Bg,Fg,Np,$g,Fx,zg,Gg,Vg,Ug,Hg,qg,Wg,Yg,Xg,jg,Kg,Qg,Zg,Jg,e1,t1,r1,n1,i1,pr,Hc=M(()=>{"use strict";Pl();AWe={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]*/},bg="AbstractRule";o(_We,"isAbstractRule");Tg="AbstractType";o(DWe,"isAbstractType");Mx="Condition";o(LWe,"isCondition");o(RWe,"isFeatureName");o(Ffe,"isPrimitiveType");IE="TypeDefinition";o(NWe,"isTypeDefinition");Ix="ValueLiteral";o(MWe,"isValueLiteral");wg="AbstractElement";o($x,"isAbstractElement");kg="ArrayLiteral";o(IWe,"isArrayLiteral");Eg="ArrayType";o(QI,"isArrayType");Sg="BooleanLiteral";o(ZI,"isBooleanLiteral");Cg="Conjunction";o(JI,"isConjunction");Ag="Disjunction";o(eO,"isDisjunction");_g="Grammar";o(OWe,"isGrammar");Ox="GrammarImport";o(PWe,"isGrammarImport");Dg="InferredType";o(OE,"isInferredType");Lg="Interface";o(PE,"isInterface");Px="NamedArgument";o(BWe,"isNamedArgument");Rg="Negation";o(tO,"isNegation");Ng="NumberLiteral";o(FWe,"isNumberLiteral");Mg="Parameter";o($We,"isParameter");Ig="ParameterReference";o(rO,"isParameterReference");Og="ParserRule";o(Va,"isParserRule");Pg="ReferenceType";o(nO,"isReferenceType");Bx="ReturnType";o(iO,"isReturnType");Bg="SimpleType";o(BE,"isSimpleType");Fg="StringLiteral";o(zWe,"isStringLiteral");Np="TerminalRule";o(mo,"isTerminalRule");$g="Type";o(zx,"isType");Fx="TypeAttribute";o(GWe,"isTypeAttribute");zg="UnionType";o(aO,"isUnionType");Gg="Action";o(qu,"isAction");Vg="Alternatives";o(FE,"isAlternatives");Ug="Assignment";o(Fl,"isAssignment");Hg="CharacterRange";o(sO,"isCharacterRange");qg="CrossReference";o(Mp,"isCrossReference");Wg="EndOfFile";o(oO,"isEndOfFile");Yg="Group";o(Of,"isGroup");Xg="Keyword";o(Zo,"isKeyword");jg="NegatedToken";o(lO,"isNegatedToken");Kg="RegexToken";o(cO,"isRegexToken");Qg="RuleCall";o($l,"isRuleCall");Zg="TerminalAlternatives";o(uO,"isTerminalAlternatives");Jg="TerminalGroup";o(hO,"isTerminalGroup");e1="TerminalRuleCall";o($E,"isTerminalRuleCall");t1="UnorderedGroup";o(zE,"isUnorderedGroup");r1="UntilToken";o(fO,"isUntilToken");n1="Wildcard";o(dO,"isWildcard");i1=class extends Ap{static{o(this,"LangiumGrammarAstReflection")}getAllTypes(){return[wg,bg,Tg,Gg,Vg,kg,Eg,Ug,Sg,Hg,Mx,Cg,qg,Ag,Wg,_g,Ox,Yg,Dg,Lg,Xg,Px,jg,Rg,Ng,Mg,Ig,Og,Pg,Kg,Bx,Qg,Bg,Fg,Zg,Jg,Np,e1,$g,Fx,IE,zg,t1,r1,Ix,n1]}computeIsSubtype(e,r){switch(e){case Gg:case Vg:case Ug:case Hg:case qg:case Wg:case Yg:case Xg:case jg:case Kg:case Qg:case Zg:case Jg:case e1:case t1:case r1:case n1:return this.isSubtype(wg,r);case kg:case Ng:case Fg:return this.isSubtype(Ix,r);case Eg:case Pg:case Bg:case zg:return this.isSubtype(IE,r);case Sg:return this.isSubtype(Mx,r)||this.isSubtype(Ix,r);case Cg:case Ag:case Rg:case Ig:return this.isSubtype(Mx,r);case Dg:case Lg:case $g:return this.isSubtype(Tg,r);case Og:return this.isSubtype(bg,r)||this.isSubtype(Tg,r);case Np:return this.isSubtype(bg,r);default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Tg;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return bg;case"Grammar:usedGrammars":return _g;case"NamedArgument:parameter":case"ParameterReference:parameter":return Mg;case"TerminalRuleCall:rule":return Np;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case wg:return{name:wg,properties:[{name:"cardinality"},{name:"lookahead"}]};case kg:return{name:kg,properties:[{name:"elements",defaultValue:[]}]};case Eg:return{name:Eg,properties:[{name:"elementType"}]};case Sg:return{name:Sg,properties:[{name:"true",defaultValue:!1}]};case Cg:return{name:Cg,properties:[{name:"left"},{name:"right"}]};case Ag:return{name:Ag,properties:[{name:"left"},{name:"right"}]};case _g:return{name:_g,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case Ox:return{name:Ox,properties:[{name:"path"}]};case Dg:return{name:Dg,properties:[{name:"name"}]};case Lg:return{name:Lg,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Px:return{name:Px,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Rg:return{name:Rg,properties:[{name:"value"}]};case Ng:return{name:Ng,properties:[{name:"value"}]};case Mg:return{name:Mg,properties:[{name:"name"}]};case Ig:return{name:Ig,properties:[{name:"parameter"}]};case Og:return{name:Og,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case Pg:return{name:Pg,properties:[{name:"referenceType"}]};case Bx:return{name:Bx,properties:[{name:"name"}]};case Bg:return{name:Bg,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case Fg:return{name:Fg,properties:[{name:"value"}]};case Np:return{name:Np,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case $g:return{name:$g,properties:[{name:"name"},{name:"type"}]};case Fx:return{name:Fx,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case zg:return{name:zg,properties:[{name:"types",defaultValue:[]}]};case Gg:return{name:Gg,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case Vg:return{name:Vg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Ug:return{name:Ug,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Hg:return{name:Hg,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case qg:return{name:qg,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case Wg:return{name:Wg,properties:[{name:"cardinality"},{name:"lookahead"}]};case Yg:return{name:Yg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case Xg:return{name:Xg,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case jg:return{name:jg,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Kg:return{name:Kg,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Qg:return{name:Qg,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Zg:return{name:Zg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Jg:return{name:Jg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case e1:return{name:e1,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case t1:return{name:t1,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case r1:return{name:r1,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case n1:return{name:n1,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},pr=new i1});var VE={};dr(VE,{assignMandatoryProperties:()=>gO,copyAstNode:()=>mO,findLocalReferences:()=>UWe,findRootNode:()=>Vx,getContainerOfType:()=>Ip,getDocument:()=>Ua,hasContainerOfType:()=>VWe,linkContentToContainer:()=>GE,streamAllContents:()=>qc,streamAst:()=>Jo,streamContents:()=>Ux,streamReferences:()=>a1});function GE(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{li(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):li(r)&&(r.$container=t,r.$containerProperty=e))}function Ip(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function VWe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Ua(t){let r=Vx(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Vx(t){for(;t.$container;)t=t.$container;return t}function Ux(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new po(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexUx(r,e))}function Jo(t,e){if(t){if(e?.range&&!pO(t,e.range))return new Gc(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Gc(t,r=>Ux(r,e),{includeRoot:!0})}function pO(t,e){var r;if(!e)return!0;let n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?XI(n,e):!1}function a1(t){return new po(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{a1(n).forEach(i=>{i.reference.ref===t&&r.push(i.reference)})}),an(r)}function gO(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=$fe(i.defaultValue))}function $fe(t){return Array.isArray(t)?[...t.map($fe)]:t}function mO(t,e){let r={$type:t.$type};for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if(li(i))r[n]=mO(i,e);else if(wa(i))r[n]=e(r,n,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let s of i)li(s)?a.push(mO(s,e)):wa(s)?a.push(e(r,n,s.$refNode,s.$refText)):a.push(s);r[n]=a}else r[n]=i;return GE(r),r}var hs=M(()=>{"use strict";Pl();Ys();Bl();o(GE,"linkContentToContainer");o(Ip,"getContainerOfType");o(VWe,"hasContainerOfType");o(Ua,"getDocument");o(Vx,"findRootNode");o(Ux,"streamContents");o(qc,"streamAllContents");o(Jo,"streamAst");o(pO,"isAstNodeInRange");o(a1,"streamReferences");o(UWe,"findLocalReferences");o(gO,"assignMandatoryProperties");o($fe,"copyDefaultValue");o(mO,"copyAstNode")});function lr(t){return t.charCodeAt(0)}function UE(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function s1(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function Op(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Hx(){throw Error("Internal Error - Should never get here!")}function yO(t){return t.type==="Character"}var vO=M(()=>{"use strict";o(lr,"cc");o(UE,"insertToSet");o(s1,"addFlag");o(Op,"ASSERT_EXISTS");o(Hx,"ASSERT_NEVER_REACH_HERE");o(yO,"isCharacter")});var qx,Wx,xO,zfe=M(()=>{"use strict";vO();qx=[];for(let t=lr("0");t<=lr("9");t++)qx.push(t);Wx=[lr("_")].concat(qx);for(let t=lr("a");t<=lr("z");t++)Wx.push(t);for(let t=lr("A");t<=lr("Z");t++)Wx.push(t);xO=[lr(" "),lr("\f"),lr(` +`),lr("\r"),lr(" "),lr("\v"),lr(" "),lr("\xA0"),lr("\u1680"),lr("\u2000"),lr("\u2001"),lr("\u2002"),lr("\u2003"),lr("\u2004"),lr("\u2005"),lr("\u2006"),lr("\u2007"),lr("\u2008"),lr("\u2009"),lr("\u200A"),lr("\u2028"),lr("\u2029"),lr("\u202F"),lr("\u205F"),lr("\u3000"),lr("\uFEFF")]});var HWe,HE,qWe,Pp,Gfe=M(()=>{"use strict";vO();zfe();HWe=/[0-9a-fA-F]/,HE=/[0-9]/,qWe=/[1-9]/,Pp=class{static{o(this,"RegExpParser")}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("/");let r=this.disjunction();this.consumeChar("/");let 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":s1(n,"global");break;case"i":s1(n,"ignoreCase");break;case"m":s1(n,"multiLine");break;case"u":s1(n,"unicode");break;case"y":s1(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(){let 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(){let 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(){let 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}Op(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return Hx()}quantifier(e=!1){let r,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"{":let 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;Op(r);break}if(!(e===!0&&r===void 0)&&Op(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,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}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Op(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Hx()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[lr(` +`),lr("\r"),lr("\u2028"),lr("\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=qx;break;case"D":e=qx,r=!0;break;case"s":e=xO;break;case"S":e=xO,r=!0;break;case"w":e=Wx;break;case"W":e=Wx,r=!0;break}return Op(e)?{type:"Set",value:e,complement:r}:Hx()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=lr("\f");break;case"n":e=lr(` +`);break;case"r":e=lr("\r");break;case"t":e=lr(" ");break;case"v":e=lr("\v");break}return Op(e)?{type:"Character",value:e}:Hx()}controlLetterEscapeAtom(){this.consumeChar("c");let 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:lr("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:lr(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:lr(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(yO(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(yO(a)){if(a.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var Wc,Vfe=M(()=>{"use strict";Wc=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let 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"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){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var Yx=M(()=>{"use strict";Gfe();Vfe()});var qE={};dr(qE,{NEWLINE_REGEXP:()=>TO,escapeRegExp:()=>Fp,getCaseInsensitivePattern:()=>kO,getTerminalParts:()=>WWe,isMultilineComment:()=>wO,isWhitespace:()=>o1,partialMatches:()=>EO,partialRegExp:()=>qfe,whitespaceCharacters:()=>Hfe});function WWe(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=Ufe.pattern(t),r=[];for(let n of e.value.value)Bp.reset(t),Bp.visit(n),r.push({start:Bp.startRegexp,end:Bp.endRegex});return r}catch{return[]}}function wO(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Bp.reset(t),Bp.visit(Ufe.pattern(t)),Bp.multiline}catch{return!1}}function o1(t){let e=typeof t=="string"?new RegExp(t):t;return Hfe.some(r=>e.test(r))}function Fp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kO(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Fp(e)).join("")}function EO(t,e){let r=qfe(t),n=e.match(r);return!!n&&n[0].length>0}function qfe(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",s;function l(h){a+=r.substr(n,h),n+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(o(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?l(s[0].length):u(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:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return o(i,"process"),new RegExp(i(),t.flags)}var TO,Ufe,bO,Bp,Hfe,l1=M(()=>{"use strict";Yx();TO=/\r?\n/gm,Ufe=new Pp,bO=class extends Wc{static{o(this,"TerminalRegExpVisitor")}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){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Fp(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let 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{let 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)}},Bp=new bO;o(WWe,"getTerminalParts");o(wO,"isMultilineComment");Hfe=`\f +\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");o(o1,"isWhitespace");o(Fp,"escapeRegExp");o(kO,"getCaseInsensitivePattern");o(EO,"partialMatches");o(qfe,"partialRegExp")});var YE={};dr(YE,{findAssignment:()=>MO,findNameAssignment:()=>WE,findNodeForKeyword:()=>RO,findNodeForProperty:()=>jx,findNodesForKeyword:()=>YWe,findNodesForKeywordInternal:()=>NO,findNodesForProperty:()=>DO,getActionAtElement:()=>Kfe,getActionType:()=>Zfe,getAllReachableRules:()=>Xx,getCrossReferenceTerminal:()=>AO,getEntryRule:()=>Wfe,getExplicitRuleType:()=>c1,getHiddenRules:()=>Yfe,getRuleType:()=>IO,getRuleTypeName:()=>ZWe,getTypeName:()=>Qx,isArrayCardinality:()=>jWe,isArrayOperator:()=>KWe,isCommentTerminal:()=>_O,isDataType:()=>QWe,isDataTypeRule:()=>Kx,isOptionalCardinality:()=>XWe,terminalRegex:()=>u1});function Wfe(t){return t.rules.find(e=>Va(e)&&e.entry)}function Yfe(t){return t.rules.filter(e=>mo(e)&&e.hidden)}function Xx(t,e){let r=new Set,n=Wfe(t);if(!n)return new Set(t.rules);let i=[n].concat(Yfe(t));for(let s of i)Xfe(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||mo(s)&&s.hidden)&&a.add(s);return a}function Xfe(t,e,r){e.add(t.name),qc(t).forEach(n=>{if($l(n)||r&&$E(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Xfe(i,e,r)}})}function AO(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=WE(t.type.ref);return e?.terminal}}function _O(t){return t.hidden&&!o1(u1(t))}function DO(t,e){return!t||!e?[]:LO(t,e,t.astNode,!0)}function jx(t,e,r){if(!t||!e)return;let n=LO(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]}function LO(t,e,r,n){if(!n){let i=Ip(t.grammarSource,Fl);if(i&&i.feature===e)return[t]}return Ol(t)&&t.astNode===r?t.content.flatMap(i=>LO(i,e,r,!1)):[]}function YWe(t,e){return t?NO(t,e,t?.astNode):[]}function RO(t,e,r){if(!t)return;let n=NO(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function NO(t,e,r){if(t.astNode!==r)return[];if(Zo(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Dp(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Zo(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function MO(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=Ip(t.grammarSource,Fl);if(n)return n;t=t.container}}function WE(t){let e=t;return OE(e)&&(qu(e.$container)?e=e.$container.$container:Va(e.$container)?e=e.$container:Uc(e.$container)),jfe(t,e,new Map)}function jfe(t,e,r){var n;function i(a,s){let l;return Ip(a,Fl)||(l=jfe(s,s,r)),r.set(t,l),l}if(o(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let a of qc(e)){if(Fl(a)&&a.feature.toLowerCase()==="name")return r.set(t,a),a;if($l(a)&&Va(a.rule.ref))return i(a,a.rule.ref);if(BE(a)&&(!((n=a.typeRef)===null||n===void 0)&&n.ref))return i(a,a.typeRef.ref)}}function Kfe(t){let e=t.$container;if(Of(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(qu(a))return a;{let s=qc(r[i]).find(qu);if(s)return s}}}if($x(e))return Kfe(e)}function XWe(t,e){return t==="?"||t==="*"||Of(e)&&!!e.guardCondition}function jWe(t){return t==="*"||t==="+"}function KWe(t){return t==="+="}function Kx(t){return Qfe(t,new Set)}function Qfe(t,e){if(e.has(t))return!0;e.add(t);for(let r of qc(t))if($l(r)){if(!r.rule.ref||Va(r.rule.ref)&&!Qfe(r.rule.ref,e))return!1}else{if(Fl(r))return!1;if(qu(r))return!1}return!!t.definition}function QWe(t){return CO(t.type,new Set)}function CO(t,e){if(e.has(t))return!0;if(e.add(t),QI(t))return!1;if(nO(t))return!1;if(aO(t))return t.types.every(r=>CO(r,e));if(BE(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return zx(r)?CO(r.type,e):!1}else return!1}else return!1}function c1(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(Va(e))return e.name;if(PE(e)||zx(e))return e.name}}}function Qx(t){var e;if(Va(t))return Kx(t)?t.name:(e=c1(t))!==null&&e!==void 0?e:t.name;if(PE(t)||zx(t)||iO(t))return t.name;if(qu(t)){let r=Zfe(t);if(r)return r}else if(OE(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Zfe(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Qx(t.type.ref)}function ZWe(t){var e,r,n;return mo(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":Kx(t)?t.name:(n=c1(t))!==null&&n!==void 0?n:t.name}function IO(t){var e,r,n;return mo(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":(n=c1(t))!==null&&n!==void 0?n:t.name}function u1(t){let e={s:!1,i:!1,u:!1},r=h1(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function h1(t,e){if(uO(t))return JWe(t);if(hO(t))return eYe(t);if(sO(t))return nYe(t);if($E(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Wu(h1(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(lO(t))return rYe(t);if(fO(t))return tYe(t);if(cO(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Wu(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(dO(t))return Wu(OO,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function JWe(t){return Wu(t.elements.map(e=>h1(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function eYe(t){return Wu(t.elements.map(e=>h1(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function tYe(t){return Wu(`${OO}*?${h1(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function rYe(t){return Wu(`(?!${h1(t.terminal)})${OO}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function nYe(t){return t.right?Wu(`[${SO(t.left)}-${SO(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):Wu(SO(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function SO(t){return Fp(t.value)}function Wu(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var OO,zl=M(()=>{"use strict";ME();Hc();Pl();hs();Bl();l1();o(Wfe,"getEntryRule");o(Yfe,"getHiddenRules");o(Xx,"getAllReachableRules");o(Xfe,"ruleDfs");o(AO,"getCrossReferenceTerminal");o(_O,"isCommentTerminal");o(DO,"findNodesForProperty");o(jx,"findNodeForProperty");o(LO,"findNodesForPropertyInternal");o(YWe,"findNodesForKeyword");o(RO,"findNodeForKeyword");o(NO,"findNodesForKeywordInternal");o(MO,"findAssignment");o(WE,"findNameAssignment");o(jfe,"findNameAssignmentInternal");o(Kfe,"getActionAtElement");o(XWe,"isOptionalCardinality");o(jWe,"isArrayCardinality");o(KWe,"isArrayOperator");o(Kx,"isDataTypeRule");o(Qfe,"isDataTypeRuleInternal");o(QWe,"isDataType");o(CO,"isDataTypeInternal");o(c1,"getExplicitRuleType");o(Qx,"getTypeName");o(Zfe,"getActionType");o(ZWe,"getRuleTypeName");o(IO,"getRuleType");o(u1,"terminalRegex");OO=/[\s\S]/.source;o(h1,"abstractElementToRegex");o(JWe,"terminalAlternativesToRegex");o(eYe,"terminalGroupToRegex");o(tYe,"untilTokenToRegex");o(rYe,"negateTokenToRegex");o(nYe,"characterRangeToRegex");o(SO,"keywordToRegex");o(Wu,"withCardinality")});function PO(t){let e=[],r=t.Grammar;for(let n of r.rules)mo(n)&&_O(n)&&wO(u1(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:RE}}var BO=M(()=>{"use strict";Bl();zl();l1();Hc();o(PO,"createGrammarConfig")});var FO=M(()=>{"use strict"});function f1(t){console&&console.error&&console.error(`Error: ${t}`)}function Zx(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var Jfe=M(()=>{"use strict";o(f1,"PRINT_ERROR");o(Zx,"PRINT_WARNING")});function Jx(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var ede=M(()=>{"use strict";o(Jx,"timer")});function eb(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return o(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var tde=M(()=>{"use strict";o(eb,"toFastProperties")});var d1=M(()=>{"use strict";Jfe();ede();tde()});function iYe(t){return aYe(t)?t.LABEL:t.name}function aYe(t){return xi(t.LABEL)&&t.LABEL!==""}function XE(t){return rt(t,p1)}function p1(t){function e(r){return rt(r,p1)}if(o(e,"convertDefinition"),t instanceof fn){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return xi(t.label)&&(r.label=t.label),r}else{if(t instanceof Pn)return{type:"Alternative",definition:e(t.definition)};if(t instanceof dn)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Bn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Fn)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:p1(new Ar({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof _n)return{type:"RepetitionWithSeparator",idx:t.idx,separator:p1(new Ar({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof zr)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Dn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Ar){let r={type:"Terminal",name:t.terminalType.name,label:iYe(t.terminalType),idx:t.idx};xi(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=Uo(n)?n.source:n),r}else{if(t instanceof fs)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var go,fn,fs,Pn,dn,Bn,Fn,zr,_n,Dn,Ar,jE=M(()=>{"use strict";Yt();o(iYe,"tokenLabel");o(aYe,"hasTokenLabel");go=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Ae(this.definition,r=>{r.accept(e)})}},fn=class extends go{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,ma(this,Vs(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},fs=class extends go{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",ma(this,Vs(e,r=>r!==void 0))}},Pn=class extends go{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ma(this,Vs(e,r=>r!==void 0))}},dn=class extends go{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,ma(this,Vs(e,r=>r!==void 0))}},Bn=class extends go{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,ma(this,Vs(e,r=>r!==void 0))}},Fn=class extends go{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,ma(this,Vs(e,r=>r!==void 0))}},zr=class extends go{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,ma(this,Vs(e,r=>r!==void 0))}},_n=class extends go{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,ma(this,Vs(e,r=>r!==void 0))}},Dn=class extends go{static{o(this,"Alternation")}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,ma(this,Vs(e,r=>r!==void 0))}},Ar=class{static{o(this,"Terminal")}constructor(e){this.idx=1,ma(this,Vs(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(XE,"serializeGrammar");o(p1,"serializeProduction")});var ds,rde=M(()=>{"use strict";jE();ds=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case fn:return this.visitNonTerminal(r);case Pn:return this.visitAlternative(r);case dn:return this.visitOption(r);case Bn:return this.visitRepetitionMandatory(r);case Fn:return this.visitRepetitionMandatoryWithSeparator(r);case _n:return this.visitRepetitionWithSeparator(r);case zr:return this.visitRepetition(r);case Dn:return this.visitAlternation(r);case Ar:return this.visitTerminal(r);case fs: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){}}});function $O(t){return t instanceof Pn||t instanceof dn||t instanceof zr||t instanceof Bn||t instanceof Fn||t instanceof _n||t instanceof Ar||t instanceof fs}function $p(t,e=[]){return t instanceof dn||t instanceof zr||t instanceof _n?!0:t instanceof Dn?G2(t.definition,n=>$p(n,e)):t instanceof fn&&jn(e,t)?!1:t instanceof go?(t instanceof fn&&e.push(t),Ba(t.definition,n=>$p(n,e))):!1}function zO(t){return t instanceof Dn}function Xs(t){if(t instanceof fn)return"SUBRULE";if(t instanceof dn)return"OPTION";if(t instanceof Dn)return"OR";if(t instanceof Bn)return"AT_LEAST_ONE";if(t instanceof Fn)return"AT_LEAST_ONE_SEP";if(t instanceof _n)return"MANY_SEP";if(t instanceof zr)return"MANY";if(t instanceof Ar)return"CONSUME";throw Error("non exhaustive match")}var nde=M(()=>{"use strict";Yt();jE();o($O,"isSequenceProd");o($p,"isOptionalProd");o(zO,"isBranchingProd");o(Xs,"getProductionDslName")});var ps=M(()=>{"use strict";jE();rde();nde()});function ide(t,e,r){return[new dn({definition:[new Ar({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var Yu,KE=M(()=>{"use strict";Yt();ps();Yu=class{static{o(this,"RestWalker")}walk(e,r=[]){Ae(e.definition,(n,i)=>{let a=yi(e.definition,i+1);if(n instanceof fn)this.walkProdRef(n,a,r);else if(n instanceof Ar)this.walkTerminal(n,a,r);else if(n instanceof Pn)this.walkFlat(n,a,r);else if(n instanceof dn)this.walkOption(n,a,r);else if(n instanceof Bn)this.walkAtLeastOne(n,a,r);else if(n instanceof Fn)this.walkAtLeastOneSep(n,a,r);else if(n instanceof _n)this.walkManySep(n,a,r);else if(n instanceof zr)this.walkMany(n,a,r);else if(n instanceof Dn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new dn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=ide(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new dn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=ide(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Ae(e.definition,a=>{let s=new Pn({definition:[a]});this.walk(s,i)})}};o(ide,"restForRepetitionWithSeparator")});function zp(t){if(t instanceof fn)return zp(t.referencedRule);if(t instanceof Ar)return lYe(t);if($O(t))return sYe(t);if(zO(t))return oYe(t);throw Error("non exhaustive match")}function sYe(t){let e=[],r=t.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=$p(a),e=e.concat(zp(a)),n=n+1,i=r.length>n;return qm(e)}function oYe(t){let e=rt(t.definition,r=>zp(r));return qm(Qr(e))}function lYe(t){return[t.terminalType]}var GO=M(()=>{"use strict";Yt();ps();o(zp,"first");o(sYe,"firstForSequence");o(oYe,"firstForBranching");o(lYe,"firstForTerminal")});var QE,VO=M(()=>{"use strict";QE="_~IN~_"});function ade(t){let e={};return Ae(t,r=>{let n=new UO(r).startWalking();ma(e,n)}),e}function cYe(t,e){return t.name+e+QE}var UO,sde=M(()=>{"use strict";KE();GO();Yt();VO();ps();UO=class extends Yu{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=cYe(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Pn({definition:a}),l=zp(s);this.follows[i]=l}};o(ade,"computeAllProdsFollows");o(cYe,"buildBetweenProdsFollowPrefix")});function m1(t){let e=t.toString();if(ZE.hasOwnProperty(e))return ZE[e];{let r=uYe.pattern(e);return ZE[e]=r,r}}function ode(){ZE={}}var ZE,uYe,JE=M(()=>{"use strict";Yx();ZE={},uYe=new Pp;o(m1,"getRegExpAst");o(ode,"clearRegExpParserCache")});function ude(t,e=!1){try{let r=m1(t);return HO(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===cde)e&&Zx(`${tb} 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.`),f1(`${tb} + Failed parsing: < ${t.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function HO(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")eS(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)eS(f,e,r);else{for(let f=h.from;f<=h.to&&f=g1){let f=h.from>=g1?h.from:g1,d=h.to,p=Yc(f),m=Yc(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":HO(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&qO(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return kr(e)}function eS(t,e,r){let n=Yc(t);e[n]=n,r===!0&&hYe(t,e)}function hYe(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Yc(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Yc(i.charCodeAt(0));e[a]=a}}}function lde(t,e){return os(t.value,r=>{if(typeof r=="number")return jn(e,r);{let n=r;return os(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function qO(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Bt(t.value)?Ba(t.value,qO):qO(t.value):!1}function tS(t,e){if(e instanceof RegExp){let r=m1(e),n=new WO(t);return n.visit(r),n.found}else return os(e,r=>jn(t,r.charCodeAt(0)))!==void 0}var cde,tb,WO,hde=M(()=>{"use strict";Yx();Yt();d1();JE();YO();cde="Complement Sets are not supported for first char optimization",tb=`Unable to use "first char" lexer optimizations: +`;o(ude,"getOptimizedStartCodesIndices");o(HO,"firstCharOptimizedIndices");o(eS,"addOptimizedIdxToResult");o(hYe,"handleIgnoreCase");o(lde,"findCode");o(qO,"isWholeOptional");WO=class extends Wc{static{o(this,"CharCodeFinder")}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}super.visitChildren(e)}}visitCharacter(e){jn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?lde(e,this.targetCharCodes)===void 0&&(this.found=!0):lde(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o(tS,"canMatchCharCode")});function pde(t,e){e=of(e,{useSticky:jO,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:o((b,T)=>T(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{DYe()});let n;r("Reject Lexer.NA",()=>{n=cf(t,b=>b[Gp]===Zn.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=rt(n,b=>{let T=b[Gp];if(Uo(T)){let S=T.source;return S.length===1&&S!=="^"&&S!=="$"&&S!=="."&&!T.ignoreCase?S:S.length===2&&S[0]==="\\"&&!jn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],S[1])?S[1]:e.useSticky?dde(T):fde(T)}else{if(Si(T))return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{let S=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(S);return e.useSticky?dde(w):fde(w)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=rt(n,b=>b.tokenTypeIdx),l=rt(n,b=>{let T=b.GROUP;if(T!==Zn.SKIPPED){if(xi(T))return T;if(xr(T))return!1;throw Error("non exhaustive match")}}),u=rt(n,b=>{let T=b.LONGER_ALT;if(T)return Bt(T)?rt(T,w=>uk(n,w)):[uk(n,T)]}),h=rt(n,b=>b.PUSH_MODE),f=rt(n,b=>Ft(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=wde(e.lineTerminatorCharacters);d=rt(n,T=>!1),e.positionTracking!=="onlyOffset"&&(d=rt(n,T=>Ft(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Tde(T,b)===!1&&tS(b,T.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=rt(n,xde),m=rt(a,AYe),g=Jr(n,(b,T)=>{let S=T.GROUP;return xi(S)&&S!==Zn.SKIPPED&&(b[S]=[]),b},{}),y=rt(a,(b,T)=>({pattern:a[T],longerAlt:u[T],canLineTerminator:d[T],isCustom:p[T],short:m[T],group:l[T],push:h[T],pop:f[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=Jr(n,(b,T,S)=>{if(typeof T.PATTERN=="string"){let w=T.PATTERN.charCodeAt(0),k=Yc(w);XO(b,k,y[S])}else if(Bt(T.START_CHARS_HINT)){let w;Ae(T.START_CHARS_HINT,k=>{let C=typeof k=="string"?k.charCodeAt(0):k,A=Yc(C);w!==A&&(w=A,XO(b,A,y[S]))})}else if(Uo(T.PATTERN))if(T.PATTERN.unicode)v=!1,e.ensureOptimizations&&f1(`${tb} Unable to analyze < ${T.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{let w=ude(T.PATTERN,e.ensureOptimizations);mr(w)&&(v=!1),Ae(w,k=>{XO(b,k,y[S])})}else e.ensureOptimizations&&f1(`${tb} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function mde(t,e){let r=[],n=dYe(t);r=r.concat(n.errors);let i=pYe(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(fYe(a)),r=r.concat(wYe(a)),r=r.concat(kYe(a,e)),r=r.concat(EYe(a)),r}function fYe(t){let e=[],r=Zr(t,n=>Uo(n[Gp]));return e=e.concat(gYe(r)),e=e.concat(xYe(r)),e=e.concat(bYe(r)),e=e.concat(TYe(r)),e=e.concat(yYe(r)),e}function dYe(t){let e=Zr(t,i=>!Ft(i,Gp)),r=rt(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Qn.MISSING_PATTERN,tokenTypes:[i]})),n=lf(t,e);return{errors:r,valid:n}}function pYe(t){let e=Zr(t,i=>{let a=i[Gp];return!Uo(a)&&!Si(a)&&!Ft(a,"exec")&&!xi(a)}),r=rt(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:Qn.INVALID_PATTERN,tokenTypes:[i]})),n=lf(t,e);return{errors:r,valid:n}}function gYe(t){class e extends Wc{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=Zr(t,i=>{let a=i.PATTERN;try{let s=m1(a),l=new e;return l.visit(s),l.found}catch{return mYe.test(a.source)}});return rt(r,i=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Qn.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function yYe(t){let e=Zr(t,n=>n.PATTERN.test(""));return rt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Qn.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function xYe(t){class e extends Wc{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=Zr(t,i=>{let a=i.PATTERN;try{let s=m1(a),l=new e;return l.visit(s),l.found}catch{return vYe.test(a.source)}});return rt(r,i=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Qn.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function bYe(t){let e=Zr(t,n=>{let i=n[Gp];return i instanceof RegExp&&(i.multiline||i.global)});return rt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Qn.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function TYe(t){let e=[],r=rt(t,a=>Jr(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!jn(e,l)&&l.PATTERN!==Zn.NA&&(e.push(l),s.push(l)),s),[]));r=_c(r);let n=Zr(r,a=>a.length>1);return rt(n,a=>{let s=rt(a,u=>u.name);return{message:`The same RegExp pattern ->${ea(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:Qn.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function wYe(t){let e=Zr(t,n=>{if(!Ft(n,"GROUP"))return!1;let i=n.GROUP;return i!==Zn.SKIPPED&&i!==Zn.NA&&!xi(i)});return rt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Qn.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function kYe(t,e){let r=Zr(t,i=>i.PUSH_MODE!==void 0&&!jn(e,i.PUSH_MODE));return rt(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:Qn.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function EYe(t){let e=[],r=Jr(t,(n,i,a)=>{let s=i.PATTERN;return s===Zn.NA||(xi(s)?n.push({str:s,idx:a,tokenType:i}):Uo(s)&&CYe(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return Ae(t,(n,i)=>{Ae(r,({str:a,idx:s,tokenType:l})=>{if(i${l.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:u,type:Qn.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function SYe(t,e){if(Uo(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(Si(e))return e(t,0,[],{});if(Ft(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function CYe(t){return os([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function fde(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function dde(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function gde(t,e,r){let n=[];return Ft(t,y1)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+y1+`> property in its definition +`,type:Qn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Ft(t,rS)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+rS+`> property in its definition +`,type:Qn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Ft(t,rS)&&Ft(t,y1)&&!Ft(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${y1}: <${t.defaultMode}>which does not exist +`,type:Qn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Ft(t,rS)&&Ae(t.modes,(i,a)=>{Ae(i,(s,l)=>{if(xr(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> +`,type:Qn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Ft(s,"LONGER_ALT")){let u=Bt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Ae(u,h=>{!xr(h)&&!jn(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> +`,type:Qn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function yde(t,e,r){let n=[],i=!1,a=_c(Qr(kr(t.modes))),s=cf(a,u=>u[Gp]===Zn.NA),l=wde(r);return e&&Ae(s,u=>{let h=Tde(u,l);if(h!==!1){let d={message:_Ye(u,h),type:h.issue,tokenType:u};n.push(d)}else Ft(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):tS(l,u.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:Qn.NO_LINE_BREAKS_FLAGS}),n}function vde(t){let e={},r=qr(t);return Ae(r,n=>{let i=t[n];if(Bt(i))e[n]=[];else throw Error("non exhaustive match")}),e}function xde(t){let e=t.PATTERN;if(Uo(e))return!1;if(Si(e))return!0;if(Ft(e,"exec"))return!0;if(xi(e))return!1;throw Error("non exhaustive match")}function AYe(t){return xi(t)&&t.length===1?t.charCodeAt(0):!1}function Tde(t,e){if(Ft(t,"LINE_BREAKS"))return!1;if(Uo(t.PATTERN)){try{tS(e,t.PATTERN)}catch(r){return{issue:Qn.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(xi(t.PATTERN))return!1;if(xde(t))return{issue:Qn.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function _Ye(t,e){if(e.issue===Qn.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===Qn.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the 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")}function wde(t){return rt(t,r=>xi(r)?r.charCodeAt(0):r)}function XO(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Yc(t){return t255?255+~~(t/255):t}}var Gp,y1,rS,jO,mYe,vYe,bde,g1,nS,YO=M(()=>{"use strict";Yx();rb();Yt();d1();hde();JE();Gp="PATTERN",y1="defaultMode",rS="modes",jO=typeof new RegExp("(?:)").sticky=="boolean";o(pde,"analyzeTokenTypes");o(mde,"validatePatterns");o(fYe,"validateRegExpPattern");o(dYe,"findMissingPatterns");o(pYe,"findInvalidPatterns");mYe=/[^\\][$]/;o(gYe,"findEndOfInputAnchor");o(yYe,"findEmptyMatchRegExps");vYe=/[^\\[][\^]|^\^/;o(xYe,"findStartOfInputAnchor");o(bYe,"findUnsupportedFlags");o(TYe,"findDuplicatePatterns");o(wYe,"findInvalidGroupType");o(kYe,"findModesThatDoNotExist");o(EYe,"findUnreachablePatterns");o(SYe,"testTokenType");o(CYe,"noMetaChar");o(fde,"addStartOfInput");o(dde,"addStickyFlag");o(gde,"performRuntimeChecks");o(yde,"performWarningRuntimeChecks");o(vde,"cloneEmptyGroups");o(xde,"isCustomPattern");o(AYe,"isShortPattern");bde={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function LYe(t){let e=ln(t),r=t,n=!0;for(;n;){r=_c(Qr(rt(r,a=>a.CATEGORIES)));let i=lf(r,e);e=e.concat(i),mr(i)?n=!1:r=i}return e}function RYe(t){Ae(t,e=>{KO(e)||(Sde[kde]=e,e.tokenTypeIdx=kde++),Ede(e)&&!Bt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ede(e)||(e.CATEGORIES=[]),IYe(e)||(e.categoryMatches=[]),OYe(e)||(e.categoryMatchesMap={})})}function NYe(t){Ae(t,e=>{e.categoryMatches=[],Ae(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(Sde[n].tokenTypeIdx)})})}function MYe(t){Ae(t,e=>{Cde([],e)})}function Cde(t,e){Ae(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Ae(e.CATEGORIES,r=>{let n=t.concat(e);jn(n,r)||Cde(n,r)})}function KO(t){return Ft(t,"tokenTypeIdx")}function Ede(t){return Ft(t,"CATEGORIES")}function IYe(t){return Ft(t,"categoryMatches")}function OYe(t){return Ft(t,"categoryMatchesMap")}function Ade(t){return Ft(t,"tokenTypeIdx")}var kde,Sde,Vp=M(()=>{"use strict";Yt();o(Xu,"tokenStructuredMatcher");o(v1,"tokenStructuredMatcherNoCategories");kde=1,Sde={};o(ju,"augmentTokenTypes");o(LYe,"expandCategories");o(RYe,"assignTokenDefaultProps");o(NYe,"assignCategoriesTokensProp");o(MYe,"assignCategoriesMapProp");o(Cde,"singleAssignCategoriesToksMap");o(KO,"hasShortKeyProperty");o(Ede,"hasCategoriesProperty");o(IYe,"hasExtendingTokensTypesProperty");o(OYe,"hasExtendingTokensTypesMapProperty");o(Ade,"isTokenType")});var x1,QO=M(()=>{"use strict";x1={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var Qn,nb,Zn,rb=M(()=>{"use strict";YO();Yt();d1();Vp();QO();JE();(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"})(Qn||(Qn={}));nb={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:x1,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(nb);Zn=class{static{o(this,"Lexer")}constructor(e,r=nb){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++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=Jx(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}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=ma({},nb,r);let 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===nb.lineTerminatorsPattern)this.config.lineTerminatorsPattern=bde;else if(this.config.lineTerminatorCharacters===nb.lineTerminatorCharacters)throw Error(`Error: Missing 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),Bt(e)?i={modes:{defaultMode:ln(e)},defaultMode:y1}:(a=!1,i=ln(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(gde(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(yde(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Ae(i.modes,(l,u)=>{i.modes[u]=cf(l,h=>xr(h))});let s=qr(i.modes);if(Ae(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(mde(l,s))}),mr(this.lexerDefinitionErrors)){ju(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=pde(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=ma({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!mr(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=rt(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+u)}Ae(this.lexerDefinitionWarning,l=>{Zx(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(jO?(this.chopInput=Qi,this.match=this.matchWithTest):(this.updateLastIndex=si,this.match=this.matchWithExec),a&&(this.handleModes=si),this.trackStartLines===!1&&(this.computeNewColumn=Qi),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=si),/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 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",()=>{let l=Jr(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!mr(l))throw Error(`Lexer Modes: < ${l.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",()=>{ode()}),this.TRACE_INIT("toFastProperties",()=>{eb(this)})})}tokenize(e,r=this.defaultMode){if(!mr(this.lexerDefinitionErrors)){let i=rt(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,l,u,h,f,d,p,m,g,y,v,x,b,T=e,S=T.length,w=0,k=0,C=this.hasCustom?0:Math.floor(e.length/10),A=new Array(C),L=[],I=this.trackStartLines?1:void 0,R=this.trackStartLines?1:void 0,E=vde(this.emptyGroups),_=this.trackStartLines,D=this.config.lineTerminatorsPattern,O=0,N=[],P=[],B=[],F=[];Object.freeze(F);let V;function $(){return N}o($,"getPossiblePatternsSlow");function U(Q){let ue=Yc(Q),te=P[ue];return te===void 0?F:te}o(U,"getPossiblePatternsOptimized");let j=o(Q=>{if(B.length===1&&Q.tokenType.PUSH_MODE===void 0){let ue=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Q);L.push({offset:Q.startOffset,line:Q.startLine,column:Q.startColumn,length:Q.image.length,message:ue})}else{B.pop();let ue=ga(B);N=this.patternIdxToConfig[ue],P=this.charCodeToPatternIdxToConfig[ue],O=N.length;let te=this.canModeBeOptimized[ue]&&this.config.safeMode===!1;P&&te?V=U:V=$}},"pop_mode");function ee(Q){B.push(Q),P=this.charCodeToPatternIdxToConfig[Q],N=this.patternIdxToConfig[Q],O=N.length,O=N.length;let ue=this.canModeBeOptimized[Q]&&this.config.safeMode===!1;P&&ue?V=U:V=$}o(ee,"push_mode"),ee.call(this,r);let q,oe=this.config.recoveryEnabled;for(;wu.length){u=s,h=f,q=ae;break}}}break}}if(u!==null){if(d=u.length,p=q.group,p!==void 0&&(m=q.tokenTypeIdx,g=this.createTokenInstance(u,w,m,q.tokenType,I,R,d),this.handlePayload(g,h),p===!1?k=this.addToken(A,k,g):E[p].push(g)),e=this.chopInput(e,d),w=w+d,R=this.computeNewColumn(R,d),_===!0&&q.canLineTerminator===!0){let re=0,J,K;D.lastIndex=0;do J=D.test(u),J===!0&&(K=D.lastIndex-1,re++);while(J===!0);re!==0&&(I=I+re,R=d-K,this.updateTokenEndLineColumnLocation(g,p,K,re,I,R,d))}this.handleModes(q,j,ee,g)}else{let re=w,J=I,K=R,ae=oe===!1;for(;ae===!1&&w{"use strict";Yt();rb();Vp();o(Ku,"tokenLabel");o(ZO,"hasTokenLabel");PYe="parent",_de="categories",Dde="label",Lde="group",Rde="push_mode",Nde="pop_mode",Mde="longer_alt",Ide="line_breaks",Ode="start_chars_hint";o(Pf,"createToken");o(BYe,"createTokenInternal");yo=Pf({name:"EOF",pattern:Zn.NA});ju([yo]);o(Qu,"createTokenInstance");o(ib,"tokenMatcher")});var Zu,Pde,Gl,b1=M(()=>{"use strict";Up();Yt();ps();Zu={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${ZO(t)?`--> ${Ku(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}){let a="Expecting: ",l=` +but found: '`+ea(e).image+"'";if(n)return a+n+l;{let u=Jr(t,(p,m)=>p.concat(m),[]),h=rt(u,p=>`[${rt(p,m=>Ku(m)).join(", ")}]`),d=`one of these possible Token sequences: +${rt(h,(p,m)=>` ${m+1}. ${p}`).join(` +`)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=` +but found: '`+ea(e).image+"'";if(r)return i+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: + <${rt(t,h=>`[${rt(h,f=>Ku(f)).join(",")}]`).join(" ,")}>`;return i+u+s}}};Object.freeze(Zu);Pde={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Gl={buildDuplicateFoundError(t,e){function r(f){return f instanceof Ar?f.terminalType.name:f instanceof fn?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let n=t.name,i=ea(e),a=i.idx,s=Xs(i),l=r(i),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} + 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 h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,` +`),h},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){let e=rt(t.prefixPath,i=>Ku(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in 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){let e=rt(t.prefixPath,i=>Ku(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in 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},buildEmptyRepetitionError(t){let e=Xs(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 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: + inside <${t.topLevelRule.name}> Rule. + has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=rt(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 fs?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function Bde(t,e){let r=new JO(t,e);return r.resolveRefs(),r.errors}var JO,Fde=M(()=>{"use strict";js();Yt();ps();o(Bde,"resolveGrammar");JO=class extends ds{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Ae(kr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:Gi.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function oS(t,e,r=[]){r=ln(r);let n=[],i=0;function a(l){return l.concat(yi(t,i+1))}o(a,"remainingPathWith");function s(l){let u=oS(a(l),e,r);return n.concat(u)}for(o(s,"getAlternativesForProd");r.length{mr(u.definition)===!1&&(n=s(u.definition))}),n;if(l instanceof Ar)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:yi(t,i)}),n}function lS(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!mr(d);){let p=d.pop();if(p===s){l&&ga(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(mr(m))continue;let x=m[0];if(x===i){let b={idx:g,def:yi(m),ruleStack:Bu(y),occurrenceStack:Bu(v)};d.push(b)}else if(x instanceof Ar)if(g=0;b--){let T=x.definition[b],S={idx:g,def:T.definition.concat(yi(m)),ruleStack:y,occurrenceStack:v};d.push(S),d.push(s)}else if(x instanceof Pn)d.push({idx:g,def:x.definition.concat(yi(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof fs)d.push(FYe(x,g,y,v));else throw Error("non exhaustive match")}return f}function FYe(t,e,r,n){let i=ln(r);i.push(t.name);let a=ln(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var eP,iS,T1,aS,ab,sS,sb,ob=M(()=>{"use strict";Yt();GO();KE();ps();eP=class extends Yu{static{o(this,"AbstractNextPossibleTokensWalker")}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=ln(this.path.ruleStack).reverse(),this.occurrenceStack=ln(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){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){mr(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},iS=class extends eP{static{o(this,"NextAfterTokenWalker")}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){let i=r.concat(n),a=new Pn({definition:i});this.possibleTokTypes=zp(a),this.found=!0}}},T1=class extends Yu{static{o(this,"AbstractNextTerminalAfterProductionWalker")}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}},aS=class extends T1{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=ea(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ar&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},ab=class extends T1{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=ea(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ar&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},sS=class extends T1{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=ea(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ar&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},sb=class extends T1{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=ea(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ar&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};o(oS,"possiblePathsFrom");o(lS,"nextPossibleTokensAfter");o(FYe,"expandTopLevelRule")});function lb(t){if(t instanceof dn||t==="Option")return Jn.OPTION;if(t instanceof zr||t==="Repetition")return Jn.REPETITION;if(t instanceof Bn||t==="RepetitionMandatory")return Jn.REPETITION_MANDATORY;if(t instanceof Fn||t==="RepetitionMandatoryWithSeparator")return Jn.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof _n||t==="RepetitionWithSeparator")return Jn.REPETITION_WITH_SEPARATOR;if(t instanceof Dn||t==="Alternation")return Jn.ALTERNATION;throw Error("non exhaustive match")}function uS(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=lb(n);return a===Jn.ALTERNATION?w1(e,r,i):k1(e,r,a,i)}function zde(t,e,r,n,i,a){let s=w1(t,e,r),l=Wde(s)?v1:Xu;return a(s,n,l,i)}function Gde(t,e,r,n,i,a){let s=k1(t,e,i,r),l=Wde(s)?v1:Xu;return a(s[0],l,n)}function Vde(t,e,r,n){let i=t.length,a=Ba(t,s=>Ba(s,l=>l.length===1));if(e)return function(s){let l=rt(s,u=>u.GATE);for(let u=0;uQr(u)),l=Jr(s,(u,h,f)=>(Ae(h,d=>{Ft(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Ae(d.categoryMatches,p=>{Ft(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){let a=Qr(t);if(a.length===1&&mr(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=Jr(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Ae(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aoS([s],1)),n=$de(r.length),i=rt(r,s=>{let l={};return Ae(s,u=>{let h=tP(u.partialPath);Ae(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=$de(l.length);for(let u=0;u{let x=tP(v.partialPath);Ae(x,b=>{i[u][b]=!0})})}}}}return n}function w1(t,e,r,n){let i=new cS(t,Jn.ALTERNATION,n);return e.accept(i),Hde(i.result,r)}function k1(t,e,r,n){let i=new cS(t,r);e.accept(i);let a=i.result,l=new rP(e,t,r).startWalking(),u=new Pn({definition:a}),h=new Pn({definition:l});return Hde([u,h],n)}function hS(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Wde(t){return Ba(t,e=>Ba(e,r=>Ba(r,n=>mr(n.categoryMatches))))}var Jn,rP,cS,E1=M(()=>{"use strict";Yt();ob();KE();Vp();ps();(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"})(Jn||(Jn={}));o(lb,"getProdType");o(uS,"getLookaheadPaths");o(zde,"buildLookaheadFuncForOr");o(Gde,"buildLookaheadFuncForOptionalProd");o(Vde,"buildAlternativesLookAheadFunc");o(Ude,"buildSingleAlternativeLookaheadFunction");rP=class extends Yu{static{o(this,"RestDefinitionFinderWalker")}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,Jn.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Jn.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Jn.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Jn.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Jn.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},cS=class extends ds{static{o(this,"InsideDefinitionFinderVisitor")}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,Jn.OPTION)}visitRepetition(e){this.checkIsTarget(e,Jn.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Jn.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Jn.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Jn.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Jn.ALTERNATION)}};o($de,"initializeArrayOfArrays");o(tP,"pathToHashKeys");o($Ye,"isUniquePrefixHash");o(Hde,"lookAheadSequenceFromAlternatives");o(w1,"getLookaheadPathsForOr");o(k1,"getLookaheadPathsForOptionalProd");o(hS,"containsPath");o(qde,"isStrictPrefixOfPath");o(Wde,"areTokenCategoriesNotUsed")});function Yde(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return rt(e,r=>Object.assign({type:Gi.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Xde(t,e,r,n){let i=ya(t,u=>zYe(u,r)),a=WYe(t,e,r),s=ya(t,u=>UYe(u,r)),l=ya(t,u=>VYe(u,t,n,r));return i.concat(a,s,l)}function zYe(t,e){let r=new nP;t.accept(r);let n=r.allProductions,i=DR(n,GYe),a=Vs(i,l=>l.length>1);return rt(kr(a),l=>{let u=ea(l),h=e.buildDuplicateFoundError(t,l),f=Xs(u),d={message:h,type:Gi.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=jde(u);return p&&(d.parameter=p),d})}function GYe(t){return`${Xs(t)}_#_${t.idx}_#_${jde(t)}`}function jde(t){return t instanceof Ar?t.terminalType.name:t instanceof fn?t.nonTerminalName:""}function VYe(t,e,r,n){let i=[];if(Jr(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:Gi.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Kde(t,e,r){let n=[],i;return jn(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:Gi.INVALID_RULE_OVERRIDE,ruleName:t})),n}function aP(t,e,r,n=[]){let i=[],a=fS(e.definition);if(mr(a))return[];{let s=t.name;jn(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:Gi.LEFT_RECURSION,ruleName:s});let u=lf(a,n.concat([t])),h=ya(u,f=>{let d=ln(n);return d.push(f),aP(t,f,r,d)});return i.concat(h)}}function fS(t){let e=[];if(mr(t))return e;let r=ea(t);if(r instanceof fn)e.push(r.referencedRule);else if(r instanceof Pn||r instanceof dn||r instanceof Bn||r instanceof Fn||r instanceof _n||r instanceof zr)e=e.concat(fS(r.definition));else if(r instanceof Dn)e=Qr(rt(r.definition,a=>fS(a.definition)));else if(!(r instanceof Ar))throw Error("non exhaustive match");let n=$p(r),i=t.length>1;if(n&&i){let a=yi(t);return e.concat(fS(a))}else return e}function Qde(t,e){let r=new cb;t.accept(r);let n=r.alternations;return ya(n,a=>{let s=Bu(a.definition);return ya(s,(l,u)=>{let h=lS([l],[],Xu,1);return mr(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:Gi.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function Zde(t,e,r){let n=new cb;t.accept(n);let i=n.alternations;return i=cf(i,s=>s.ignoreAmbiguities===!0),ya(i,s=>{let l=s.idx,u=s.maxLookahead||e,h=w1(l,t,u,s),f=HYe(h,s,t,r),d=qYe(h,s,t,r);return f.concat(d)})}function UYe(t,e){let r=new cb;t.accept(r);let n=r.alternations;return ya(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:Gi.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Jde(t,e,r){let n=[];return Ae(t,i=>{let a=new iP;i.accept(a);let s=a.allProductions;Ae(s,l=>{let u=lb(l),h=l.maxLookahead||e,f=l.idx,p=k1(f,i,u,h)[0];if(mr(Qr(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:Gi.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function HYe(t,e,r,n){let i=[],a=Jr(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Ae(u,f=>{let d=[h];Ae(t,(p,m)=>{h!==m&&hS(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!hS(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return rt(a,l=>{let u=rt(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:Gi.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function qYe(t,e,r,n){let i=Jr(t,(s,l,u)=>{let h=rt(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return _c(ya(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=Zr(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:Gi.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function WYe(t,e,r){let n=[],i=rt(e,a=>a.name);return Ae(t,a=>{let s=a.name;if(jn(i,s)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:Gi.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}var nP,cb,iP,ub=M(()=>{"use strict";Yt();js();ps();E1();ob();Vp();o(Yde,"validateLookahead");o(Xde,"validateGrammar");o(zYe,"validateDuplicateProductions");o(GYe,"identifyProductionForDuplicates");o(jde,"getExtraProductionArgument");nP=class extends ds{static{o(this,"OccurrenceValidationCollector")}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)}};o(VYe,"validateRuleDoesNotAlreadyExist");o(Kde,"validateRuleIsOverridden");o(aP,"validateNoLeftRecursion");o(fS,"getFirstNoneTerminal");cb=class extends ds{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(Qde,"validateEmptyOrAlternative");o(Zde,"validateAmbiguousAlternationAlternatives");iP=class extends ds{static{o(this,"RepetitionCollector")}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)}};o(UYe,"validateTooManyAlts");o(Jde,"validateSomeNonEmptyLookaheadPath");o(HYe,"checkAlternativesAmbiguities");o(qYe,"checkPrefixAlternativesAmbiguities");o(WYe,"checkTerminalAndNoneTerminalsNameSpace")});function epe(t){let e=of(t,{errMsgProvider:Pde}),r={};return Ae(t.rules,n=>{r[n.name]=n}),Bde(r,e.errMsgProvider)}function tpe(t){return t=of(t,{errMsgProvider:Gl}),Xde(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var rpe=M(()=>{"use strict";Yt();Fde();ub();b1();o(epe,"resolveGrammar");o(tpe,"validateGrammar")});function Bf(t){return jn(ope,t.name)}var npe,ipe,ape,spe,ope,S1,Hp,hb,fb,db,C1=M(()=>{"use strict";Yt();npe="MismatchedTokenException",ipe="NoViableAltException",ape="EarlyExitException",spe="NotAllInputParsedException",ope=[npe,ipe,ape,spe];Object.freeze(ope);o(Bf,"isRecognitionException");S1=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Hp=class extends S1{static{o(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=npe}},hb=class extends S1{static{o(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=ipe}},fb=class extends S1{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=spe}},db=class extends S1{static{o(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=ape}}});function YYe(t,e,r,n,i,a,s){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=yo,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var sP,lP,oP,dS,cP=M(()=>{"use strict";Up();Yt();C1();VO();js();sP={},lP="InRuleRecoveryException",oP=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=lP}},dS=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Ft(e,"recoveryEnabled")?e.recoveryEnabled:ms.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=YYe)}getTokenToInsert(e){let r=Qu(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){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new Hp(m,h,this.LA(0));g.resyncedTokens=Bu(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));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){let 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)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new oP("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||mr(r))return!1;let n=this.LA(1);return os(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return jn(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=os(e,a=>ib(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return sP;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return rt(e,(n,i)=>i===0?sP:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=rt(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Qr(e)}getFollowSetFromFollowKey(e){if(e===sP)return[yo];let r=e.ruleName+e.idxInCallingRule+QE+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,yo)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Bu(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=ln(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return rt(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(YYe,"attemptInRepetitionRecovery")});function pS(t,e,r){return r|e|t}var mS=M(()=>{"use strict";o(pS,"getKeyForAutomaticLookahead")});var Ju,uP=M(()=>{"use strict";Yt();b1();js();ub();E1();Ju=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:ms.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(mr(r)){let 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 ya(e,r=>aP(r,r,Gl))}validateEmptyOrAlternatives(e){return ya(e,r=>Qde(r,Gl))}validateAmbiguousAlternationAlternatives(e,r){return ya(e,n=>Zde(n,r,Gl))}validateSomeNonEmptyLookaheadPath(e,r){return Jde(e,r,Gl)}buildLookaheadForAlternation(e){return zde(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Vde)}buildLookaheadForOptional(e){return Gde(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,lb(e.prodType),Ude)}}});function XYe(t){gS.reset(),t.accept(gS);let e=gS.dslMethods;return gS.reset(),e}var yS,hP,gS,lpe=M(()=>{"use strict";Yt();js();mS();ps();uP();yS=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Ft(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:ms.dynamicTokensEnabled,this.maxLookahead=Ft(e,"maxLookahead")?e.maxLookahead:ms.maxLookahead,this.lookaheadStrategy=Ft(e,"lookaheadStrategy")?e.lookaheadStrategy:new Ju({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Ae(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=XYe(r);Ae(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${Xs(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=pS(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Ae(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,Xs(h))}),Ae(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,Xs(h))}),Ae(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,Xs(h))}),Ae(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,Xs(h))}),Ae(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,Xs(h))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=pS(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return pS(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},hP=class extends ds{static{o(this,"DslMethodsCollectorVisitor")}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)}},gS=new hP;o(XYe,"collectMethods")});function pP(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o(pP,"setNodeLocationOnlyOffset");o(mP,"setNodeLocationFull");o(cpe,"addTerminalToCst");o(upe,"addNoneTerminalToCst")});function gP(t,e){Object.defineProperty(t,jYe,{enumerable:!1,configurable:!0,writable:!1,value:e})}var jYe,fpe=M(()=>{"use strict";jYe="name";o(gP,"defineNameProp")});function KYe(t,e){let r=qr(t),n=r.length;for(let i=0;is.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}function ppe(t,e,r){let n=o(function(){},"derivedConstructor");gP(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Ae(e,a=>{i[a]=KYe}),n.prototype=i,n.prototype.constructor=n,n}function QYe(t,e){return ZYe(t,e)}function ZYe(t,e){let r=Zr(e,i=>Si(t[i])===!1),n=rt(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:yP.MISSING_METHOD,methodName:i}));return _c(n)}var yP,mpe=M(()=>{"use strict";Yt();fpe();o(KYe,"defaultVisit");o(dpe,"createBaseSemanticVisitorConstructor");o(ppe,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(yP||(yP={}));o(QYe,"validateVisitor");o(ZYe,"validateMissingCstMethods")});var TS,gpe=M(()=>{"use strict";hpe();Yt();mpe();js();TS=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Ft(e,"nodeLocationTracking")?e.nodeLocationTracking:ms.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=si,this.cstFinallyStateUpdate=si,this.cstPostTerminal=si,this.cstPostNonTerminal=si,this.cstPostRule=si;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=mP,this.setNodeLocationFromNode=mP,this.cstPostRule=si,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=si,this.setNodeLocationFromNode=si,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pP,this.setNodeLocationFromNode=pP,this.cstPostRule=si,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=si,this.setNodeLocationFromNode=si,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=si,this.setNodeLocationFromNode=si,this.cstPostRule=si,this.setInitialNodeLocation=si;else throw Error(`Invalid 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){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let 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){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];cpe(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];upe(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(xr(this.baseCstVisitorConstructor)){let e=dpe(this.className,qr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(xr(this.baseCstVisitorWithDefaultsConstructor)){let e=ppe(this.className,qr(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var wS,ype=M(()=>{"use strict";js();wS=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing 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)):A1}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?A1: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()}}});var kS,vpe=M(()=>{"use strict";Yt();C1();js();b1();ub();ps();kS=class{static{o(this,"RecognizerApi")}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=_1){if(jn(this.definedRulesNames,e)){let s={message:Gl.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Gi.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=_1){let i=Kde(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Bf(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return XE(kr(this.gastProductionsCache))}}});var ES,xpe=M(()=>{"use strict";Yt();mS();C1();E1();ob();js();cP();Up();Vp();ES=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=v1,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Ft(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if(Bt(e)){if(mr(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(Bt(e))this.tokensMap=Jr(e,(a,s)=>(a[s.name]=s,a),{});else if(Ft(e,"modes")&&Ba(Qr(kr(e.modes)),Ade)){let a=Qr(kr(e.modes)),s=qm(a);this.tokensMap=Jr(s,(l,u)=>(l[u.name]=u,l),{})}else if(Sn(e))this.tokensMap=ln(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=yo;let n=Ft(e,"modes")?Qr(kr(e.modes)):kr(e),i=Ba(n,a=>mr(a.categoryMatches));this.tokenMatcher=i?v1:Xu,ju(kr(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.`);let i=Ft(n,"resyncEnabled")?n.resyncEnabled:_1.resyncEnabled,a=Ft(n,"recoveryValueFunc")?n.recoveryValueFunc:_1.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Bf(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.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,Jn.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,sS)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>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,l,i,sb],l,1536,e,sb)}else throw this.raiseEarlyExitException(e,Jn.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=o(()=>l.call(this)&&u.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,768,e,aS,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>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,l,i,ab],l,1280,e,ab)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Bt(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){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new fb(r,e))}}subruleInternal(e,r,n){let i;try{let 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 Bf(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{let 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,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 Hp(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===lP?n:a}}else throw n}saveRecogState(){let e=this.errors,r=ln(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(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),yo)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var SS,bpe=M(()=>{"use strict";C1();Yt();E1();js();SS=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Ft(e,"errorMessageProvider")?e.errorMessageProvider:ms.errorMessageProvider}SAVE_ERROR(e){if(Bf(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ln(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ln(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=k1(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new db(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=w1(e,i,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new hb(u,this.LA(1),l))}}});var CS,Tpe=M(()=>{"use strict";ob();Yt();CS=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(xr(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return lS([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=ea(e.ruleStack),i=this.getGAstProductions()[r];return new iS(i,e).startWalking()}}});function mb(t,e,r,n=!1){_S(r);let i=ga(this.recordingProdStack),a=Si(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Ft(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),DS}function tXe(t,e){_S(e);let r=ga(this.recordingProdStack),n=Bt(t)===!1,i=n===!1?t:t.DEF,a=new Dn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Ft(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=G2(i,l=>Si(l.GATE));return a.hasPredicates=s,r.definition.push(a),Ae(i,l=>{let u=new Pn({definition:[]});a.definition.push(u),Ft(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Ft(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),DS}function Epe(t){return t===0?"":`${t}`}function _S(t){if(t<0||t>kpe){let e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${kpe+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var DS,wpe,kpe,Spe,Cpe,eXe,AS,Ape=M(()=>{"use strict";Yt();ps();rb();Vp();Up();js();mS();DS={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(DS);wpe=!0,kpe=Math.pow(2,8)-1,Spe=Pf({name:"RECORDING_PHASE_TOKEN",pattern:Zn.NA});ju([Spe]);Cpe=Qu(Spe,`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(Cpe);eXe={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},AS=class{static{o(this,"GastRecorder")}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++){let 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",()=>{let e=this;for(let r=0;r<10;r++){let 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 A1}topLevelRuleRecord(e,r){try{let n=new fs({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 mb.call(this,dn,e,r)}atLeastOneInternalRecord(e,r){mb.call(this,Bn,r,e)}atLeastOneSepFirstInternalRecord(e,r){mb.call(this,Fn,r,e,wpe)}manyInternalRecord(e,r){mb.call(this,zr,r,e)}manySepFirstInternalRecord(e,r){mb.call(this,_n,r,e,wpe)}orInternalRecord(e,r){return tXe.call(this,e,r)}subruleInternalRecord(e,r,n){if(_S(r),!e||Ft(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=ga(this.recordingProdStack),a=e.ruleName,s=new fn({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?eXe:DS}consumeInternalRecord(e,r,n){if(_S(r),!KO(e)){let s=new Error(` 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}let i=ga(this.recordingProdStack),a=new Ar({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),Cpe}};o(mb,"recordProd");o(tXe,"recordOrProd");o(Epe,"getIdxSuffix");o(_S,"assertMethodIdxIsValid")});var LS,_pe=M(()=>{"use strict";Yt();d1();js();LS=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(Ft(e,"traceInitPerf")){let 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=ms.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=Jx(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function Dpe(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var Lpe=M(()=>{"use strict";o(Dpe,"applyMixins")});function RS(t=void 0){return function(){return t}}var A1,ms,_1,Gi,gb,yb,js=M(()=>{"use strict";Yt();d1();sde();Up();b1();rpe();cP();lpe();gpe();ype();vpe();xpe();bpe();Tpe();Ape();_pe();Lpe();ub();A1=Qu(yo,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(A1);ms=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Zu,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),_1=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(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"})(Gi||(Gi={}));o(RS,"EMPTY_ALT");gb=class t{static{o(this,"Parser")}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;let r=this.className;this.TRACE_INIT("toFastProps",()=>{eb(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Ae(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=epe({rules:kr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(mr(n)&&this.skipValidations===!1){let i=tpe({rules:kr(this.gastProductionsCache),tokenTypes:kr(this.tokensMap),errMsgProvider:Gl,grammarName:r}),a=Yde({lookaheadStrategy:this.lookaheadStrategy,rules:kr(this.gastProductionsCache),tokenTypes:kr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),mr(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=ade(kr(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:kr(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(kr(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!mr(this.definitionErrors))throw e=rt(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: + ${e.join(` +------------------------------- +`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let 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),Ft(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=Ft(r,"skipValidations")?r.skipValidations:ms.skipValidations}};gb.DEFER_DEFINITION_ERRORS_HANDLING=!1;Dpe(gb,[dS,yS,TS,wS,ES,kS,SS,CS,AS,LS]);yb=class extends gb{static{o(this,"EmbeddedActionsParser")}constructor(e,r=ms){let n=ln(r);n.outputCst=!1,super(e,n)}}});var Rpe=M(()=>{"use strict";ps()});var Npe=M(()=>{"use strict"});var Mpe=M(()=>{"use strict";Rpe();Npe()});var Ipe=M(()=>{"use strict";FO()});var Ff=M(()=>{"use strict";FO();js();rb();Up();E1();uP();b1();C1();QO();ps();ps();Mpe();Ipe()});function qp(t,e,r){return`${t.name}_${e}_${r}`}function Fpe(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};lXe(e,t);let r=t.length;for(let n=0;n$pe(t,e,s));return N1(t,e,n,r,...i)}function pXe(t,e,r){let n=ia(t,e,r,{type:$f});zf(t,n);let i=N1(t,e,n,r,Wp(t,e,r));return mXe(t,e,r,i)}function Wp(t,e,r){let n=Zr(rt(r.definition,i=>$pe(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:yXe(t,n)}function zpe(t,e,r,n,i){let a=n.left,s=n.right,l=ia(t,e,r,{type:oXe});zf(t,l);let u=ia(t,e,r,{type:Bpe});return a.loopback=l,u.loopback=l,t.decisionMap[qp(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,Di(s,l),i===void 0?(Di(l,a),Di(l,u)):(Di(l,u),Di(l,i.left),Di(i.right,a)),{left:a,right:u}}function Gpe(t,e,r,n,i){let a=n.left,s=n.right,l=ia(t,e,r,{type:sXe});zf(t,l);let u=ia(t,e,r,{type:Bpe}),h=ia(t,e,r,{type:aXe});return l.loopback=h,u.loopback=h,Di(l,a),Di(l,u),Di(s,h),i!==void 0?(Di(h,u),Di(h,i.left),Di(i.right,a)):Di(h,l),t.decisionMap[qp(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function mXe(t,e,r,n){let i=n.left,a=n.right;return Di(i,a),t.decisionMap[qp(e,"Option",r.idx)]=i,n}function zf(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function N1(t,e,r,n,...i){let a=ia(t,e,n,{type:iXe,start:r});r.end=a;for(let l of i)l!==void 0?(Di(r,l.left),Di(l.right,a)):Di(r,a);let s={left:r,right:a};return t.decisionMap[qp(e,gXe(n),n.idx)]=r,s}function gXe(t){if(t instanceof Dn)return"Alternation";if(t instanceof dn)return"Option";if(t instanceof zr)return"Repetition";if(t instanceof _n)return"RepetitionWithSeparator";if(t instanceof Bn)return"RepetitionMandatory";if(t instanceof Fn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function yXe(t,e){let r=e.length;for(let a=0;a{"use strict";Vm();ER();Ff();o(qp,"buildATNKey");$f=1,nXe=2,Ope=4,Ppe=5,R1=7,iXe=8,aXe=9,sXe=10,oXe=11,Bpe=12,vb=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},D1=class extends vb{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},xb=class extends vb{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},L1=class extends vb{static{o(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};o(Fpe,"createATN");o(lXe,"createRuleStartAndStopATNStates");o($pe,"atom");o(cXe,"repetition");o(uXe,"repetitionSep");o(hXe,"repetitionMandatory");o(fXe,"repetitionMandatorySep");o(dXe,"alternation");o(pXe,"option");o(Wp,"block");o(zpe,"plus");o(Gpe,"star");o(mXe,"optional");o(zf,"defineDecisionState");o(N1,"makeAlts");o(gXe,"getProdType");o(yXe,"makeBlock");o(xP,"tokenRef");o(vXe,"ruleRef");o(xXe,"buildRuleHandle");o(Di,"epsilon");o(ia,"newState");o(bP,"addTransition");o(bXe,"removeState")});function TP(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var bb,M1,Upe=M(()=>{"use strict";Vm();bb={},M1=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=TP(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return rt(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(TP,"getATNConfigKey")});function TXe(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function qpe(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function wXe(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nKu(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${AXe(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}function AXe(t){if(t instanceof fn)return"SUBRULE";if(t instanceof dn)return"OPTION";if(t instanceof Dn)return"OR";if(t instanceof Bn)return"AT_LEAST_ONE";if(t instanceof Fn)return"AT_LEAST_ONE_SEP";if(t instanceof _n)return"MANY_SEP";if(t instanceof zr)return"MANY";if(t instanceof Ar)return"CONSUME";throw Error("non exhaustive match")}function _Xe(t,e,r){let n=ya(e.configs.elements,a=>a.state.transitions),i=Wae(n.filter(a=>a instanceof D1).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function DXe(t,e){return t.edges[e.tokenTypeIdx]}function LXe(t,e,r){let n=new M1,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===R1){i.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!OXe(a))for(let s of i)a.add(s);return a}function RXe(t,e){if(t instanceof D1&&ib(e,t.tokenType))return t.target}function NXe(t,e){let r;for(let 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}function Ype(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Wpe(t,e,r,n){return n=Xpe(t,n),e.edges[r.tokenTypeIdx]=n,n}function Xpe(t,e){if(e===bb)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function MXe(t){let e=new M1,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};MS(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function zXe(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var NS,Hpe,Tb,jpe=M(()=>{"use strict";Ff();Vpe();Upe();NR();CR();Yae();Vm();Rw();sk();hk();PR();o(TXe,"createDFACache");NS=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=Fpe(e.rules),this.dfas=wXe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=qp(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=rt(uS({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>rt(p,m=>m[0]));if(qpe(d,!1)&&!a){let p=Jr(d,(m,g,y)=>(Ae(g,v=>{v&&(m[v.tokenTypeIdx]=y,Ae(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new NS,g=p===void 0?0:p.length;for(let v=0;vrt(p,m=>m[0]));if(qpe(d)&&d[0][0]&&!a){let p=d[0],m=Qr(p);if(m.length===1&&mr(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=Jr(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Ae(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=wP.call(this,s,f,Hpe,l);return typeof p=="object"?!1:p===0}}};o(qpe,"isLL1Sequence");o(wXe,"initATNSimulator");o(wP,"adaptivePredict");o(kXe,"performLookahead");o(EXe,"computeLookaheadTarget");o(SXe,"reportLookaheadAmbiguity");o(CXe,"buildAmbiguityError");o(AXe,"getProductionDslName");o(_Xe,"buildAdaptivePredictError");o(DXe,"getExistingTargetState");o(LXe,"computeReachSet");o(RXe,"getReachableTarget");o(NXe,"getUniqueAlt");o(Ype,"newDFAState");o(Wpe,"addDFAEdge");o(Xpe,"addDFAState");o(MXe,"computeStartState");o(MS,"closure");o(IXe,"getEpsilonTarget");o(OXe,"hasConfigInRuleStopState");o(PXe,"allConfigsInRuleStopStates");o(BXe,"hasConflictTerminatingPrediction");o(FXe,"getConflictingAltSets");o($Xe,"hasConflictingAltSet");o(zXe,"hasStateAssociatedWithOneAlt")});var Kpe=M(()=>{"use strict";jpe()});var Qpe,kP,Zpe,IS,tn,Gr,OS,Jpe,EP,e0e,t0e,r0e,n0e,SP,i0e,a0e,s0e,PS,I1,O1,CP,P1,o0e,AP,_P,DP,LP,RP,l0e,c0e,NP,u0e,MP,wb,h0e,f0e,d0e,p0e,m0e,g0e,y0e,v0e,BS,x0e,b0e,T0e,w0e,k0e,E0e,S0e,C0e,A0e,_0e,D0e,FS,L0e,R0e,N0e,M0e,I0e,O0e,P0e,B0e,F0e,$0e,z0e,G0e,V0e,IP,OP,U0e,H0e,q0e,W0e,Y0e,X0e,j0e,K0e,Q0e,PP,Ge,BP=M(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(Qpe||(Qpe={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(kP||(kP={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(Zpe||(Zpe={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(IS||(IS={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=IS.MAX_VALUE),i===Number.MAX_VALUE&&(i=IS.MAX_VALUE),{line:n,character:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Ge.uinteger(i.line)&&Ge.uinteger(i.character)}o(r,"is"),t.is=r})(tn||(tn={}));(function(t){function e(n,i,a,s){if(Ge.uinteger(n)&&Ge.uinteger(i)&&Ge.uinteger(a)&&Ge.uinteger(s))return{start:tn.create(n,i),end:tn.create(a,s)};if(tn.is(n)&&tn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&tn.is(i.start)&&tn.is(i.end)}o(r,"is"),t.is=r})(Gr||(Gr={}));(function(t){function e(n,i){return{uri:n,range:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Gr.is(i.range)&&(Ge.string(i.uri)||Ge.undefined(i.uri))}o(r,"is"),t.is=r})(OS||(OS={}));(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Gr.is(i.targetRange)&&Ge.string(i.targetUri)&&Gr.is(i.targetSelectionRange)&&(Gr.is(i.originSelectionRange)||Ge.undefined(i.originSelectionRange))}o(r,"is"),t.is=r})(Jpe||(Jpe={}));(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Ge.numberRange(i.red,0,1)&&Ge.numberRange(i.green,0,1)&&Ge.numberRange(i.blue,0,1)&&Ge.numberRange(i.alpha,0,1)}o(r,"is"),t.is=r})(EP||(EP={}));(function(t){function e(n,i){return{range:n,color:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Gr.is(i.range)&&EP.is(i.color)}o(r,"is"),t.is=r})(e0e||(e0e={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Ge.string(i.label)&&(Ge.undefined(i.textEdit)||O1.is(i))&&(Ge.undefined(i.additionalTextEdits)||Ge.typedArray(i.additionalTextEdits,O1.is))}o(r,"is"),t.is=r})(t0e||(t0e={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(r0e||(r0e={}));(function(t){function e(n,i,a,s,l,u){let h={startLine:n,endLine:i};return Ge.defined(a)&&(h.startCharacter=a),Ge.defined(s)&&(h.endCharacter=s),Ge.defined(l)&&(h.kind=l),Ge.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Ge.uinteger(i.startLine)&&Ge.uinteger(i.startLine)&&(Ge.undefined(i.startCharacter)||Ge.uinteger(i.startCharacter))&&(Ge.undefined(i.endCharacter)||Ge.uinteger(i.endCharacter))&&(Ge.undefined(i.kind)||Ge.string(i.kind))}o(r,"is"),t.is=r})(n0e||(n0e={}));(function(t){function e(n,i){return{location:n,message:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&OS.is(i.location)&&Ge.string(i.message)}o(r,"is"),t.is=r})(SP||(SP={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(i0e||(i0e={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(a0e||(a0e={}));(function(t){function e(r){let n=r;return Ge.objectLiteral(n)&&Ge.string(n.href)}o(e,"is"),t.is=e})(s0e||(s0e={}));(function(t){function e(n,i,a,s,l,u){let h={range:n,message:i};return Ge.defined(a)&&(h.severity=a),Ge.defined(s)&&(h.code=s),Ge.defined(l)&&(h.source=l),Ge.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(n){var i;let a=n;return Ge.defined(a)&&Gr.is(a.range)&&Ge.string(a.message)&&(Ge.number(a.severity)||Ge.undefined(a.severity))&&(Ge.integer(a.code)||Ge.string(a.code)||Ge.undefined(a.code))&&(Ge.undefined(a.codeDescription)||Ge.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(Ge.string(a.source)||Ge.undefined(a.source))&&(Ge.undefined(a.relatedInformation)||Ge.typedArray(a.relatedInformation,SP.is))}o(r,"is"),t.is=r})(PS||(PS={}));(function(t){function e(n,i,...a){let s={title:n,command:i};return Ge.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Ge.string(i.title)&&Ge.string(i.command)}o(r,"is"),t.is=r})(I1||(I1={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}o(n,"del"),t.del=n;function i(a){let s=a;return Ge.objectLiteral(s)&&Ge.string(s.newText)&&Gr.is(s.range)}o(i,"is"),t.is=i})(O1||(O1={}));(function(t){function e(n,i,a){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Ge.string(i.label)&&(Ge.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(Ge.string(i.description)||i.description===void 0)}o(r,"is"),t.is=r})(CP||(CP={}));(function(t){function e(r){let n=r;return Ge.string(n)}o(e,"is"),t.is=e})(P1||(P1={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}o(n,"del"),t.del=n;function i(a){let s=a;return O1.is(s)&&(CP.is(s.annotationId)||P1.is(s.annotationId))}o(i,"is"),t.is=i})(o0e||(o0e={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&NP.is(i.textDocument)&&Array.isArray(i.edits)}o(r,"is"),t.is=r})(AP||(AP={}));(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&Ge.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||Ge.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Ge.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||P1.is(i.annotationId))}o(r,"is"),t.is=r})(_P||(_P={}));(function(t){function e(n,i,a,s){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&Ge.string(i.oldUri)&&Ge.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||Ge.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Ge.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||P1.is(i.annotationId))}o(r,"is"),t.is=r})(DP||(DP={}));(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&Ge.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||Ge.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||Ge.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||P1.is(i.annotationId))}o(r,"is"),t.is=r})(LP||(LP={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>Ge.string(i.kind)?_P.is(i)||DP.is(i)||LP.is(i):AP.is(i)))}o(e,"is"),t.is=e})(RP||(RP={}));(function(t){function e(n){return{uri:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Ge.string(i.uri)}o(r,"is"),t.is=r})(l0e||(l0e={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Ge.string(i.uri)&&Ge.integer(i.version)}o(r,"is"),t.is=r})(c0e||(c0e={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Ge.string(i.uri)&&(i.version===null||Ge.integer(i.version))}o(r,"is"),t.is=r})(NP||(NP={}));(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Ge.string(i.uri)&&Ge.string(i.languageId)&&Ge.integer(i.version)&&Ge.string(i.text)}o(r,"is"),t.is=r})(u0e||(u0e={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}o(e,"is"),t.is=e})(MP||(MP={}));(function(t){function e(r){let n=r;return Ge.objectLiteral(r)&&MP.is(n.kind)&&Ge.string(n.value)}o(e,"is"),t.is=e})(wb||(wb={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(h0e||(h0e={}));(function(t){t.PlainText=1,t.Snippet=2})(f0e||(f0e={}));(function(t){t.Deprecated=1})(d0e||(d0e={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ge.string(i.newText)&&Gr.is(i.insert)&&Gr.is(i.replace)}o(r,"is"),t.is=r})(p0e||(p0e={}));(function(t){t.asIs=1,t.adjustIndentation=2})(m0e||(m0e={}));(function(t){function e(r){let n=r;return n&&(Ge.string(n.detail)||n.detail===void 0)&&(Ge.string(n.description)||n.description===void 0)}o(e,"is"),t.is=e})(g0e||(g0e={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(y0e||(y0e={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}o(e,"create"),t.create=e})(v0e||(v0e={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return Ge.string(i)||Ge.objectLiteral(i)&&Ge.string(i.language)&&Ge.string(i.value)}o(r,"is"),t.is=r})(BS||(BS={}));(function(t){function e(r){let n=r;return!!n&&Ge.objectLiteral(n)&&(wb.is(n.contents)||BS.is(n.contents)||Ge.typedArray(n.contents,BS.is))&&(r.range===void 0||Gr.is(r.range))}o(e,"is"),t.is=e})(x0e||(x0e={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}o(e,"create"),t.create=e})(b0e||(b0e={}));(function(t){function e(r,n,...i){let a={label:r};return Ge.defined(n)&&(a.documentation=n),Ge.defined(i)?a.parameters=i:a.parameters=[],a}o(e,"create"),t.create=e})(T0e||(T0e={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(w0e||(w0e={}));(function(t){function e(r,n){let i={range:r};return Ge.number(n)&&(i.kind=n),i}o(e,"create"),t.create=e})(k0e||(k0e={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(E0e||(E0e={}));(function(t){t.Deprecated=1})(S0e||(S0e={}));(function(t){function e(r,n,i,a,s){let l={name:r,kind:n,location:{uri:a,range:i}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(C0e||(C0e={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}o(e,"create"),t.create=e})(A0e||(A0e={}));(function(t){function e(n,i,a,s,l,u){let h={name:n,detail:i,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ge.string(i.name)&&Ge.number(i.kind)&&Gr.is(i.range)&&Gr.is(i.selectionRange)&&(i.detail===void 0||Ge.string(i.detail))&&(i.deprecated===void 0||Ge.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}o(r,"is"),t.is=r})(_0e||(_0e={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(D0e||(D0e={}));(function(t){t.Invoked=1,t.Automatic=2})(FS||(FS={}));(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Ge.typedArray(i.diagnostics,PS.is)&&(i.only===void 0||Ge.typedArray(i.only,Ge.string))&&(i.triggerKind===void 0||i.triggerKind===FS.Invoked||i.triggerKind===FS.Automatic)}o(r,"is"),t.is=r})(L0e||(L0e={}));(function(t){function e(n,i,a){let s={title:n},l=!0;return typeof i=="string"?(l=!1,s.kind=i):I1.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ge.string(i.title)&&(i.diagnostics===void 0||Ge.typedArray(i.diagnostics,PS.is))&&(i.kind===void 0||Ge.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||I1.is(i.command))&&(i.isPreferred===void 0||Ge.boolean(i.isPreferred))&&(i.edit===void 0||RP.is(i.edit))}o(r,"is"),t.is=r})(R0e||(R0e={}));(function(t){function e(n,i){let a={range:n};return Ge.defined(i)&&(a.data=i),a}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Gr.is(i.range)&&(Ge.undefined(i.command)||I1.is(i.command))}o(r,"is"),t.is=r})(N0e||(N0e={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Ge.uinteger(i.tabSize)&&Ge.boolean(i.insertSpaces)}o(r,"is"),t.is=r})(M0e||(M0e={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Gr.is(i.range)&&(Ge.undefined(i.target)||Ge.string(i.target))}o(r,"is"),t.is=r})(I0e||(I0e={}));(function(t){function e(n,i){return{range:n,parent:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&Gr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}o(r,"is"),t.is=r})(O0e||(O0e={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(P0e||(P0e={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(B0e||(B0e={}));(function(t){function e(r){let n=r;return Ge.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}o(e,"is"),t.is=e})(F0e||(F0e={}));(function(t){function e(n,i){return{range:n,text:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Gr.is(i.range)&&Ge.string(i.text)}o(r,"is"),t.is=r})($0e||($0e={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Gr.is(i.range)&&Ge.boolean(i.caseSensitiveLookup)&&(Ge.string(i.variableName)||i.variableName===void 0)}o(r,"is"),t.is=r})(z0e||(z0e={}));(function(t){function e(n,i){return{range:n,expression:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Gr.is(i.range)&&(Ge.string(i.expression)||i.expression===void 0)}o(r,"is"),t.is=r})(G0e||(G0e={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.defined(i)&&Gr.is(n.stoppedLocation)}o(r,"is"),t.is=r})(V0e||(V0e={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(IP||(IP={}));(function(t){function e(n){return{value:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&(i.tooltip===void 0||Ge.string(i.tooltip)||wb.is(i.tooltip))&&(i.location===void 0||OS.is(i.location))&&(i.command===void 0||I1.is(i.command))}o(r,"is"),t.is=r})(OP||(OP={}));(function(t){function e(n,i,a){let s={position:n,label:i};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ge.objectLiteral(i)&&tn.is(i.position)&&(Ge.string(i.label)||Ge.typedArray(i.label,OP.is))&&(i.kind===void 0||IP.is(i.kind))&&i.textEdits===void 0||Ge.typedArray(i.textEdits,O1.is)&&(i.tooltip===void 0||Ge.string(i.tooltip)||wb.is(i.tooltip))&&(i.paddingLeft===void 0||Ge.boolean(i.paddingLeft))&&(i.paddingRight===void 0||Ge.boolean(i.paddingRight))}o(r,"is"),t.is=r})(U0e||(U0e={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(H0e||(H0e={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}o(e,"create"),t.create=e})(q0e||(q0e={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(W0e||(W0e={}));(function(t){t.Invoked=0,t.Automatic=1})(Y0e||(Y0e={}));(function(t){function e(r,n){return{range:r,text:n}}o(e,"create"),t.create=e})(X0e||(X0e={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}o(e,"create"),t.create=e})(j0e||(j0e={}));(function(t){function e(r){let n=r;return Ge.objectLiteral(n)&&kP.is(n.uri)&&Ge.string(n.name)}o(e,"is"),t.is=e})(K0e||(K0e={}));(function(t){function e(a,s,l,u){return new PP(a,s,l,u)}o(e,"create"),t.create=e;function r(a){let s=a;return!!(Ge.defined(s)&&Ge.string(s.uri)&&(Ge.undefined(s.languageId)||Ge.string(s.languageId))&&Ge.uinteger(s.lineCount)&&Ge.func(s.getText)&&Ge.func(s.positionAt)&&Ge.func(s.offsetAt))}o(r,"is"),t.is=r;function n(a,s){let l=a.getText(),u=i(s,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(n,"applyEdits"),t.applyEdits=n;function i(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,s),i(h,s);let f=0,d=0,p=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return tn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return tn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}o(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}o(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})(Ge||(Ge={}))});var kb,Eb,Yp,Xp,FP,B1,$S=M(()=>{"use strict";BP();Bl();kb=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new B1(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Xp;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Yp(e.startOffset,e.image.length,xg(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let a of e){let s=new Yp(a.startOffset,a.image.length,xg(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;){let 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){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Eb=class{static{o(this,"AbstractCstNode")}get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,r;let n=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(r=this.container)===null||r===void 0?void 0:r.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},Yp=class extends Eb{static{o(this,"LeafCstNodeImpl")}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}},Xp=class extends Eb{static{o(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new FP(this)}get children(){return this.content}get offset(){var e,r;return(r=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&r!==void 0?r:0}get length(){return this.end-this.offset}get end(){var e,r;return(r=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&r!==void 0?r:0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},FP=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.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(let r of e)r.container=this.parent}},B1=class extends Xp{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function $P(t){return t.$type===zS}var zS,Z0e,J0e,Sb,Cb,GS,F1,Ab,GXe,zP,_b=M(()=>{"use strict";Ff();Kpe();Hc();zl();hs();$S();zS=Symbol("Datatype");o($P,"isDataTypeNode");Z0e="\u200B",J0e=o(t=>t.endsWith(Z0e)?t:t+Z0e,"withRuleSuffix"),Sb=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";this.wrapper=new zP(r,Object.assign(Object.assign({},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()}},Cb=class extends Sb{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new kb,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(J0e(e.name),this.startImplementation(n,r).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(Kx(e))return zS;{let r=c1(e);return r??e.name}}}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let 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.");let a=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:a,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{let i=!this.isRecording()&&e!==void 0;if(i){let s={$type:e};this.stack.push(s),e===zS&&(s.value="")}let a;try{a=r(n)}catch{a=void 0}return a===void 0&&i&&(a=this.construct()),a}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,isCrossRef:u}=this.getAssignment(n),h=this.current;if(l){let f=Zo(n)?i.image:this.converter.convert(i.image,s);this.assign(l.operator,l.feature,f,s,u)}else if($P(h)){let f=i.image;Zo(n)||(f=this.converter.convert(f,s).toString()),h.value+=f}}}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 l=this.wrapper.wrapSubrule(e,r,a);!this.isRecording()&&s&&s.length>0&&this.performSubruleAssignment(l,i,s)}performSubruleAssignment(e,r,n){let{assignment:i,isCrossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let s=this.current;if($P(s))s.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(u)}}}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);let a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode,!1)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.current;return GE(e),this.nodeBuilder.construct(e),this.stack.pop(),$P(e)?this.converter.convert(e.value,e.$cstNode):(gO(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Ip(e,Fl);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Mp(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let s=this.current,l;switch(a&&typeof n=="string"?l=this.linker.buildReference(s,r,i,n):l=n,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[i,a]of Object.entries(r)){let s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},GS=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Zu.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Zu.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Zu.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Zu.buildEarlyExitMessage(e)}},F1=class extends GS{static{o(this,"LangiumParserErrorMessageProvider")}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}\`.`}},Ab=class extends Sb{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let 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){let n=this.wrapper.DEFINE_RULE(J0e(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=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let 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()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},GXe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new F1},zP=class extends yb{static{o(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},GXe),{lookaheadStrategy:n?new Ju({maxLookahead:r.maxLookahead}):new Tb({logging:r.skipValidations?()=>{}:void 0})}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}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)}}});function Db(t,e,r){return VXe({parser:e,tokens:r,ruleNames:new Map},t),e}function VXe(t,e){let r=Xx(e,!1),n=an(e.rules).filter(Va).filter(i=>r.has(i));for(let i of n){let a=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,jp(a,i.definition))}}function jp(t,e,r=!1){let n;if(Zo(e))n=jXe(t,e);else if(qu(e))n=UXe(t,e);else if(Fl(e))n=jp(t,e.terminal);else if(Mp(e))n=eme(t,e);else if($l(e))n=HXe(t,e);else if(FE(e))n=WXe(t,e);else if(zE(e))n=YXe(t,e);else if(Of(e))n=XXe(t,e);else if(oO(e)){let i=t.consume++;n=o(()=>t.parser.consume(i,yo,e),"method")}else throw new Rp(e.$cstNode,`Unexpected element type: ${e.$type}`);return tme(t,r?void 0:VS(e),n,e.cardinality)}function UXe(t,e){let r=Qx(e);return()=>t.parser.action(r,e)}function HXe(t,e){let r=e.rule.ref;if(Va(r)){let n=t.subrule++,i=r.fragment,a=e.arguments.length>0?qXe(r,e.arguments):()=>({});return s=>t.parser.subrule(n,rme(t,r),i,e,a(s))}else if(mo(r)){let n=t.consume++,i=GP(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Uc(r);else throw new Rp(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function qXe(t,e){let r=e.map(n=>eh(n.value));return n=>{let i={};for(let a=0;ae(n)||r(n)}else if(JI(t)){let e=eh(t.left),r=eh(t.right);return n=>e(n)&&r(n)}else if(tO(t)){let e=eh(t.value);return r=>!e(r)}else if(rO(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(ZI(t)){let e=!!t.true;return()=>e}Uc(t)}function WXe(t,e){if(e.elements.length===1)return jp(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:jp(t,i,!0)},s=VS(i);s&&(a.GATE=eh(s)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let s={ALT:o(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(i)),s}))}}function YXe(t,e){if(e.elements.length===1)return jp(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:jp(t,l,!0)},h=VS(l);h&&(u.GATE=eh(h)),r.push(u)}let n=t.or++,i=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>{let m=d.unorderedGroups.get(i(n,d));return!m?.[h]},f})),"alternatives"),s=tme(t,VS(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function XXe(t,e){let r=e.elements.map(n=>jp(t,n));return n=>r.forEach(i=>i(n))}function VS(t){if(Of(t))return t.guardCondition}function eme(t,e,r=e.terminal){if(r)if($l(r)&&Va(r.rule.ref)){let n=r.rule.ref,i=t.subrule++;return a=>t.parser.subrule(i,rme(t,n),!1,e,a)}else if($l(r)&&mo(r.rule.ref)){let n=t.consume++,i=GP(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Zo(r)){let n=t.consume++,i=GP(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);let n=WE(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Qx(e.type.ref));return eme(t,e,i)}}function jXe(t,e){let 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)}function tme(t,e,r,n){let i=e&&eh(e);if(!n)if(i){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>i(s),"GATE")},{ALT:RS(),GATE:o(()=>!i(s),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){let a=t.many++;if(i){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>i(l),"GATE")},{ALT:RS(),GATE:o(()=>!i(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(n==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else Uc(n)}function rme(t,e){let r=KXe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function KXe(t,e){if(Va(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Va(n);)(Of(n)||FE(n)||zE(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function GP(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var US=M(()=>{"use strict";Ff();Hc();ME();Ys();zl();o(Db,"createParser");o(VXe,"buildRules");o(jp,"buildElement");o(UXe,"buildAction");o(HXe,"buildRuleCall");o(qXe,"buildRuleCallPredicate");o(eh,"buildPredicate");o(WXe,"buildAlternatives");o(YXe,"buildUnorderedGroup");o(XXe,"buildGroup");o(VS,"getGuardCondition");o(eme,"buildCrossReference");o(jXe,"buildKeyword");o(tme,"wrap");o(rme,"getRule");o(KXe,"getRuleName");o(GP,"getToken")});function VP(t){let e=t.Grammar,r=t.parser.Lexer,n=new Ab(t);return Db(e,n,r.definition),n.finalize(),n}var UP=M(()=>{"use strict";_b();US();o(VP,"createCompletionParser")});function HP(t){let e=nme(t);return e.finalize(),e}function nme(t){let e=t.Grammar,r=t.parser.Lexer,n=new Cb(t);return Db(e,n,r.definition)}var qP=M(()=>{"use strict";_b();US();o(HP,"createLangiumParser");o(nme,"prepareLangiumParser")});var th,HS=M(()=>{"use strict";Ff();Hc();hs();zl();l1();Ys();th=class{static{o(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=an(Xx(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return i.forEach(s=>{let l=s.PATTERN;typeof l=="object"&&l&&"test"in l&&o1(l)?a.unshift(s):a.push(s)}),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(mo).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=u1(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=o1(r)?Zn.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Va).flatMap(i=>qc(i).filter(Zo)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let 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(kO(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&EO("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var Kp,Xc,WP=M(()=>{"use strict";Hc();zl();Kp=class{static{o(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(Mp(n)&&(n=AO(n)),$l(n)){let 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 Xc.convertInt(r);case"STRING":return Xc.convertString(r);case"ID":return Xc.convertID(r)}switch((i=IO(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return Xc.convertNumber(r);case"boolean":return Xc.convertBoolean(r);case"bigint":return Xc.convertBigint(r);case"date":return Xc.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(jP,"__esModule",{value:!0});var YP;function XP(){if(YP===void 0)throw new Error("No runtime abstraction layer installed");return YP}o(XP,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");YP=r}o(e,"install"),t.install=e})(XP||(XP={}));jP.default=XP});var sme=sa(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.stringArray=Ha.array=Ha.func=Ha.error=Ha.number=Ha.string=Ha.boolean=void 0;function QXe(t){return t===!0||t===!1}o(QXe,"boolean");Ha.boolean=QXe;function ime(t){return typeof t=="string"||t instanceof String}o(ime,"string");Ha.string=ime;function ZXe(t){return typeof t=="number"||t instanceof Number}o(ZXe,"number");Ha.number=ZXe;function JXe(t){return t instanceof Error}o(JXe,"error");Ha.error=JXe;function eje(t){return typeof t=="function"}o(eje,"func");Ha.func=eje;function ame(t){return Array.isArray(t)}o(ame,"array");Ha.array=ame;function tje(t){return ame(t)&&t.every(e=>ime(e))}o(tje,"stringArray");Ha.stringArray=tje});var ZP=sa($1=>{"use strict";Object.defineProperty($1,"__esModule",{value:!0});$1.Emitter=$1.Event=void 0;var rje=KP(),ome;(function(t){let e={dispose(){}};t.None=function(){return e}})(ome||($1.Event=ome={}));var QP=class{static{o(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new QP),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};$1.Emitter=qS;qS._noop=function(){}});var lme=sa(z1=>{"use strict";Object.defineProperty(z1,"__esModule",{value:!0});z1.CancellationTokenSource=z1.CancellationToken=void 0;var nje=KP(),ije=sme(),JP=ZP(),WS;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:JP.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:JP.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||ije.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}o(e,"is"),t.is=e})(WS||(z1.CancellationToken=WS={}));var aje=Object.freeze(function(t,e){let r=(0,nje.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),YS=class{static{o(this,"MutableToken")}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?aje:(this._emitter||(this._emitter=new JP.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},eB=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new YS),this._token}cancel(){this._token?this._token.cancel():this._token=WS.Cancelled}dispose(){this._token?this._token instanceof YS&&this._token.dispose():this._token=WS.None}};z1.CancellationTokenSource=eB});var br={};var el=M(()=>{"use strict";Lr(br,La(lme(),1))});function tB(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function jS(){return XS=performance.now(),new br.CancellationTokenSource}function ume(t){cme=t}function Kc(t){return t===jc}async function bi(t){if(t===br.CancellationToken.None)return;let e=performance.now();if(e-XS>=cme&&(XS=e,await tB(),XS=performance.now()),t.isCancellationRequested)throw jc}var XS,cme,jc,gs,tl=M(()=>{"use strict";el();o(tB,"delayNextTick");XS=0,cme=10;o(jS,"startCancelableOperation");o(ume,"setInterruptionPeriod");jc=Symbol("OperationCancelled");o(Kc,"isOperationCancelled");o(bi,"interruptAndCheck");gs=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function rB(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);rB(n,e),rB(i,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function sje(t){let e=dme(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var KS,G1,pme=M(()=>{"use strict";KS=class t{static{o(this,"FullTextDocument")}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){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=dme(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);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=hme(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=s:n=s+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&fme(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,s,l){return new KS(i,a,s,l)}o(e,"create"),t.create=e;function r(i,a,s){if(i instanceof KS)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function n(i,a){let s=i.getText(),l=rB(a.map(sje),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(n,"applyEdits"),t.applyEdits=n})(G1||(G1={}));o(rB,"mergeSort");o(hme,"computeLineOffsets");o(fme,"isEOL");o(dme,"getWellformedRange");o(sje,"getWellformedEdit")});var mme,ys,V1,nB=M(()=>{"use strict";(()=>{"use strict";var t={470:i=>{function a(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}o(a,"e");function s(u,h){for(var f,d="",p=0,m=-1,g=0,y=0;y<=u.length;++y){if(y2){var v=d.lastIndexOf("/");if(v!==d.length-1){v===-1?(d="",p=0):p=(d=d.slice(0,v)).length-1-d.lastIndexOf("/"),m=y,g=0;continue}}else if(d.length===2||d.length===1){d="",p=0,m=y,g=0;continue}}h&&(d.length>0?d+="/..":d="..",p=2)}else d.length>0?d+="/"+u.slice(m+1,y):d=u.slice(m+1,y),p=y-m-1;m=y,g=0}else f===46&&g!==-1?++g:g=-1}return d}o(s,"r");var l={resolve:o(function(){for(var u,h="",f=!1,d=arguments.length-1;d>=-1&&!f;d--){var p;d>=0?p=arguments[d]:(u===void 0&&(u=process.cwd()),p=u),a(p),p.length!==0&&(h=p+"/"+h,f=p.charCodeAt(0)===47)}return h=s(h,!f),f?h.length>0?"/"+h:"/":h.length>0?h:"."},"resolve"),normalize:o(function(u){if(a(u),u.length===0)return".";var h=u.charCodeAt(0)===47,f=u.charCodeAt(u.length-1)===47;return(u=s(u,!h)).length!==0||h||(u="."),u.length>0&&f&&(u+="/"),h?"/"+u:u},"normalize"),isAbsolute:o(function(u){return a(u),u.length>0&&u.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var u,h=0;h0&&(u===void 0?u=f:u+="/"+f)}return u===void 0?".":l.normalize(u)},"join"),relative:o(function(u,h){if(a(u),a(h),u===h||(u=l.resolve(u))===(h=l.resolve(h)))return"";for(var f=1;fy){if(h.charCodeAt(m+x)===47)return h.slice(m+x+1);if(x===0)return h.slice(m+x)}else p>y&&(u.charCodeAt(f+x)===47?v=x:x===0&&(v=0));break}var b=u.charCodeAt(f+x);if(b!==h.charCodeAt(m+x))break;b===47&&(v=x)}var T="";for(x=f+v+1;x<=d;++x)x!==d&&u.charCodeAt(x)!==47||(T.length===0?T+="..":T+="/..");return T.length>0?T+h.slice(m+v):(m+=v,h.charCodeAt(m)===47&&++m,h.slice(m))},"relative"),_makeLong:o(function(u){return u},"_makeLong"),dirname:o(function(u){if(a(u),u.length===0)return".";for(var h=u.charCodeAt(0),f=h===47,d=-1,p=!0,m=u.length-1;m>=1;--m)if((h=u.charCodeAt(m))===47){if(!p){d=m;break}}else p=!1;return d===-1?f?"/":".":f&&d===1?"//":u.slice(0,d)},"dirname"),basename:o(function(u,h){if(h!==void 0&&typeof h!="string")throw new TypeError('"ext" argument must be a string');a(u);var f,d=0,p=-1,m=!0;if(h!==void 0&&h.length>0&&h.length<=u.length){if(h.length===u.length&&h===u)return"";var g=h.length-1,y=-1;for(f=u.length-1;f>=0;--f){var v=u.charCodeAt(f);if(v===47){if(!m){d=f+1;break}}else y===-1&&(m=!1,y=f+1),g>=0&&(v===h.charCodeAt(g)?--g==-1&&(p=f):(g=-1,p=y))}return d===p?p=y:p===-1&&(p=u.length),u.slice(d,p)}for(f=u.length-1;f>=0;--f)if(u.charCodeAt(f)===47){if(!m){d=f+1;break}}else p===-1&&(m=!1,p=f+1);return p===-1?"":u.slice(d,p)},"basename"),extname:o(function(u){a(u);for(var h=-1,f=0,d=-1,p=!0,m=0,g=u.length-1;g>=0;--g){var y=u.charCodeAt(g);if(y!==47)d===-1&&(p=!1,d=g+1),y===46?h===-1?h=g:m!==1&&(m=1):h!==-1&&(m=-1);else if(!p){f=g+1;break}}return h===-1||d===-1||m===0||m===1&&h===d-1&&h===f+1?"":u.slice(h,d)},"extname"),format:o(function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return(function(h,f){var d=f.dir||f.root,p=f.base||(f.name||"")+(f.ext||"");return d?d===f.root?d+p:d+"/"+p:p})(0,u)},"format"),parse:o(function(u){a(u);var h={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return h;var f,d=u.charCodeAt(0),p=d===47;p?(h.root="/",f=1):f=0;for(var m=-1,g=0,y=-1,v=!0,x=u.length-1,b=0;x>=f;--x)if((d=u.charCodeAt(x))!==47)y===-1&&(v=!1,y=x+1),d===46?m===-1?m=x:b!==1&&(b=1):m!==-1&&(b=-1);else if(!v){g=x+1;break}return m===-1||y===-1||b===0||b===1&&m===y-1&&m===g+1?y!==-1&&(h.base=h.name=g===0&&p?u.slice(1,y):u.slice(g,y)):(g===0&&p?(h.name=u.slice(1,m),h.base=u.slice(1,y)):(h.name=u.slice(g,m),h.base=u.slice(g,y)),h.ext=u.slice(m,y)),g>0?h.dir=u.slice(0,g-1):p&&(h.dir="/"),h},"parse"),sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,i.exports=l}},e={};function r(i){var a=e[i];if(a!==void 0)return a.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}o(r,"r"),r.d=(i,a)=>{for(var s in a)r.o(a,s)&&!r.o(i,s)&&Object.defineProperty(i,s,{enumerable:!0,get:a[s]})},r.o=(i,a)=>Object.prototype.hasOwnProperty.call(i,a),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:o(()=>p,"URI"),Utils:o(()=>I,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(R,E){if(!R.scheme&&E)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${R.authority}", path: "${R.path}", query: "${R.query}", fragment: "${R.fragment}"}`);if(R.scheme&&!a.test(R.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(R.path){if(R.authority){if(!s.test(R.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(l.test(R.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"s");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"f")}static isUri(E){return E instanceof p||!!E&&typeof E.authority=="string"&&typeof E.fragment=="string"&&typeof E.path=="string"&&typeof E.query=="string"&&typeof E.scheme=="string"&&typeof E.fsPath=="string"&&typeof E.with=="function"&&typeof E.toString=="function"}scheme;authority;path;query;fragment;constructor(E,_,D,O,N,P=!1){typeof E=="object"?(this.scheme=E.scheme||h,this.authority=E.authority||h,this.path=E.path||h,this.query=E.query||h,this.fragment=E.fragment||h):(this.scheme=(function(B,F){return B||F?B:"file"})(E,P),this.authority=_||h,this.path=(function(B,F){switch(B){case"https":case"http":case"file":F?F[0]!==f&&(F=f+F):F=f}return F})(this.scheme,D||h),this.query=O||h,this.fragment=N||h,u(this,P))}get fsPath(){return b(this,!1)}with(E){if(!E)return this;let{scheme:_,authority:D,path:O,query:N,fragment:P}=E;return _===void 0?_=this.scheme:_===null&&(_=h),D===void 0?D=this.authority:D===null&&(D=h),O===void 0?O=this.path:O===null&&(O=h),N===void 0?N=this.query:N===null&&(N=h),P===void 0?P=this.fragment:P===null&&(P=h),_===this.scheme&&D===this.authority&&O===this.path&&N===this.query&&P===this.fragment?this:new g(_,D,O,N,P)}static parse(E,_=!1){let D=d.exec(E);return D?new g(D[2]||h,k(D[4]||h),k(D[5]||h),k(D[7]||h),k(D[9]||h),_):new g(h,h,h,h,h)}static file(E){let _=h;if(i&&(E=E.replace(/\\/g,f)),E[0]===f&&E[1]===f){let D=E.indexOf(f,2);D===-1?(_=E.substring(2),E=f):(_=E.substring(2,D),E=E.substring(D)||f)}return new g("file",_,E,h,h)}static from(E){let _=new g(E.scheme,E.authority,E.path,E.query,E.fragment);return u(_,!0),_}toString(E=!1){return T(this,E)}toJSON(){return this}static revive(E){if(E){if(E instanceof p)return E;{let _=new g(E);return _._formatted=E.external,_._fsPath=E._sep===m?E.fsPath:null,_}}return E}}let m=i?1:void 0;class g extends p{static{o(this,"l")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(E=!1){return E?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let E={$mid:1};return this._fsPath&&(E.fsPath=this._fsPath,E._sep=m),this._formatted&&(E.external=this._formatted),this.path&&(E.path=this.path),this.scheme&&(E.scheme=this.scheme),this.authority&&(E.authority=this.authority),this.query&&(E.query=this.query),this.fragment&&(E.fragment=this.fragment),E}}let y={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 v(R,E,_){let D,O=-1;for(let N=0;N=97&&P<=122||P>=65&&P<=90||P>=48&&P<=57||P===45||P===46||P===95||P===126||E&&P===47||_&&P===91||_&&P===93||_&&P===58)O!==-1&&(D+=encodeURIComponent(R.substring(O,N)),O=-1),D!==void 0&&(D+=R.charAt(N));else{D===void 0&&(D=R.substr(0,N));let B=y[P];B!==void 0?(O!==-1&&(D+=encodeURIComponent(R.substring(O,N)),O=-1),D+=B):O===-1&&(O=N)}}return O!==-1&&(D+=encodeURIComponent(R.substring(O))),D!==void 0?D:R}o(v,"d");function x(R){let E;for(let _=0;_1&&R.scheme==="file"?`//${R.authority}${R.path}`:R.path.charCodeAt(0)===47&&(R.path.charCodeAt(1)>=65&&R.path.charCodeAt(1)<=90||R.path.charCodeAt(1)>=97&&R.path.charCodeAt(1)<=122)&&R.path.charCodeAt(2)===58?E?R.path.substr(1):R.path[1].toLowerCase()+R.path.substr(2):R.path,i&&(_=_.replace(/\//g,"\\")),_}o(b,"m");function T(R,E){let _=E?x:v,D="",{scheme:O,authority:N,path:P,query:B,fragment:F}=R;if(O&&(D+=O,D+=":"),(N||O==="file")&&(D+=f,D+=f),N){let V=N.indexOf("@");if(V!==-1){let $=N.substr(0,V);N=N.substr(V+1),V=$.lastIndexOf(":"),V===-1?D+=_($,!1,!1):(D+=_($.substr(0,V),!1,!1),D+=":",D+=_($.substr(V+1),!1,!0)),D+="@"}N=N.toLowerCase(),V=N.lastIndexOf(":"),V===-1?D+=_(N,!1,!0):(D+=_(N.substr(0,V),!1,!0),D+=N.substr(V))}if(P){if(P.length>=3&&P.charCodeAt(0)===47&&P.charCodeAt(2)===58){let V=P.charCodeAt(1);V>=65&&V<=90&&(P=`/${String.fromCharCode(V+32)}:${P.substr(3)}`)}else if(P.length>=2&&P.charCodeAt(1)===58){let V=P.charCodeAt(0);V>=65&&V<=90&&(P=`${String.fromCharCode(V+32)}:${P.substr(2)}`)}D+=_(P,!0,!1)}return B&&(D+="?",D+=_(B,!1,!1)),F&&(D+="#",D+=E?F:v(F,!1,!1)),D}o(T,"y");function S(R){try{return decodeURIComponent(R)}catch{return R.length>3?R.substr(0,3)+S(R.substr(3)):R}}o(S,"v");let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(R){return R.match(w)?R.replace(w,(E=>S(E))):R}o(k,"C");var C=r(470);let A=C.posix||C,L="/";var I;(function(R){R.joinPath=function(E,..._){return E.with({path:A.join(E.path,..._)})},R.resolvePath=function(E,..._){let D=E.path,O=!1;D[0]!==L&&(D=L+D,O=!0);let N=A.resolve(D,..._);return O&&N[0]===L&&!E.authority&&(N=N.substring(1)),E.with({path:N})},R.dirname=function(E){if(E.path.length===0||E.path===L)return E;let _=A.dirname(E.path);return _.length===1&&_.charCodeAt(0)===46&&(_=""),E.with({path:_})},R.basename=function(E){return A.basename(E.path)},R.extname=function(E){return A.extname(E.path)}})(I||(I={}))})(),mme=n})();({URI:ys,Utils:V1}=mme)});var vs,Qc=M(()=>{"use strict";nB();(function(t){t.basename=V1.basename,t.dirname=V1.dirname,t.extname=V1.extname,t.joinPath=V1.joinPath,t.resolvePath=V1.resolvePath;function e(i,a){return i?.toString()===a?.toString()}o(e,"equals"),t.equals=e;function r(i,a){let s=typeof i=="string"?i:i.path,l=typeof a=="string"?a:a.path,u=s.split("/").filter(m=>m.length>0),h=l.split("/").filter(m=>m.length>0),f=0;for(;f{"use strict";pme();U1();el();Ys();Qc();(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"})(Ln||(Ln={}));Lb=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=br.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ys.parse(e.uri),br.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return br.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"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let 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:Ln.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:Ln.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){var n,i;let a=(n=e.parseResult.value.$cstNode)===null||n===void 0?void 0:n.root.fullText,s=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),l=s?s.getText():await this.fileSystemProvider.readFile(e.uri);if(s)Object.defineProperty(e,"textDocument",{value:s});else{let u=this.createTextDocumentGetter(e.uri,l);Object.defineProperty(e,"textDocument",{get:u})}return a!==l&&(e.parseResult=await this.parseAsync(e.uri,l,r),e.parseResult.value.$document=e),e.state=Ln.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){let n=this.serviceRegistry,i;return()=>i??(i=G1.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Rb=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return an(this.documentMap.values())}addDocument(e){let r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getDocument(e){let r=e.toString();return this.documentMap.get(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));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(this.serviceRegistry.getServices(e).references.Linker.unlink(n),n.state=Ln.Changed,n.precomputedScopes=void 0,n.diagnostics=void 0),n}deleteDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=Ln.Changed,this.documentMap.delete(r)),n}}});var iB,Nb,aB=M(()=>{"use strict";el();Pl();hs();tl();U1();iB=Symbol("ref_resolving"),Nb=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=br.CancellationToken.None){for(let n of Jo(e.parseResult.value))await bi(r),a1(n).forEach(i=>this.doLink(i,e))}doLink(e,r){var n;let i=e.reference;if(i._ref===void 0){i._ref=iB;try{let a=this.getCandidate(e);if(_p(a))i._ref=a;else if(i._nodeDescription=a,this.langiumDocuments().hasDocument(a.documentUri)){let s=this.loadAstNode(a);i._ref=s??this.createLinkingError(e,a)}else i._ref=void 0}catch(a){console.error(`An error occurred while resolving reference to '${i.$refText}':`,a);let s=(n=a.message)!==null&&n!==void 0?n:String(a);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${s}`})}r.references.push(i)}}unlink(e){for(let r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){let n=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return n??this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,s={$refNode:n,$refText:i,get ref(){var l;if(li(this._ref))return this._ref;if(qI(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=iB;let u=Vx(e).$document,h=a.getLinkedNode({reference:s,container:e,property:r});if(h.error&&u&&u.state{"use strict";zl();o(gme,"isNamed");Mb=class{static{o(this,"DefaultNameProvider")}getName(e){if(gme(e))return e.name}getNameNode(e){return jx(e.$cstNode,"name")}}});var Ib,oB=M(()=>{"use strict";zl();Pl();hs();Bl();Ys();Qc();Ib=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let r=MO(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(wa(i))return i.ref;if(Array.isArray(i)){for(let a of i)if(wa(a)&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return a.ref}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||YI(e,i)))return n}}}findDeclarationNode(e){let r=this.findDeclaration(e);if(r?.$cstNode){let n=this.nameProvider.getNameNode(r);return n??r.$cstNode}}findReferences(e,r){let n=[];if(r.includeDeclaration){let a=this.getReferenceToSelf(e);a&&n.push(a)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>vs.equals(a.sourceUri,r.documentUri))),n.push(...i),an(n)}getReferenceToSelf(e){let r=this.nameProvider.getNameNode(e);if(r){let n=Ua(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:Lp(r),local:!0}}}}});var Vl,Qp,H1=M(()=>{"use strict";Ys();Vl=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return vg.sum(an(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{let 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 an(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return an(this.map.keys())}values(){return an(this.map.values()).flat()}entriesGroupedByKey(){return an(this.map.entries())}},Qp=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[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){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var Ob,lB=M(()=>{"use strict";el();hs();H1();tl();Ob=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=br.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=Ux,i=br.CancellationToken.None){let a=[];this.exportNode(e,a,r);for(let s of n(e))await bi(i),this.exportNode(s,a,r);return a}exportNode(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=br.CancellationToken.None){let n=e.parseResult.value,i=new Vl;for(let a of qc(n))await bi(r),this.processNode(a,e,i);return i}processNode(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var q1,Pb,oje,cB=M(()=>{"use strict";Ys();q1=class{static{o(this,"StreamScope")}constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}},Pb=class{static{o(this,"MapScope")}constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let a of e){let s=this.caseInsensitive?a.name.toLowerCase():a.name;this.elements.set(s,a)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=an(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},oje={getElement(){},getAllElements(){return Nx}}});var W1,Bb,Zp,QS,Y1,ZS=M(()=>{"use strict";W1=class{static{o(this,"DisposableCache")}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")}},Bb=class extends W1{static{o(this,"SimpleCache")}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){let 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()}},Zp=class extends W1{static{o(this,"ContextCache")}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();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let 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){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},QS=class extends Zp{static{o(this,"DocumentCache")}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(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let s of a)this.clear(s)}))}},Y1=class extends Bb{static{o(this,"WorkspaceCache")}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()}))}}});var Fb,uB=M(()=>{"use strict";cB();hs();Ys();ZS();Fb=class{static{o(this,"DefaultScopeProvider")}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 Y1(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ua(e.container).precomputedScopes;if(i){let s=e.container;do{let l=i.get(s);l.length>0&&r.push(an(l).filter(u=>this.reflection.isSubtype(u.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 q1(an(e),r,n)}createScopeForNodes(e,r,n){let i=an(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new q1(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Pb(this.indexManager.allElements(e)))}}});function hB(t){return typeof t.$comment=="string"}function yme(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var $b,JS=M(()=>{"use strict";nB();Pl();hs();zl();o(hB,"isAstNodeWithComment");o(yme,"isIntermediateReference");$b=class{static{o(this,"DefaultJsonSerializer")}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){let n=r??{},i=r?.replacer,a=o((l,u)=>this.replacer(l,u,n),"defaultReplacer"),s=i?(l,u)=>i(l,u,a):a;try{return this.currentDocument=Ua(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let 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:l}){var u,h,f,d;if(!this.ignoreProperties.has(e))if(wa(r)){let p=r.ref,m=n?r.$refText:void 0;if(p){let g=Ua(p),y="";this.currentDocument&&this.currentDocument!==g&&(l?y=l(g.uri,r):y=g.uri.toString());let v=this.astNodeLocator.getAstNodePath(p);return{$ref:`${y}#${v}`,$refText:m}}else return{$error:(h=(u=r.error)===null||u===void 0?void 0:u.message)!==null&&h!==void 0?h:"Could not resolve reference",$refText:m}}else if(li(r)){let p;if(a&&(p=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&p?.$textRegion&&(p.$textRegion.documentURI=(f=this.currentDocument)===null||f===void 0?void 0:f.uri.toString())),i&&!e&&(p??(p=Object.assign({},r)),p.$sourceText=(d=r.$cstNode)===null||d===void 0?void 0:d.text),s){p??(p=Object.assign({},r));let m=this.commentProvider.getComment(r);m&&(p.$comment=m.replace(/\r/g,""))}return p??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=DO(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Qc();zb=class{static{o(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let 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);this.languageIdMap.set(r.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var r,n;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let i=(n=(r=this.textDocuments)===null||r===void 0?void 0:r.get(e))===null||n===void 0?void 0:n.languageId;if(i!==void 0){let l=this.languageIdMap.get(i);if(l)return l}let a=vs.extname(e),s=this.fileExtensionMap.get(a);if(!s)throw i?new Error(`The service registry contains no services for the extension '${a}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${a}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}});function Jp(t){return{code:t}}var X1,Gb,Vb=M(()=>{"use strict";vo();H1();tl();Ys();o(Jp,"diagnosticData");(function(t){t.all=["fast","slow","built-in"]})(X1||(X1={}));Gb=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new Vl,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.");for(let[i,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,l)}else Uc(s)}}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(Kc(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let 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(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=an(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,l)=>{await this.handleException(()=>e.call(n,i,a,s,l),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}});function vme(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=jx(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=RO(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}}}function e6(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)}}function xme(t){switch(t){case"error":return Jp(rl.LexingError);case"warning":return Jp(rl.LexingWarning);case"info":return Jp(rl.LexingInfo);case"hint":return Jp(rl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Ub,rl,dB=M(()=>{"use strict";el();zl();hs();Bl();tl();Vb();Ub=class{static{o(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=br.CancellationToken.None){let i=e.parseResult,a=[];if(await bi(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===rl.LexingError})||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===rl.ParsingError}))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===rl.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(Kc(s))throw s;console.error("An error occurred during validation:",s)}return await bi(n),a}processLexingErrors(e,r,n){var i,a,s;let l=[...e.lexerErrors,...(a=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&a!==void 0?a:[]];for(let u of l){let h=(s=u.severity)!==null&&s!==void 0?s:"error",f={severity:e6(h),range:{start:{line:u.line-1,character:u.column-1},end:{line:u.line-1,character:u.column+u.length-1}},message:u.message,data:xme(h),source:this.getSource()};r.push(f)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=xg(i.token);if(a){let s={severity:e6("error"),range:a,message:i.message,data:Jp(rl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let s={node:a.container,property:a.property,index:a.index,data:{code:rl.LinkingError,containerType:a.container.$type,property:a.property,refText:a.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=br.CancellationToken.None){let i=[],a=o((s,l,u)=>{i.push(this.toDiagnostic(s,l,u))},"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=br.CancellationToken.None){var a;let s=this.validationRegistry.checksBefore;for(let l of s)await bi(i),await l(e,n,(a=r.categories)!==null&&a!==void 0?a:[],i)}async validateAstNodes(e,r,n,i=br.CancellationToken.None){await Promise.all(Jo(e).map(async a=>{await bi(i);let s=this.validationRegistry.getChecks(a.$type,r.categories);for(let l of s)await l(a,n,i)}))}async validateAstAfter(e,r,n,i=br.CancellationToken.None){var a;let s=this.validationRegistry.checksAfter;for(let l of s)await bi(i),await l(e,n,(a=r.categories)!==null&&a!==void 0?a:[],i)}toDiagnostic(e,r,n){return{message:r,range:vme(n),severity:e6(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(vme,"getDiagnosticRange");o(e6,"toDiagnosticSeverity");o(xme,"toDiagnosticData");(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"})(rl||(rl={}))});var Hb,qb,pB=M(()=>{"use strict";el();Pl();hs();Bl();tl();Qc();Hb=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ua(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s,l=o(()=>{var u;return s??(s=Lp((u=this.nameProvider.getNameNode(e))!==null&&u!==void 0?u:e.$cstNode))},"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:Lp(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},qb=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=br.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Jo(i))await bi(r),a1(a).filter(s=>!_p(s)).forEach(s=>{let l=this.createDescription(s);l&&n.push(l)});return n}createDescription(e){let r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;let i=Ua(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:Lp(n),local:vs.equals(r.documentUri,i)}}}});var Wb,mB=M(()=>{"use strict";Wb=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let 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;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1)),h=i[l];return h?.[u]}return i[a]},e)}}});var ei={};var t6=M(()=>{"use strict";Lr(ei,La(ZP(),1))});var Yb,gB=M(()=>{"use strict";t6();tl();Yb=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new gs,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new ei.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r,n;this.workspaceConfig=(n=(r=e.capabilities.workspace)===null||r===void 0?void 0:r.configuration)!==null&&n!==void 0?n:!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let 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){e.settings&&Object.keys(e.settings).forEach(r=>{let n=e.settings[r];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;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}});var Gf,yB=M(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(Gf||(Gf={}))});var Xb,vB=M(()=>{"use strict";el();yB();H1();tl();Ys();Vb();U1();Xb=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Vl,this.documentPhaseListeners=new Vl,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Ln.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=br.CancellationToken.None){var i,a;for(let s of e){let l=s.uri.toString();if(s.state===Ln.Validated){if(typeof r.validation=="boolean"&&r.validation)s.state=Ln.IndexedReferences,s.diagnostics=void 0,this.buildState.delete(l);else if(typeof r.validation=="object"){let u=this.buildState.get(l),h=(i=u?.result)===null||i===void 0?void 0:i.validationChecks;if(h){let d=((a=r.validation.categories)!==null&&a!==void 0?a:X1.all).filter(p=>!h.includes(p));d.length>0&&(this.buildState.set(l,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:d})},result:u.result}),s.state=Ln.IndexedReferences)}}}else this.buildState.delete(l)}this.currentState=Ln.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=br.CancellationToken.None){this.currentState=Ln.Changed;for(let s of r)this.langiumDocuments.deleteDocument(s),this.buildState.delete(s.toString()),this.indexManager.remove(s);for(let s of e){if(!this.langiumDocuments.invalidateDocument(s)){let u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},s);u.state=Ln.Changed,this.langiumDocuments.addDocument(u)}this.buildState.delete(s.toString())}let i=an(e).concat(r).map(s=>s.toString()).toSet();this.langiumDocuments.all.filter(s=>!i.has(s.uri.toString())&&this.shouldRelink(s,i)).forEach(s=>{this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s),s.state=Math.min(s.state,Ln.ComputedScopes),s.diagnostics=void 0}),await this.emitUpdate(e,r),await bi(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(s=>{var l;return s.staten(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Gf.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,Ln.Parsed,n,a=>this.langiumDocumentFactory.update(a,n)),await this.runCancelable(e,Ln.IndexedContent,n,a=>this.indexManager.updateContent(a,n)),await this.runCancelable(e,Ln.ComputedScopes,n,async a=>{let s=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.precomputedScopes=await s.computeLocalScopes(a,n)}),await this.runCancelable(e,Ln.Linked,n,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,n)),await this.runCancelable(e,Ln.IndexedReferences,n,a=>this.indexManager.updateReferences(a,n));let i=e.filter(a=>this.shouldValidate(a));await this.runCancelable(i,Ln.Validated,n,a=>this.validate(a,n));for(let a of e){let s=this.buildState.get(a.uri.toString());s&&(s.completed=!0)}}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){let a=e.filter(l=>l.statel.state===r);await this.notifyBuildPhase(s,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Gf.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Gf.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;if(r&&"path"in r?i=r:n=r,n??(n=br.CancellationToken.None),i){let a=this.langiumDocuments.getDocument(i);if(a&&a.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(jc):new Promise((a,s)=>{let l=this.onBuildPhase(e,()=>{if(l.dispose(),u.dispose(),i){let h=this.langiumDocuments.getDocument(i);a(h?.uri)}else a(void 0)}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(jc)})})}async notifyDocumentPhase(e,r,n){let a=this.documentPhaseListeners.get(r).slice();for(let s of a)try{await s(e,n)}catch(l){if(!Kc(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let a=this.buildPhaseListeners.get(r).slice();for(let s of a)await bi(n),await s(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;let a=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,s=this.getBuildOptions(e).validation,l=typeof s=="object"?s:void 0,u=await a.validateDocument(e,l,r);e.diagnostics?e.diagnostics.push(...u):e.diagnostics=u;let h=this.buildState.get(e.uri.toString());if(h){(n=h.result)!==null&&n!==void 0||(h.result={});let f=(i=l?.categories)!==null&&i!==void 0?i:X1.all;h.result.validationChecks?h.result.validationChecks.push(...f):h.result.validationChecks=[...f]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}}});var jb,xB=M(()=>{"use strict";hs();ZS();el();Ys();Qc();jb=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Zp,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ua(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{vs.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),an(i)}allElements(e,r){let n=an(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.symbolByTypeIndex.get(e,r,()=>{var a;return((a=this.symbolIndex.get(e))!==null&&a!==void 0?a:[]).filter(l=>this.astReflection.isSubtype(l.type,r))}):(n=this.symbolIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r),this.referenceIndex.delete(r)}async updateContent(e,r=br.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=br.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var Kb,bB=M(()=>{"use strict";el();tl();Qc();Kb=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new gs,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){var r;this.folders=(r=e.workspaceFolders)!==null&&r!==void 0?r:void 0}initialized(e){return this.mutex.write(r=>{var n;return this.initializeWorkspace((n=this.folders)!==null&&n!==void 0?n:[],r)})}async initializeWorkspace(e,r=br.CancellationToken.None){let n=await this.performStartup(e);await bi(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=this.serviceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),n=[],i=o(a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)},"collector");return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(a=>[a,this.getRootFolder(a)]).map(async a=>this.traverseFolder(...a,r,i))),this._ready.resolve(),n}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ys.parse(e.uri)}async traverseFolder(e,r,n,i){let a=await this.fileSystemProvider.readDirectory(r);await Promise.all(a.map(async s=>{if(this.includeEntry(e,s,n)){if(s.isDirectory)await this.traverseFolder(e,s.uri,n,i);else if(s.isFile){let l=await this.langiumDocuments.getOrCreateDocument(s.uri);i(l)}}}))}includeEntry(e,r,n){let i=vs.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){let a=vs.extname(r.uri);return n.includes(a)}return!1}}});function n6(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function wB(t){return t&&"modes"in t&&"defaultMode"in t}function TB(t){return!n6(t)&&!wB(t)}var Qb,r6,e0,i6=M(()=>{"use strict";Ff();Qb=class{static{o(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,a){return x1.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return x1.buildUnableToPopLexerModeMessage(e)}},r6={mode:"full"},e0=class{static{o(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=TB(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Zn(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=r6){var n,i,a;let s=this.chevrotainLexer.tokenize(e);return{tokens:s.tokens,errors:s.errors,hidden:(n=s.groups.hidden)!==null&&n!==void 0?n:[],report:(a=(i=this.tokenBuilder).flushLexingReport)===null||a===void 0?void 0:a.call(i,e)}}toTokenTypeDictionary(e){if(TB(e))return e;let r=wB(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};o(n6,"isTokenTypeArray");o(wB,"isIMultiModeLexerDefinition");o(TB,"isTokenTypeDictionary")});function SB(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=tn.create(0,0));let a=wme(t),s=AB(n),l=cje({lines:a,position:i,options:s});return pje({index:0,tokens:l,position:i})}function CB(t,e){let r=AB(e),n=wme(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],s=r.start,l=r.end;return!!s?.exec(i)&&!!l?.exec(a)}function wme(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(TO)}function cje(t){var e,r,n;let i=[],a=t.position.line,s=t.position.character;for(let l=0;l=f.length){if(i.length>0){let m=tn.create(a,s);i.push({type:"break",content:"",range:Gr.create(m,m)})}}else{bme.lastIndex=d;let m=bme.exec(f);if(m){let g=m[0],y=m[1],v=tn.create(a,s+d),x=tn.create(a,s+d+g.length);i.push({type:"tag",content:y,range:Gr.create(v,x)}),d+=g.length,d=EB(f,d)}if(d0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function uje(t,e,r,n){let i=[];if(t.length===0){let a=tn.create(r,n),s=tn.create(r,n+e.length);i.push({type:"text",content:e,range:Gr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:Gr.create(tn.create(r,a+n),tn.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:Gr.create(tn.create(r,a+f+n),tn.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:Gr.create(tn.create(r,a+f+n),tn.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:Gr.create(tn.create(r,a+f+n),tn.create(r,a+f+n))});a=u+l[0].length}let s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Gr.create(tn.create(r,a+n),tn.create(r,a+n+s.length))})}return i}function EB(t,e){let r=t.substring(e).match(hje);return r?e+r.index:t.length}function dje(t){let e=t.match(fje);if(e&&typeof e.index=="number")return e.index}function pje(t){var e,r,n,i;let a=tn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new a6([],Gr.create(a,a));let s=[];for(;t.index0){let u=EB(e,a);s=e.substring(u),e=e.substring(0,a)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(s=`\`${s}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,s))!==null&&i!==void 0?i:xje(e,s)}}function xje(t,e){try{return ys.parse(t,!0),`[${e}](${t})`}catch{return t}}function Tme(t){return t.endsWith(` +`)?` +`:` + +`}var bme,lje,hje,fje,a6,Zb,Jb,s6,_B=M(()=>{"use strict";BP();l1();Qc();o(SB,"parseJSDoc");o(CB,"isJSDoc");o(wme,"getLines");bme=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,lje=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(cje,"tokenize");o(uje,"buildInlineTokens");hje=/\S/,fje=/\s*$/;o(EB,"skipWhitespace");o(dje,"lastCharacter");o(pje,"parseJSDocComment");o(mje,"parseJSDocElement");o(gje,"appendEmptyLine");o(kme,"parseJSDocText");o(yje,"parseJSDocInline");o(Eme,"parseJSDocTag");o(Sme,"parseJSDocLine");o(AB,"normalizeOptions");o(kB,"normalizeOption");a6=class{static{o(this,"JSDocCommentImpl")}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(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=Tme(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=Tme(r)+i}return r.trim()}},Zb=class{static{o(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,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,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=vje(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}};o(vje,"renderInlineTag");o(xje,"renderLinkDefault");Jb=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` +`)}return r}},s6=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(Tme,"fillNewlines")});var e4,DB=M(()=>{"use strict";hs();_B();e4=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&CB(r))return SB(r).toMarkdown({renderLink:o((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:o(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){var i;let a=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(a&&a.nameSegment){let s=a.nameSegment.range.start.line+1,l=a.nameSegment.range.start.character+1,u=a.documentUri.with({fragment:`L${s},${l}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){let i=Ua(e).precomputedScopes;if(!i)return;let a=e;do{let l=i.get(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var t4,LB=M(()=>{"use strict";JS();Bl();t4=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return hB(e)?e.$comment:(r=jI(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}});var r4,RB,NB,MB=M(()=>{"use strict";tl();t6();r4=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},RB=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new gs,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new gs;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(jc)}),this.queue.push(r),r.promise}},NB=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new ei.Emitter,this.deferred=new gs,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(jc),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 gs,this.sendMessage(e),this.deferred.promise}}});var n4,IB=M(()=>{"use strict";el();tl();n4=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new br.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=jS();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=br.CancellationToken.None){let i=new gs,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let 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{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){Kc(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var i4,OB=M(()=>{"use strict";$S();Hc();Pl();hs();H1();Bl();i4=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new Qp,this.tokenTypeIdMap=new Qp,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=>Object.assign(Object.assign({},r),{message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Jo(e))r.set(i,{});if(e.$cstNode)for(let i of Dp(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let 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(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)li(l)?s.push(this.dehydrateAstNode(l,r)):wa(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else li(a)?n[i]=this.dehydrateAstNode(a,r):wa(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Rx(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Ol(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):If(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){let 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){let r=new Map,n=new Map;for(let a of Jo(e))r.set(a,{});let i;if(e.$cstNode)for(let a of Dp(e.$cstNode)){let s;"fullText"in a?(s=new B1(a.fullText),i=s):"content"in a?s=new Xp:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let 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(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)li(l)?s.push(this.setParent(this.hydrateAstNode(l,r),n)):wa(l)?s.push(this.hydrateReference(l,n,i,r)):s.push(l)}else li(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):wa(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){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Ol(i))for(let a of e.content){let s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new Yp(n,i,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}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(let r of Jo(this.grammar))$x(r)&&this.grammarElementIdMap.set(r,e++)}}});function ka(t){return{documentation:{CommentProvider:o(e=>new t4(e),"CommentProvider"),DocumentationProvider:o(e=>new e4(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new r4(e),"AsyncParser"),GrammarConfig:o(e=>PO(e),"GrammarConfig"),LangiumParser:o(e=>HP(e),"LangiumParser"),CompletionParser:o(e=>VP(e),"CompletionParser"),ValueConverter:o(()=>new Kp,"ValueConverter"),TokenBuilder:o(()=>new th,"TokenBuilder"),Lexer:o(e=>new e0(e),"Lexer"),ParserErrorMessageProvider:o(()=>new F1,"ParserErrorMessageProvider"),LexerErrorMessageProvider:o(()=>new Qb,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new Wb,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new Hb(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new qb(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new Nb(e),"Linker"),NameProvider:o(()=>new Mb,"NameProvider"),ScopeProvider:o(e=>new Fb(e),"ScopeProvider"),ScopeComputation:o(e=>new Ob(e),"ScopeComputation"),References:o(e=>new Ib(e),"References")},serializer:{Hydrator:o(e=>new i4(e),"Hydrator"),JsonSerializer:o(e=>new $b(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new Ub(e),"DocumentValidator"),ValidationRegistry:o(e=>new Gb(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function Ea(t){return{ServiceRegistry:o(e=>new zb(e),"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new Rb(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new Lb(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new Xb(e),"DocumentBuilder"),IndexManager:o(e=>new jb(e),"IndexManager"),WorkspaceManager:o(e=>new Kb(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new n4,"WorkspaceLock"),ConfigurationProvider:o(e=>new Yb(e),"ConfigurationProvider")}}}var PB=M(()=>{"use strict";BO();UP();qP();HS();WP();aB();sB();oB();lB();uB();JS();fB();dB();Vb();pB();mB();gB();vB();U1();xB();bB();i6();DB();LB();_b();MB();IB();OB();o(ka,"createDefaultCoreModule");o(Ea,"createDefaultSharedCoreModule")});function Hn(t,e,r,n,i,a,s,l,u){let h=[t,e,r,n,i,a,s,l,u].reduce(o6,{});return Lme(h)}function Dme(t){if(t&&t[_me])for(let e of Object.values(t))Dme(e);return t}function Lme(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),set:o(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:o((n,i)=>i===_me?!0:Ame(n,i,t,e||r),"get"),getOwnPropertyDescriptor:o((n,i)=>(Ame(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:o((n,i)=>i in t,"has"),ownKeys:o(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}function Ame(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]===Cme)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){let i=r[e];t[e]=Cme;try{t[e]=typeof i=="function"?i(n):Lme(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function o6(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!==void 0){let i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=o6(i,n):t[r]=n}}return t}var BB,_me,Cme,FB=M(()=>{"use strict";(function(t){t.merge=(e,r)=>o6(o6({},e),r)})(BB||(BB={}));o(Hn,"inject");_me=Symbol("isProxy");o(Dme,"eagerLoad");o(Lme,"_inject");Cme=Symbol();o(Ame,"_resolve");o(o6,"_merge")});var Rme=M(()=>{"use strict"});var Nme=M(()=>{"use strict";LB();DB();_B()});var Mme=M(()=>{"use strict"});var Ime=M(()=>{"use strict";BO();Mme()});var $B,t0,l6,zB,Ome=M(()=>{"use strict";Ff();HS();i6();$B={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(t0||(t0={}));l6=class extends th{static{o(this,"IndentationAwareTokenBuilder")}constructor(e=$B){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options=Object.assign(Object.assign({},$B),e),this.indentTokenType=Pf({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=Pf({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!n6(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:l}=this.options,u,h,f,d=[];for(let p of n){for(let[m,g]of l)p.name===m?p.PUSH_MODE=t0.IGNORE_INDENTATION:p.name===g&&(p.POP_MODE=!0);p.name===a?u=p:p.name===i?h=p:p.name===s?f=p:d.push(p)}if(!u||!h||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[t0.REGULAR]:[u,h,...d,f],[t0.IGNORE_INDENTATION]:[...d,f]},defaultMode:t0.REGULAR}:[u,h,f,...d]}flushLexingReport(e){let r=super.flushLexingReport(e);return Object.assign(Object.assign({},r),{remainingDedents:this.flushRemainingDedents(e)})}isStartOfLine(e,r){return r===0||`\r +`.includes(e[r-1])}matchWhitespace(e,r,n,i){var a;this.whitespaceRegExp.lastIndex=r;let s=this.whitespaceRegExp.exec(e);return{currIndentLevel:(a=s?.[0].length)!==null&&a!==void 0?a:0,prevIndentLevel:this.indentationStack.at(-1),match:s}}createIndentationTokenInstance(e,r,n,i){let a=this.getLineNumber(r,i);return Qu(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;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);return a<=s?null:(this.indentationStack.push(a),l)}dedentMatcher(e,r,n,i){var a,s,l,u;if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:h,prevIndentLevel:f,match:d}=this.matchWhitespace(e,r,n,i);if(h>=f)return null;let p=this.indentationStack.lastIndexOf(h);if(p===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${h} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:(s=(a=d?.[0])===null||a===void 0?void 0:a.length)!==null&&s!==void 0?s:0,line:this.getLineNumber(e,r),column:1}),null;let m=this.indentationStack.length-p-1,g=(u=(l=e.substring(0,r).match(/[\r\n]+$/))===null||l===void 0?void 0:l[0].length)!==null&&u!==void 0?u:1;for(let y=0;y1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},zB=class extends e0{static{o(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof l6)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=r6){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=s.tokenTypeIdx,h=[],f=n.tokens.length-1;for(let d=0;d=0&&h.push(n.tokens[f]),n.tokens=h,n}}});var Pme=M(()=>{"use strict"});var Bme=M(()=>{"use strict";MB();UP();$S();Ome();qP();_b();i6();US();Pme();HS();WP()});var Fme=M(()=>{"use strict";aB();sB();oB();cB();lB();uB()});var $me=M(()=>{"use strict";OB();JS()});var c6,Sa,GB=M(()=>{"use strict";c6=class{static{o(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Sa={fileSystemProvider:o(()=>new c6,"fileSystemProvider")}});function wje(){let t=Hn(Ea(Sa),Tje),e=Hn(ka({shared:t}),bje);return t.ServiceRegistry.register(e),e}function Zc(t){var e;let r=wje(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,ys.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}var bje,Tje,zme=M(()=>{"use strict";PB();FB();Hc();GB();Qc();bje={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Tje={AstReflection:o(()=>new i1,"AstReflection")};o(wje,"createMinimalGrammarServices");o(Zc,"loadGrammarFromJson")});var Xr={};dr(Xr,{AstUtils:()=>VE,BiMap:()=>Qp,Cancellation:()=>br,ContextCache:()=>Zp,CstUtils:()=>NE,DONE_RESULT:()=>Ga,Deferred:()=>gs,Disposable:()=>Gf,DisposableCache:()=>W1,DocumentCache:()=>QS,EMPTY_STREAM:()=>Nx,ErrorWithLocation:()=>Rp,GrammarUtils:()=>YE,MultiMap:()=>Vl,OperationCancelled:()=>jc,Reduction:()=>vg,RegExpUtils:()=>qE,SimpleCache:()=>Bb,StreamImpl:()=>po,TreeStreamImpl:()=>Gc,URI:()=>ys,UriUtils:()=>vs,WorkspaceCache:()=>Y1,assertUnreachable:()=>Uc,delayNextTick:()=>tB,interruptAndCheck:()=>bi,isOperationCancelled:()=>Kc,loadGrammarFromJson:()=>Zc,setInterruptionPeriod:()=>ume,startCancelableOperation:()=>jS,stream:()=>an});var Gme=M(()=>{"use strict";ZS();t6();Lr(Xr,ei);H1();yB();ME();zme();tl();Ys();Qc();hs();el();Bl();zl();l1()});var Vme=M(()=>{"use strict";dB();Vb()});var Ume=M(()=>{"use strict";pB();mB();gB();vB();U1();GB();xB();IB();bB()});var Ca={};dr(Ca,{AbstractAstReflection:()=>Ap,AbstractCstNode:()=>Eb,AbstractLangiumParser:()=>Sb,AbstractParserErrorMessageProvider:()=>GS,AbstractThreadedAsyncParser:()=>RB,AstUtils:()=>VE,BiMap:()=>Qp,Cancellation:()=>br,CompositeCstNodeImpl:()=>Xp,ContextCache:()=>Zp,CstNodeBuilder:()=>kb,CstUtils:()=>NE,DEFAULT_TOKENIZE_OPTIONS:()=>r6,DONE_RESULT:()=>Ga,DatatypeSymbol:()=>zS,DefaultAstNodeDescriptionProvider:()=>Hb,DefaultAstNodeLocator:()=>Wb,DefaultAsyncParser:()=>r4,DefaultCommentProvider:()=>t4,DefaultConfigurationProvider:()=>Yb,DefaultDocumentBuilder:()=>Xb,DefaultDocumentValidator:()=>Ub,DefaultHydrator:()=>i4,DefaultIndexManager:()=>jb,DefaultJsonSerializer:()=>$b,DefaultLangiumDocumentFactory:()=>Lb,DefaultLangiumDocuments:()=>Rb,DefaultLexer:()=>e0,DefaultLexerErrorMessageProvider:()=>Qb,DefaultLinker:()=>Nb,DefaultNameProvider:()=>Mb,DefaultReferenceDescriptionProvider:()=>qb,DefaultReferences:()=>Ib,DefaultScopeComputation:()=>Ob,DefaultScopeProvider:()=>Fb,DefaultServiceRegistry:()=>zb,DefaultTokenBuilder:()=>th,DefaultValueConverter:()=>Kp,DefaultWorkspaceLock:()=>n4,DefaultWorkspaceManager:()=>Kb,Deferred:()=>gs,Disposable:()=>Gf,DisposableCache:()=>W1,DocumentCache:()=>QS,DocumentState:()=>Ln,DocumentValidator:()=>rl,EMPTY_SCOPE:()=>oje,EMPTY_STREAM:()=>Nx,EmptyFileSystem:()=>Sa,EmptyFileSystemProvider:()=>c6,ErrorWithLocation:()=>Rp,GrammarAST:()=>Gx,GrammarUtils:()=>YE,IndentationAwareLexer:()=>zB,IndentationAwareTokenBuilder:()=>l6,JSDocDocumentationProvider:()=>e4,LangiumCompletionParser:()=>Ab,LangiumParser:()=>Cb,LangiumParserErrorMessageProvider:()=>F1,LeafCstNodeImpl:()=>Yp,LexingMode:()=>t0,MapScope:()=>Pb,Module:()=>BB,MultiMap:()=>Vl,OperationCancelled:()=>jc,ParserWorker:()=>NB,Reduction:()=>vg,RegExpUtils:()=>qE,RootCstNodeImpl:()=>B1,SimpleCache:()=>Bb,StreamImpl:()=>po,StreamScope:()=>q1,TextDocument:()=>G1,TreeStreamImpl:()=>Gc,URI:()=>ys,UriUtils:()=>vs,ValidationCategory:()=>X1,ValidationRegistry:()=>Gb,ValueConverter:()=>Xc,WorkspaceCache:()=>Y1,assertUnreachable:()=>Uc,createCompletionParser:()=>VP,createDefaultCoreModule:()=>ka,createDefaultSharedCoreModule:()=>Ea,createGrammarConfig:()=>PO,createLangiumParser:()=>HP,createParser:()=>Db,delayNextTick:()=>tB,diagnosticData:()=>Jp,eagerLoad:()=>Dme,getDiagnosticRange:()=>vme,indentationBuilderDefaultOptions:()=>$B,inject:()=>Hn,interruptAndCheck:()=>bi,isAstNode:()=>li,isAstNodeDescription:()=>qI,isAstNodeWithComment:()=>hB,isCompositeCstNode:()=>Ol,isIMultiModeLexerDefinition:()=>wB,isJSDoc:()=>CB,isLeafCstNode:()=>If,isLinkingError:()=>_p,isNamed:()=>gme,isOperationCancelled:()=>Kc,isReference:()=>wa,isRootCstNode:()=>Rx,isTokenTypeArray:()=>n6,isTokenTypeDictionary:()=>TB,loadGrammarFromJson:()=>Zc,parseJSDoc:()=>SB,prepareLangiumParser:()=>nme,setInterruptionPeriod:()=>ume,startCancelableOperation:()=>jS,stream:()=>an,toDiagnosticData:()=>xme,toDiagnosticSeverity:()=>e6});var vo=M(()=>{"use strict";PB();FB();fB();Rme();Pl();Nme();Ime();Bme();Fme();$me();Gme();Lr(Ca,Xr);Vme();Ume();Hc()});function Qme(t){return Ul.isInstance(t,a4)}function Zme(t){return Ul.isInstance(t,j1)}function Jme(t){return Ul.isInstance(t,K1)}function ege(t){return Ul.isInstance(t,Q1)}function tge(t){return Ul.isInstance(t,s4)}function rge(t){return Ul.isInstance(t,Z1)}function nge(t){return Ul.isInstance(t,o4)}function ige(t){return Ul.isInstance(t,l4)}function age(t){return Ul.isInstance(t,c4)}function sge(t){return Ul.isInstance(t,u4)}function oge(t){return Ul.isInstance(t,h4)}var kje,Tt,QB,a4,u6,j1,h6,f6,VB,K1,UB,HB,qB,Q1,WB,s4,d6,YB,Z1,XB,o4,l4,c4,u4,y6,jB,h4,KB,p6,m6,g6,lge,Ul,Hme,Eje,qme,Sje,Wme,Cje,Yme,Aje,Xme,_je,jme,Dje,Kme,Lje,Rje,Nje,Mje,Ije,Oje,Pje,Bje,xs,ZB,JB,eF,tF,rF,nF,iF,Fje,$je,zje,Gje,Vf,rh,qa,Vje,Wa=M(()=>{"use strict";vo();vo();vo();vo();kje=Object.defineProperty,Tt=o((t,e)=>kje(t,"name",{value:e,configurable:!0}),"__name"),QB="Statement",a4="Architecture";o(Qme,"isArchitecture");Tt(Qme,"isArchitecture");u6="Axis",j1="Branch";o(Zme,"isBranch");Tt(Zme,"isBranch");h6="Checkout",f6="CherryPicking",VB="ClassDefStatement",K1="Commit";o(Jme,"isCommit");Tt(Jme,"isCommit");UB="Curve",HB="Edge",qB="Entry",Q1="GitGraph";o(ege,"isGitGraph");Tt(ege,"isGitGraph");WB="Group",s4="Info";o(tge,"isInfo");Tt(tge,"isInfo");d6="Item",YB="Junction",Z1="Merge";o(rge,"isMerge");Tt(rge,"isMerge");XB="Option",o4="Packet";o(nge,"isPacket");Tt(nge,"isPacket");l4="PacketBlock";o(ige,"isPacketBlock");Tt(ige,"isPacketBlock");c4="Pie";o(age,"isPie");Tt(age,"isPie");u4="PieSection";o(sge,"isPieSection");Tt(sge,"isPieSection");y6="Radar",jB="Service",h4="Treemap";o(oge,"isTreemap");Tt(oge,"isTreemap");KB="TreemapRow",p6="Direction",m6="Leaf",g6="Section",lge=class extends Ap{static{o(this,"MermaidAstReflection")}static{Tt(this,"MermaidAstReflection")}getAllTypes(){return[a4,u6,j1,h6,f6,VB,K1,UB,p6,HB,qB,Q1,WB,s4,d6,YB,m6,Z1,XB,o4,l4,c4,u4,y6,g6,jB,QB,h4,KB]}computeIsSubtype(t,e){switch(t){case j1:case h6:case f6:case K1:case Z1:return this.isSubtype(QB,e);case p6:return this.isSubtype(Q1,e);case m6:case g6:return this.isSubtype(d6,e);default:return!1}}getReferenceType(t){let e=`${t.container.$type}:${t.property}`;switch(e){case"Entry:axis":return u6;default:throw new Error(`${e} is not a valid reference id.`)}}getTypeMetaData(t){switch(t){case a4:return{name:a4,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case u6:return{name:u6,properties:[{name:"label"},{name:"name"}]};case j1:return{name:j1,properties:[{name:"name"},{name:"order"}]};case h6:return{name:h6,properties:[{name:"branch"}]};case f6:return{name:f6,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case VB:return{name:VB,properties:[{name:"className"},{name:"styleText"}]};case K1:return{name:K1,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case UB:return{name:UB,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case HB:return{name:HB,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case qB:return{name:qB,properties:[{name:"axis"},{name:"value"}]};case Q1:return{name:Q1,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case WB:return{name:WB,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case s4:return{name:s4,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case d6:return{name:d6,properties:[{name:"classSelector"},{name:"name"}]};case YB:return{name:YB,properties:[{name:"id"},{name:"in"}]};case Z1:return{name:Z1,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case XB:return{name:XB,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case o4:return{name:o4,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case l4:return{name:l4,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case c4:return{name:c4,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case u4:return{name:u4,properties:[{name:"label"},{name:"value"}]};case y6:return{name:y6,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case jB:return{name:jB,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case h4:return{name:h4,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case KB:return{name:KB,properties:[{name:"indent"},{name:"item"}]};case p6:return{name:p6,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case m6:return{name:m6,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case g6:return{name:g6,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:t,properties:[]}}}},Ul=new lge,Eje=Tt(()=>Hme??(Hme=Zc(`{"$type":"Grammar","isDeclared":true,"name":"Info","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":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),Sje=Tt(()=>qme??(qme=Zc(`{"$type":"Grammar","isDeclared":true,"name":"Packet","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),Cje=Tt(()=>Wme??(Wme=Zc(`{"$type":"Grammar","isDeclared":true,"name":"Pie","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),Aje=Tt(()=>Yme??(Yme=Zc(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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@11"},"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@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),_je=Tt(()=>Xme??(Xme=Zc(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),Dje=Tt(()=>jme??(jme=Zc(`{"$type":"Grammar","isDeclared":true,"name":"Radar","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),Lje=Tt(()=>Kme??(Kme=Zc(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"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@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"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]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"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@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":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$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 */"}`)),"TreemapGrammar"),Rje={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Nje={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Mje={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ije={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Oje={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Pje={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Bje={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xs={AstReflection:Tt(()=>new lge,"AstReflection")},ZB={Grammar:Tt(()=>Eje(),"Grammar"),LanguageMetaData:Tt(()=>Rje,"LanguageMetaData"),parser:{}},JB={Grammar:Tt(()=>Sje(),"Grammar"),LanguageMetaData:Tt(()=>Nje,"LanguageMetaData"),parser:{}},eF={Grammar:Tt(()=>Cje(),"Grammar"),LanguageMetaData:Tt(()=>Mje,"LanguageMetaData"),parser:{}},tF={Grammar:Tt(()=>Aje(),"Grammar"),LanguageMetaData:Tt(()=>Ije,"LanguageMetaData"),parser:{}},rF={Grammar:Tt(()=>_je(),"Grammar"),LanguageMetaData:Tt(()=>Oje,"LanguageMetaData"),parser:{}},nF={Grammar:Tt(()=>Dje(),"Grammar"),LanguageMetaData:Tt(()=>Pje,"LanguageMetaData"),parser:{}},iF={Grammar:Tt(()=>Lje(),"Grammar"),LanguageMetaData:Tt(()=>Bje,"LanguageMetaData"),parser:{}},Fje=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,$je=/accTitle[\t ]*:([^\n\r]*)/,zje=/title([\t ][^\n\r]*|)/,Gje={ACC_DESCR:Fje,ACC_TITLE:$je,TITLE:zje},Vf=class extends Kp{static{o(this,"AbstractMermaidValueConverter")}static{Tt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=Gje[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},rh=class extends Vf{static{o(this,"CommonValueConverter")}static{Tt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},qa=class extends th{static{o(this,"AbstractMermaidTokenBuilder")}static{Tt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},Vje=class extends qa{static{o(this,"CommonTokenBuilder")}static{Tt(this,"CommonTokenBuilder")}}});function x6(t=Sa){let e=Hn(Ea(t),xs),r=Hn(ka({shared:e}),rF,v6);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var Uje,v6,aF=M(()=>{"use strict";Wa();vo();Uje=class extends qa{static{o(this,"GitGraphTokenBuilder")}static{Tt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},v6={parser:{TokenBuilder:Tt(()=>new Uje,"TokenBuilder"),ValueConverter:Tt(()=>new rh,"ValueConverter")}};o(x6,"createGitGraphServices");Tt(x6,"createGitGraphServices")});function T6(t=Sa){let e=Hn(Ea(t),xs),r=Hn(ka({shared:e}),ZB,b6);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var Hje,b6,sF=M(()=>{"use strict";Wa();vo();Hje=class extends qa{static{o(this,"InfoTokenBuilder")}static{Tt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},b6={parser:{TokenBuilder:Tt(()=>new Hje,"TokenBuilder"),ValueConverter:Tt(()=>new rh,"ValueConverter")}};o(T6,"createInfoServices");Tt(T6,"createInfoServices")});function k6(t=Sa){let e=Hn(Ea(t),xs),r=Hn(ka({shared:e}),JB,w6);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var qje,w6,oF=M(()=>{"use strict";Wa();vo();qje=class extends qa{static{o(this,"PacketTokenBuilder")}static{Tt(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},w6={parser:{TokenBuilder:Tt(()=>new qje,"TokenBuilder"),ValueConverter:Tt(()=>new rh,"ValueConverter")}};o(k6,"createPacketServices");Tt(k6,"createPacketServices")});function S6(t=Sa){let e=Hn(Ea(t),xs),r=Hn(ka({shared:e}),eF,E6);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var Wje,Yje,E6,lF=M(()=>{"use strict";Wa();vo();Wje=class extends qa{static{o(this,"PieTokenBuilder")}static{Tt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},Yje=class extends Vf{static{o(this,"PieValueConverter")}static{Tt(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},E6={parser:{TokenBuilder:Tt(()=>new Wje,"TokenBuilder"),ValueConverter:Tt(()=>new Yje,"ValueConverter")}};o(S6,"createPieServices");Tt(S6,"createPieServices")});function A6(t=Sa){let e=Hn(Ea(t),xs),r=Hn(ka({shared:e}),tF,C6);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var Xje,jje,C6,cF=M(()=>{"use strict";Wa();vo();Xje=class extends qa{static{o(this,"ArchitectureTokenBuilder")}static{Tt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},jje=class extends Vf{static{o(this,"ArchitectureValueConverter")}static{Tt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},C6={parser:{TokenBuilder:Tt(()=>new Xje,"TokenBuilder"),ValueConverter:Tt(()=>new jje,"ValueConverter")}};o(A6,"createArchitectureServices");Tt(A6,"createArchitectureServices")});function D6(t=Sa){let e=Hn(Ea(t),xs),r=Hn(ka({shared:e}),nF,_6);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}var Kje,_6,uF=M(()=>{"use strict";Wa();vo();Kje=class extends qa{static{o(this,"RadarTokenBuilder")}static{Tt(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},_6={parser:{TokenBuilder:Tt(()=>new Kje,"TokenBuilder"),ValueConverter:Tt(()=>new rh,"ValueConverter")}};o(D6,"createRadarServices");Tt(D6,"createRadarServices")});function cge(t){let e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){let n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}function R6(t=Sa){let e=Hn(Ea(t),xs),r=Hn(ka({shared:e}),iF,L6);return e.ServiceRegistry.register(r),cge(r),{shared:e,Treemap:r}}var Qje,Zje,Jje,eKe,L6,hF=M(()=>{"use strict";Wa();vo();Qje=class extends qa{static{o(this,"TreemapTokenBuilder")}static{Tt(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},Zje=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Jje=class extends Vf{static{o(this,"TreemapValueConverter")}static{Tt(this,"TreemapValueConverter")}runCustomConverter(t,e,r){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR")return e.substring(1,e.length-1);if(t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;let n=Zje.exec(e);if(n)return{$type:"ClassDefStatement",className:n[1],styleText:n[2]||void 0}}}};o(cge,"registerValidationChecks");Tt(cge,"registerValidationChecks");eKe=class{static{o(this,"TreemapValidator")}static{Tt(this,"TreemapValidator")}checkSingleRoot(t,e){let r;for(let n of t.TreemapRows)n.item&&(r===void 0&&n.indent===void 0?r=0:n.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):r!==void 0&&r>=parseInt(n.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},L6={parser:{TokenBuilder:Tt(()=>new Qje,"TokenBuilder"),ValueConverter:Tt(()=>new Jje,"ValueConverter")},validation:{TreemapValidator:Tt(()=>new eKe,"TreemapValidator")}};o(R6,"createTreemapServices");Tt(R6,"createTreemapServices")});var uge={};dr(uge,{InfoModule:()=>b6,createInfoServices:()=>T6});var hge=M(()=>{"use strict";sF();Wa()});var fge={};dr(fge,{PacketModule:()=>w6,createPacketServices:()=>k6});var dge=M(()=>{"use strict";oF();Wa()});var pge={};dr(pge,{PieModule:()=>E6,createPieServices:()=>S6});var mge=M(()=>{"use strict";lF();Wa()});var gge={};dr(gge,{ArchitectureModule:()=>C6,createArchitectureServices:()=>A6});var yge=M(()=>{"use strict";cF();Wa()});var vge={};dr(vge,{GitGraphModule:()=>v6,createGitGraphServices:()=>x6});var xge=M(()=>{"use strict";aF();Wa()});var bge={};dr(bge,{RadarModule:()=>_6,createRadarServices:()=>D6});var Tge=M(()=>{"use strict";uF();Wa()});var wge={};dr(wge,{TreemapModule:()=>L6,createTreemapServices:()=>R6});var kge=M(()=>{"use strict";hF();Wa()});async function bs(t,e){let r=tKe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);nh[t]||await r();let i=nh[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new rKe(i);return i.value}var nh,tKe,rKe,Uf=M(()=>{"use strict";aF();sF();oF();lF();cF();uF();hF();Wa();nh={},tKe={info:Tt(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(hge(),uge)),e=t().Info.parser.LangiumParser;nh.info=e},"info"),packet:Tt(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(dge(),fge)),e=t().Packet.parser.LangiumParser;nh.packet=e},"packet"),pie:Tt(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(mge(),pge)),e=t().Pie.parser.LangiumParser;nh.pie=e},"pie"),architecture:Tt(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(yge(),gge)),e=t().Architecture.parser.LangiumParser;nh.architecture=e},"architecture"),gitGraph:Tt(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(xge(),vge)),e=t().GitGraph.parser.LangiumParser;nh.gitGraph=e},"gitGraph"),radar:Tt(async()=>{let{createRadarServices:t}=await Promise.resolve().then(()=>(Tge(),bge)),e=t().Radar.parser.LangiumParser;nh.radar=e},"radar"),treemap:Tt(async()=>{let{createTreemapServices:t}=await Promise.resolve().then(()=>(kge(),wge)),e=t().Treemap.parser.LangiumParser;nh.treemap=e},"treemap")};o(bs,"parse");Tt(bs,"parse");rKe=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(` +`),r=t.parserErrors.map(n=>n.message).join(` +`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{Tt(this,"MermaidParseError")}}});function nl(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var r0=M(()=>{"use strict";o(nl,"populateCommonDb")});var rn,N6=M(()=>{"use strict";rn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var J1,fF=M(()=>{"use strict";J1=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function dF(){return VL({length:7})}function iKe(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function Ege(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function Cge(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in Dt.records.branches)Dt.records.branches.get(i)===e.id&&n.push(i);if(X.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=Dt.records.commits.get(e.parents[0]);Ege(t,e,i),e.parents[1]&&t.push(Dt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=Dt.records.commits.get(e.parents[0]);Ege(t,e,i)}}t=iKe(t,i=>i.id),Cge(t)}var nKe,n0,Dt,aKe,sKe,oKe,lKe,cKe,uKe,hKe,Sge,fKe,dKe,pKe,mKe,gKe,Age,yKe,vKe,xKe,M6,pF=M(()=>{"use strict";pt();tr();qn();gr();ci();N6();fF();Ra();nKe=ur.gitGraph,n0=o(()=>Vn({...nKe,...Qt().gitGraph}),"getConfig"),Dt=new J1(()=>{let t=n0(),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:{}}});o(dF,"getID");o(iKe,"uniqBy");aKe=o(function(t){Dt.records.direction=t},"setDirection"),sKe=o(function(t){X.debug("options str",t),t=t?.trim(),t=t||"{}";try{Dt.records.options=JSON.parse(t)}catch(e){X.error("error while parsing gitGraph options",e.message)}},"setOptions"),oKe=o(function(){return Dt.records.options},"getOptions"),lKe=o(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;X.info("commit",e,r,n,i),X.debug("Entering commit:",e,r,n,i);let a=n0();r=tt.sanitizeText(r,a),e=tt.sanitizeText(e,a),i=i?.map(l=>tt.sanitizeText(l,a));let s={id:r||Dt.records.seq+"-"+dF(),message:e,seq:Dt.records.seq++,type:n??rn.NORMAL,tags:i??[],parents:Dt.records.head==null?[]:[Dt.records.head.id],branch:Dt.records.currBranch};Dt.records.head=s,X.info("main branch",a.mainBranchName),Dt.records.commits.has(s.id)&&X.warn(`Commit ID ${s.id} already exists`),Dt.records.commits.set(s.id,s),Dt.records.branches.set(Dt.records.currBranch,s.id),X.debug("in pushCommit "+s.id)},"commit"),cKe=o(function(t){let e=t.name,r=t.order;if(e=tt.sanitizeText(e,n0()),Dt.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}")`);Dt.records.branches.set(e,Dt.records.head!=null?Dt.records.head.id:null),Dt.records.branchConfig.set(e,{name:e,order:r}),Sge(e),X.debug("in createBranch")},"branch"),uKe=o(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=n0();e=tt.sanitizeText(e,a),r&&(r=tt.sanitizeText(r,a));let s=Dt.records.branches.get(Dt.records.currBranch),l=Dt.records.branches.get(e),u=s?Dt.records.commits.get(s):void 0,h=l?Dt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Dt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${Dt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!Dt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&Dt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${Dt.records.seq}-${dF()}`,message:`merged branch ${e} into ${Dt.records.currBranch}`,seq:Dt.records.seq++,parents:Dt.records.head==null?[]:[Dt.records.head.id,f],branch:Dt.records.currBranch,type:rn.MERGE,customType:n,customId:!!r,tags:i??[]};Dt.records.head=d,Dt.records.commits.set(d.id,d),Dt.records.branches.set(Dt.records.currBranch,d.id),X.debug(Dt.records.branches),X.debug("in mergeBranch")},"merge"),hKe=o(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;X.debug("Entering cherryPick:",e,r,n);let a=n0();if(e=tt.sanitizeText(e,a),r=tt.sanitizeText(r,a),n=n?.map(u=>tt.sanitizeText(u,a)),i=tt.sanitizeText(i,a),!e||!Dt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=Dt.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.");let l=s.branch;if(s.type===rn.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||!Dt.records.commits.has(r)){if(l===Dt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=Dt.records.branches.get(Dt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Dt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=Dt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Dt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:Dt.records.seq+"-"+dF(),message:`cherry-picked ${s?.message} into ${Dt.records.currBranch}`,seq:Dt.records.seq++,parents:Dt.records.head==null?[]:[Dt.records.head.id,s.id],branch:Dt.records.currBranch,type:rn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===rn.MERGE?`|parent:${i}`:""}`]};Dt.records.head=f,Dt.records.commits.set(f.id,f),Dt.records.branches.set(Dt.records.currBranch,f.id),X.debug(Dt.records.branches),X.debug("in cherryPick")}},"cherryPick"),Sge=o(function(t){if(t=tt.sanitizeText(t,n0()),Dt.records.branches.has(t)){Dt.records.currBranch=t;let e=Dt.records.branches.get(Dt.records.currBranch);e===void 0||!e?Dt.records.head=null:Dt.records.head=Dt.records.commits.get(e)??null}else{let 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");o(Ege,"upsert");o(Cge,"prettyPrintCommitHistory");fKe=o(function(){X.debug(Dt.records.commits);let t=Age()[0];Cge([t])},"prettyPrint"),dKe=o(function(){Dt.reset(),Sr()},"clear"),pKe=o(function(){return[...Dt.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"),mKe=o(function(){return Dt.records.branches},"getBranches"),gKe=o(function(){return Dt.records.commits},"getCommits"),Age=o(function(){let t=[...Dt.records.commits.values()];return t.forEach(function(e){X.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),yKe=o(function(){return Dt.records.currBranch},"getCurrentBranch"),vKe=o(function(){return Dt.records.direction},"getDirection"),xKe=o(function(){return Dt.records.head},"getHead"),M6={commitType:rn,getConfig:n0,setDirection:aKe,setOptions:sKe,getOptions:oKe,commit:lKe,branch:cKe,merge:uKe,cherryPick:hKe,checkout:Sge,prettyPrint:fKe,clear:dKe,getBranchesAsObjArray:pKe,getBranches:mKe,getCommits:gKe,getCommitsArray:Age,getCurrentBranch:yKe,getDirection:vKe,getHead:xKe,setAccTitle:Rr,getAccTitle:Mr,getAccDescription:Or,setAccDescription:Ir,setDiagramTitle:$r,getDiagramTitle:Pr}});var bKe,TKe,wKe,kKe,EKe,SKe,CKe,_ge,Dge=M(()=>{"use strict";Uf();pt();r0();pF();N6();bKe=o((t,e)=>{nl(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)TKe(r,e)},"populate"),TKe=o((t,e)=>{let n={Commit:o(i=>e.commit(wKe(i)),"Commit"),Branch:o(i=>e.branch(kKe(i)),"Branch"),Merge:o(i=>e.merge(EKe(i)),"Merge"),Checkout:o(i=>e.checkout(SKe(i)),"Checkout"),CherryPicking:o(i=>e.cherryPick(CKe(i)),"CherryPicking")}[t.$type];n?n(t):X.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),wKe=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?rn[t.type]:rn.NORMAL,tags:t.tags??void 0}),"parseCommit"),kKe=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),EKe=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?rn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),SKe=o(t=>t.branch,"parseCheckout"),CKe=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),_ge={parse:o(async t=>{let e=await bs("gitGraph",t);X.debug(e),bKe(e,M6)},"parse")}});var AKe,il,qf,Wf,Jc,ih,i0,Ks,Qs,I6,f4,O6,Hf,Vr,_Ke,Rge,Nge,DKe,LKe,RKe,NKe,MKe,IKe,OKe,PKe,BKe,FKe,$Ke,zKe,Lge,GKe,d4,VKe,UKe,HKe,qKe,WKe,Mge,Ige=M(()=>{"use strict";yr();Xt();pt();tr();N6();AKe=ge(),il=AKe?.gitGraph,qf=10,Wf=40,Jc=4,ih=2,i0=8,Ks=new Map,Qs=new Map,I6=30,f4=new Map,O6=[],Hf=0,Vr="LR",_Ke=o(()=>{Ks.clear(),Qs.clear(),f4.clear(),Hf=0,O6=[],Vr="LR"},"clear"),Rge=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let 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"),Nge=o(t=>{let e,r,n;return Vr==="BT"?(r=o((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=o((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=Vr==="TB"||Vr=="BT"?Qs.get(i)?.y:Qs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),DKe=o(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Qs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),LKe=o((t,e,r)=>{let n=r,i=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(n=NKe(l),i=Math.max(n,i)):a.push(l),MKe(l,n)}),n=i,a.forEach(s=>{IKe(s,n,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=DKe(l.parents);n=Qs.get(u).y-Wf,n<=i&&(i=n);let h=Ks.get(l.branch).pos,f=n-qf;Qs.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),RKe=o(t=>{let e=Nge(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Qs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),NKe=o(t=>RKe(t)+Wf,"calculateCommitPosition"),MKe=o((t,e)=>{let r=Ks.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+qf;return Qs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),IKe=o((t,e,r)=>{let n=Ks.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Qs.set(t.id,{x:a,y:i})},"setRootPosition"),OKe=o((t,e,r,n,i,a)=>{if(a===rn.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%i0} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%i0} ${n}-inner`);else if(a===rn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#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","#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","#fff").attr("class",`commit ${e.id} ${n}`);else{let s=t.append("circle");if(s.attr("cx",r.x),s.attr("cy",r.y),s.attr("r",e.type===rn.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%i0}`),a===rn.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%i0}`)}a===rn.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%i0}`)}},"drawCommitBullet"),PKe=o((t,e,r,n)=>{if(e.type!==rn.CHERRY_PICK&&(e.customId&&e.type===rn.MERGE||e.type!==rn.MERGE)&&il?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=s.node()?.getBBox();if(l&&(a.attr("x",r.posWithOffset-l.width/2-ih).attr("y",r.y+13.5).attr("width",l.width+2*ih).attr("height",l.height+2*ih),Vr==="TB"||Vr==="BT"?(a.attr("x",r.x-(l.width+4*Jc+5)).attr("y",r.y-12),s.attr("x",r.x-(l.width+4*Jc)).attr("y",r.y+l.height-12)):s.attr("x",r.posWithOffset-l.width/2),il.rotateCommitLabel))if(Vr==="TB"||Vr==="BT")s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;i.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),BKe=o((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` + ${n-a/2-Jc/2},${m+ih} + ${n-a/2-Jc/2},${m-ih} + ${r.posWithOffset-a/2-Jc},${m-p-ih} + ${r.posWithOffset+a/2+Jc},${m-p-ih} + ${r.posWithOffset+a/2+Jc},${m+p+ih} + ${r.posWithOffset-a/2-Jc},${m+p+ih}`),h.attr("cy",m).attr("cx",n-a/2+Jc/2).attr("r",1.5).attr("class","tag-hole"),Vr==="TB"||Vr==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` + ${r.x},${g+2} + ${r.x},${g-2} + ${r.x+qf},${g-p-2} + ${r.x+qf+a+4},${g-p-2} + ${r.x+qf+a+4},${g+p+2} + ${r.x+qf},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Jc/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),FKe=o(t=>{switch(t.customType??t.type){case rn.NORMAL:return"commit-normal";case rn.REVERSE:return"commit-reverse";case rn.HIGHLIGHT:return"commit-highlight";case rn.MERGE:return"commit-merge";case rn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),$Ke=o((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=Nge(t.parents);if(a){let s=n.get(a)??i;return e==="TB"?s.y+Wf:e==="BT"?(n.get(t.id)??i).y-Wf:s.x+Wf}}else return e==="TB"?I6:e==="BT"?(n.get(t.id)??i).y-Wf:0;return 0},"calculatePosition"),zKe=o((t,e,r)=>{let n=Vr==="BT"&&r?e:e+qf,i=Vr==="TB"||Vr==="BT"?n:Ks.get(t.branch)?.pos,a=Vr==="TB"||Vr==="BT"?Ks.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),Lge=o((t,e,r)=>{if(!il)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=Vr==="TB"||Vr==="BT"?I6:0,s=[...e.keys()],l=il?.parallelCommits??!1,u=o((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=s.sort(u);Vr==="BT"&&(l&&LKe(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=$Ke(d,Vr,a,Qs));let p=zKe(d,a,l);if(r){let m=FKe(d),g=d.customType??d.type,y=Ks.get(d.branch)?.index??0;OKe(n,d,p,m,y,g),PKe(i,d,p,a),BKe(i,d,p,a)}Vr==="TB"||Vr==="BT"?Qs.set(d.id,{x:p.x,y:p.posWithOffset}):Qs.set(d.id,{x:p.posWithOffset,y:p.y}),a=Vr==="BT"&&l?a+Wf:a+Wf+qf,a>Hf&&(Hf=a)})},"drawCommits"),GKe=o((t,e,r,n,i)=>{let s=(Vr==="TB"||Vr==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),d4=o((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(O6.every(s=>Math.abs(s-n)>=10))return O6.push(n),n;let a=Math.abs(t-e);return d4(t,e-a/5,r+1)},"findLane"),VKe=o((t,e,r,n)=>{let i=Qs.get(e.id),a=Qs.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=GKe(e,r,i,a,n),l="",u="",h=0,f=0,d=Ks.get(r.branch)?.index;r.type===rn.MERGE&&e.id!==r.parents[0]&&(d=Ks.get(e.branch)?.index);let p;if(s){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===rn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):Vr==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===rn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===rn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%i0)},"drawArrow"),UKe=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{VKe(r,e.get(a),i,e)})})},"drawArrows"),HKe=o((t,e)=>{let r=t.append("g");e.forEach((n,i)=>{let a=i%i0,s=Ks.get(n.name)?.pos;if(s===void 0)throw new Error(`Position not found for branch ${n.name}`);let l=r.append("line");l.attr("x1",0),l.attr("y1",s),l.attr("x2",Hf),l.attr("y2",s),l.attr("class","branch branch"+a),Vr==="TB"?(l.attr("y1",I6),l.attr("x1",s),l.attr("y2",Hf),l.attr("x2",s)):Vr==="BT"&&(l.attr("y1",Hf),l.attr("x1",s),l.attr("y2",I6),l.attr("x2",s)),O6.push(s);let u=n.name,h=Rge(u),f=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(h);let m=h.getBBox();f.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(il?.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(il?.rotateCommitLabel===!0?30:0))+", "+(s-m.height/2-1)+")"),Vr==="TB"?(f.attr("x",s-m.width/2-10).attr("y",0),p.attr("transform","translate("+(s-m.width/2-5)+", 0)")):Vr==="BT"?(f.attr("x",s-m.width/2-10).attr("y",Hf),p.attr("transform","translate("+(s-m.width/2-5)+", "+Hf+")")):f.attr("transform","translate(-19, "+(s-m.height/2)+")")})},"drawBranches"),qKe=o(function(t,e,r,n,i){return Ks.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Vr==="TB"||Vr==="BT"?n.width/2:0),e},"setBranchPosition"),WKe=o(function(t,e,r,n){if(_Ke(),X.debug("in gitgraph renderer",t+` +`,"id:",e,r),!il)throw new Error("GitGraph config not found");let i=il.rotateCommitLabel??!1,a=n.db;f4=a.getCommits();let s=a.getBranchesAsObjArray();Vr=a.getDirection();let l=qe(`[id="${e}"]`),u=0;s.forEach((h,f)=>{let d=Rge(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=qKe(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),Lge(l,f4,!1),il.showBranches&&HKe(l,s),UKe(l,f4),Lge(l,f4,!0),qt.insertTitle(l,"gitTitleText",il.titleTopMargin??0,a.getDiagramTitle()),FA(void 0,l,il.diagramPadding,il.useMaxWidth)},"draw"),Mge={draw:WKe}});var YKe,Oge,Pge=M(()=>{"use strict";YKe=o(t=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(e=>` + .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; } + .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; } + .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; } + .label${e} { fill: ${t["git"+e]}; } + .arrow${e} { stroke: ${t["git"+e]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`,"getStyles"),Oge=YKe});var Bge={};dr(Bge,{diagram:()=>XKe});var XKe,Fge=M(()=>{"use strict";Dge();pF();Ige();Pge();XKe={parser:_ge,db:M6,renderer:Mge,styles:Oge}});var mF,Gge,Vge=M(()=>{"use strict";mF=(function(){var t=o(function(_,D,O,N){for(O=O||{},N=_.length;N--;O[_[N]]=D);return O},"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],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],T=[1,19],S=[1,20],w=[1,21],k=[1,22],C=[1,23],A=[1,25],L=[1,35],I={trace:o(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:o(function(D,O,N,P,B,F,V){var $=F.length-1;switch(B){case 1:return F[$-1];case 2:this.$=[];break;case 3:F[$-1].push(F[$]),this.$=F[$-1];break;case 4:case 5:this.$=F[$];break;case 6:case 7:this.$=[];break;case 8:P.setWeekday("monday");break;case 9:P.setWeekday("tuesday");break;case 10:P.setWeekday("wednesday");break;case 11:P.setWeekday("thursday");break;case 12:P.setWeekday("friday");break;case 13:P.setWeekday("saturday");break;case 14:P.setWeekday("sunday");break;case 15:P.setWeekend("friday");break;case 16:P.setWeekend("saturday");break;case 17:P.setDateFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 18:P.enableInclusiveEndDates(),this.$=F[$].substr(18);break;case 19:P.TopAxis(),this.$=F[$].substr(8);break;case 20:P.setAxisFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 21:P.setTickInterval(F[$].substr(13)),this.$=F[$].substr(13);break;case 22:P.setExcludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 23:P.setIncludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 24:P.setTodayMarker(F[$].substr(12)),this.$=F[$].substr(12);break;case 27:P.setDiagramTitle(F[$].substr(6)),this.$=F[$].substr(6);break;case 28:this.$=F[$].trim(),P.setAccTitle(this.$);break;case 29:case 30:this.$=F[$].trim(),P.setAccDescription(this.$);break;case 31:P.addSection(F[$].substr(8)),this.$=F[$].substr(8);break;case 33:P.addTask(F[$-1],F[$]),this.$="task";break;case 34:this.$=F[$-1],P.setClickEvent(F[$-1],F[$],null);break;case 35:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],F[$]);break;case 36:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],null),P.setLink(F[$-2],F[$]);break;case 37:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-2],F[$-1]),P.setLink(F[$-3],F[$]);break;case 38:this.$=F[$-2],P.setClickEvent(F[$-2],F[$],null),P.setLink(F[$-2],F[$-1]);break;case 39:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-1],F[$]),P.setLink(F[$-3],F[$-2]);break;case 40:this.$=F[$-1],P.setLink(F[$-1],F[$]);break;case 41:case 47:this.$=F[$-1]+" "+F[$];break;case 42:case 43:case 45:this.$=F[$-2]+" "+F[$-1]+" "+F[$];break;case 44:case 46:this.$=F[$-3]+" "+F[$-2]+" "+F[$-1]+" "+F[$];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:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:S,33:w,35:k,36:C,37:24,38:A,40:L},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:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:S,33:w,35:k,36:C,37:24,38:A,40:L},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:o(function(D,O){if(O.recoverable)this.trace(D);else{var N=new Error(D);throw N.hash=O,N}},"parseError"),parse:o(function(D){var O=this,N=[0],P=[],B=[null],F=[],V=this.table,$="",U=0,j=0,ee=0,q=2,oe=1,Q=F.slice.call(arguments,1),ue=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]);ue.setInput(D,te.yy),te.yy.lexer=ue,te.yy.parser=this,typeof ue.yylloc>"u"&&(ue.yylloc={});var J=ue.yylloc;F.push(J);var K=ue.options&&ue.options.ranges;typeof te.yy.parseError=="function"?this.parseError=te.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(Ce){N.length=N.length-2*Ce,B.length=B.length-Ce,F.length=F.length-Ce}o(ae,"popStack");function Z(){var Ce;return Ce=P.pop()||ue.lex()||oe,typeof Ce!="number"&&(Ce instanceof Array&&(P=Ce,Ce=P.pop()),Ce=O.symbols_[Ce]||Ce),Ce}o(Z,"lex");for(var de,ne,Te,W,Ve,pe,Be={},Ye,He,Le,Ie;;){if(Te=N[N.length-1],this.defaultActions[Te]?W=this.defaultActions[Te]:((de===null||typeof de>"u")&&(de=Z()),W=V[Te]&&V[Te][de]),typeof W>"u"||!W.length||!W[0]){var Ne="";Ie=[];for(Ye in V[Te])this.terminals_[Ye]&&Ye>q&&Ie.push("'"+this.terminals_[Ye]+"'");ue.showPosition?Ne="Parse error on line "+(U+1)+`: +`+ue.showPosition()+` +Expecting `+Ie.join(", ")+", got '"+(this.terminals_[de]||de)+"'":Ne="Parse error on line "+(U+1)+": Unexpected "+(de==oe?"end of input":"'"+(this.terminals_[de]||de)+"'"),this.parseError(Ne,{text:ue.match,token:this.terminals_[de]||de,line:ue.yylineno,loc:J,expected:Ie})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+de);switch(W[0]){case 1:N.push(de),B.push(ue.yytext),F.push(ue.yylloc),N.push(W[1]),de=null,ne?(de=ne,ne=null):(j=ue.yyleng,$=ue.yytext,U=ue.yylineno,J=ue.yylloc,ee>0&&ee--);break;case 2:if(He=this.productions_[W[1]][1],Be.$=B[B.length-He],Be._$={first_line:F[F.length-(He||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(He||1)].first_column,last_column:F[F.length-1].last_column},K&&(Be._$.range=[F[F.length-(He||1)].range[0],F[F.length-1].range[1]]),pe=this.performAction.apply(Be,[$,j,U,te.yy,W[1],B,F].concat(Q)),typeof pe<"u")return pe;He&&(N=N.slice(0,-1*He*2),B=B.slice(0,-1*He),F=F.slice(0,-1*He)),N.push(this.productions_[W[1]][0]),B.push(Be.$),F.push(Be._$),Le=V[N[N.length-2]][N[N.length-1]],N.push(Le);break;case 3:return!0}}return!0},"parse")},R=(function(){var _={EOF:1,parseError:o(function(O,N){if(this.yy.parser)this.yy.parser.parseError(O,N);else throw new Error(O)},"parseError"),setInput:o(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:o(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:o(function(D){var O=D.length,N=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 P=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var B=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===P.length?this.yylloc.first_column:0)+P[P.length-N.length].length-N[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[B[0],B[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(D){this.unput(this.match.slice(D))},"less"),pastInput:o(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:o(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:o(function(){var D=this.pastInput(),O=new Array(D.length+1).join("-");return D+this.upcomingInput()+` +`+O+"^"},"showPosition"),test_match:o(function(D,O){var N,P,B;if(this.options.backtrack_lexer&&(B={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(B.yylloc.range=this.yylloc.range.slice(0))),P=D[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.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],N=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var F in B)this[F]=B[F];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,O,N,P;this._more||(this.yytext="",this.match="");for(var B=this._currentRules(),F=0;FO[0].length)){if(O=N,P=F,this.options.backtrack_lexer){if(D=this.test_match(N,B[F]),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,B[P]),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:o(function(){var O=this.next();return O||this.lex()},"lex"),begin:o(function(O){this.conditionStack.push(O)},"begin"),popState:o(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:o(function(O){this.begin(O)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(O,N,P,B){var F=B;switch(P){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;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 _})();I.lexer=R;function E(){this.yy={}}return o(E,"Parser"),E.prototype=I,I.Parser=E,new E})();mF.parser=mF;Gge=mF});var Uge=sa((gF,yF)=>{"use strict";(function(t,e){typeof gF=="object"&&typeof yF<"u"?yF.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(gF,(function(){"use strict";var t="day";return function(e,r,n){var i=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}}))});var Hge=sa((vF,xF)=>{"use strict";(function(t,e){typeof vF=="object"&&typeof xF<"u"?xF.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(vF,(function(){"use strict";var t={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"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x})(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[n,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,u("seconds")],ss:[i,u("seconds")],m:[i,u("minutes")],mm:[i,u("minutes")],H:[i,u("hours")],h:[i,u("hours")],HH:[i,u("hours")],hh:[i,u("hours")],D:[i,u("day")],DD:[n,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[i,u("week")],ww:[n,u("week")],M:[i,u("month")],MM:[n,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map((function(x){return x.slice(0,3)}))).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(A,L,I){var R=I&&I.toUpperCase();return L||v[I]||t[I]||v[R].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(E,_,D){return _||D.slice(1)}))}))).match(e),b=x.length,T=0;T-1)return new Date((N==="X"?1e3:1)*O);var F=m(N)(O),V=F.year,$=F.month,U=F.day,j=F.hours,ee=F.minutes,q=F.seconds,oe=F.milliseconds,Q=F.zone,ue=F.week,te=new Date,re=U||(V||$?1:te.getDate()),J=V||te.getFullYear(),K=0;V&&!$||(K=$>0?$-1:te.getMonth());var ae,Z=j||0,de=ee||0,ne=q||0,Te=oe||0;return Q?new Date(Date.UTC(J,K,re,Z,de,ne,Te+60*Q.offset*1e3)):P?new Date(Date.UTC(J,K,re,Z,de,ne,Te)):(ae=new Date(J,K,re,Z,de,ne,Te),ue&&(ae=B(ae).week(ue).toDate()),ae)}catch{return new Date("")}})(S,C,w,v),this.init(),R&&R!==!0&&(this.$L=this.locale(R).$L),I&&S!=this.format(C)&&(this.$d=new Date("")),s={}}else if(C instanceof Array)for(var E=C.length,_=1;_<=E;_+=1){k[1]=C[_-1];var D=v.apply(this,k);if(D.isValid()){this.$d=D.$d,this.$L=D.$L,this.init();break}_===E&&(this.$d=new Date(""))}else b.call(this,T)}}}))});var qge=sa((bF,TF)=>{"use strict";(function(t,e){typeof bF=="object"&&typeof TF<"u"?TF.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(bF,(function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"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((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}}));return n.bind(this)(u)}}}))});function o1e(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}var Xge,xo,jge,Kge,Qge,Wge,eu,SF,CF,AF,p4,m4,_F,DF,F6,ty,LF,Zge,RF,g4,NF,MF,$6,wF,ZKe,JKe,eQe,tQe,rQe,nQe,iQe,aQe,sQe,oQe,lQe,cQe,uQe,hQe,fQe,dQe,pQe,mQe,gQe,yQe,vQe,xQe,bQe,Jge,TQe,wQe,kQe,e1e,EQe,kF,t1e,r1e,P6,ey,SQe,CQe,EF,B6,Vi,n1e,AQe,a0,_Qe,Yge,DQe,i1e,LQe,a1e,RQe,NQe,s1e,l1e=M(()=>{"use strict";Xge=La(tm(),1),xo=La(j4(),1),jge=La(Uge(),1),Kge=La(Hge(),1),Qge=La(qge(),1);pt();Xt();tr();ci();xo.default.extend(jge.default);xo.default.extend(Kge.default);xo.default.extend(Qge.default);Wge={friday:5,saturday:6},eu="",SF="",AF="",p4=[],m4=[],_F=new Map,DF=[],F6=[],ty="",LF="",Zge=["active","done","crit","milestone","vert"],RF=[],g4=!1,NF=!1,MF="sunday",$6="saturday",wF=0,ZKe=o(function(){DF=[],F6=[],ty="",RF=[],P6=0,EF=void 0,B6=void 0,Vi=[],eu="",SF="",LF="",CF=void 0,AF="",p4=[],m4=[],g4=!1,NF=!1,wF=0,_F=new Map,Sr(),MF="sunday",$6="saturday"},"clear"),JKe=o(function(t){SF=t},"setAxisFormat"),eQe=o(function(){return SF},"getAxisFormat"),tQe=o(function(t){CF=t},"setTickInterval"),rQe=o(function(){return CF},"getTickInterval"),nQe=o(function(t){AF=t},"setTodayMarker"),iQe=o(function(){return AF},"getTodayMarker"),aQe=o(function(t){eu=t},"setDateFormat"),sQe=o(function(){g4=!0},"enableInclusiveEndDates"),oQe=o(function(){return g4},"endDatesAreInclusive"),lQe=o(function(){NF=!0},"enableTopAxis"),cQe=o(function(){return NF},"topAxisEnabled"),uQe=o(function(t){LF=t},"setDisplayMode"),hQe=o(function(){return LF},"getDisplayMode"),fQe=o(function(){return eu},"getDateFormat"),dQe=o(function(t){p4=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),pQe=o(function(){return p4},"getIncludes"),mQe=o(function(t){m4=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),gQe=o(function(){return m4},"getExcludes"),yQe=o(function(){return _F},"getLinks"),vQe=o(function(t){ty=t,DF.push(t)},"addSection"),xQe=o(function(){return DF},"getSections"),bQe=o(function(){let t=Yge(),e=10,r=0;for(;!t&&r{let u=l.trim();return u==="x"||u==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));let a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let l=null;for(let h of a.groups.ids.split(" ")){let f=a0(h);f!==void 0&&(!l||f.endTime>l.endTime)&&(l=f)}if(l)return l.endTime;let u=new Date;return u.setHours(0,0,0,0),u}let s=(0,xo.default)(r,e.trim(),!0);if(s.isValid())return s.toDate();{X.debug("Invalid date:"+r),X.debug("With date format:"+e.trim());let l=new Date(r);if(l===void 0||isNaN(l.getTime())||l.getFullYear()<-1e4||l.getFullYear()>1e4)throw new Error("Invalid date:"+r);return l}},"getStartDate"),t1e=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),r1e=o(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=a0(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),_F.set(n,r))}),i1e(t,"clickable")},"setLink"),i1e=o(function(t,e){t.split(",").forEach(function(r){let n=a0(r);n!==void 0&&n.classes.push(e)})},"setClass"),LQe=o(function(t,e,r){if(ge().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{qt.runFunc(e,...n)})},"setClickFun"),a1e=o(function(t,e){RF.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),RQe=o(function(t,e,r){t.split(",").forEach(function(n){LQe(n,e,r)}),i1e(t,"clickable")},"setClickEvent"),NQe=o(function(t){RF.forEach(function(e){e(t)})},"bindFunctions"),s1e={getConfig:o(()=>ge().gantt,"getConfig"),clear:ZKe,setDateFormat:aQe,getDateFormat:fQe,enableInclusiveEndDates:sQe,endDatesAreInclusive:oQe,enableTopAxis:lQe,topAxisEnabled:cQe,setAxisFormat:JKe,getAxisFormat:eQe,setTickInterval:tQe,getTickInterval:rQe,setTodayMarker:nQe,getTodayMarker:iQe,setAccTitle:Rr,getAccTitle:Mr,setDiagramTitle:$r,getDiagramTitle:Pr,setDisplayMode:uQe,getDisplayMode:hQe,setAccDescription:Ir,getAccDescription:Or,addSection:vQe,getSections:xQe,getTasks:bQe,addTask:AQe,findTaskById:a0,addTaskOrg:_Qe,setIncludes:dQe,getIncludes:pQe,setExcludes:mQe,getExcludes:gQe,setClickEvent:RQe,setLink:DQe,getLinks:yQe,bindFunctions:NQe,parseDuration:t1e,isInvalidDate:Jge,setWeekday:TQe,getWeekday:wQe,setWeekend:kQe};o(o1e,"getTaskTags")});var c1e=sa((IF,OF)=>{"use strict";(function(t,e){typeof IF=="object"&&typeof OF<"u"?OF.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_duration=e()})(IF,(function(){"use strict";var t,e,r=1e3,n=6e4,i=36e5,a=864e5,s=/\[([^\]]+)]|Y{1,4}|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,l=31536e6,u=2628e6,h=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:l,months:u,days:a,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},d=o(function(S){return S instanceof b},"c"),p=o(function(S,w,k){return new b(S,k,w.$l)},"f"),m=o(function(S){return e.p(S)+"s"},"m"),g=o(function(S){return S<0},"l"),y=o(function(S){return g(S)?Math.ceil(S):Math.floor(S)},"$"),v=o(function(S){return Math.abs(S)},"y"),x=o(function(S,w){return S?g(S)?{negative:!0,format:""+v(S)+w}:{negative:!1,format:""+S+w}:{negative:!1,format:""}},"v"),b=(function(){function S(k,C,A){var L=this;if(this.$d={},this.$l=A,k===void 0&&(this.$ms=0,this.parseFromMilliseconds()),C)return p(k*f[m(C)],this);if(typeof k=="number")return this.$ms=k,this.parseFromMilliseconds(),this;if(typeof k=="object")return Object.keys(k).forEach((function(E){L.$d[m(E)]=k[E]})),this.calMilliseconds(),this;if(typeof k=="string"){var I=k.match(h);if(I){var R=I.slice(2).map((function(E){return E!=null?Number(E):0}));return this.$d.years=R[0],this.$d.months=R[1],this.$d.weeks=R[2],this.$d.days=R[3],this.$d.hours=R[4],this.$d.minutes=R[5],this.$d.seconds=R[6],this.calMilliseconds(),this}}return this}o(S,"l");var w=S.prototype;return w.calMilliseconds=function(){var k=this;this.$ms=Object.keys(this.$d).reduce((function(C,A){return C+(k.$d[A]||0)*f[A]}),0)},w.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/a),k%=a,this.$d.hours=y(k/i),k%=i,this.$d.minutes=y(k/n),k%=n,this.$d.seconds=y(k/r),k%=r,this.$d.milliseconds=k},w.toISOString=function(){var k=x(this.$d.years,"Y"),C=x(this.$d.months,"M"),A=+this.$d.days||0;this.$d.weeks&&(A+=7*this.$d.weeks);var L=x(A,"D"),I=x(this.$d.hours,"H"),R=x(this.$d.minutes,"M"),E=this.$d.seconds||0;this.$d.milliseconds&&(E+=this.$d.milliseconds/1e3,E=Math.round(1e3*E)/1e3);var _=x(E,"S"),D=k.negative||C.negative||L.negative||I.negative||R.negative||_.negative,O=I.format||R.format||_.format?"T":"",N=(D?"-":"")+"P"+k.format+C.format+L.format+O+I.format+R.format+_.format;return N==="P"||N==="-P"?"P0D":N},w.toJSON=function(){return this.toISOString()},w.format=function(k){var C=k||"YYYY-MM-DDTHH:mm:ss",A={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return C.replace(s,(function(L,I){return I||String(A[L])}))},w.as=function(k){return this.$ms/f[m(k)]},w.get=function(k){var C=this.$ms,A=m(k);return A==="milliseconds"?C%=1e3:C=A==="weeks"?y(C/f[A]):this.$d[A],C||0},w.add=function(k,C,A){var L;return L=C?k*f[m(C)]:d(k)?k.$ms:p(k,this).$ms,p(this.$ms+L*(A?-1:1),this)},w.subtract=function(k,C){return this.add(k,C,!0)},w.locale=function(k){var C=this.clone();return C.$l=k,C},w.clone=function(){return p(this.$ms,this)},w.humanize=function(k){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!k)},w.valueOf=function(){return this.asMilliseconds()},w.milliseconds=function(){return this.get("milliseconds")},w.asMilliseconds=function(){return this.as("milliseconds")},w.seconds=function(){return this.get("seconds")},w.asSeconds=function(){return this.as("seconds")},w.minutes=function(){return this.get("minutes")},w.asMinutes=function(){return this.as("minutes")},w.hours=function(){return this.get("hours")},w.asHours=function(){return this.as("hours")},w.days=function(){return this.get("days")},w.asDays=function(){return this.as("days")},w.weeks=function(){return this.get("weeks")},w.asWeeks=function(){return this.as("weeks")},w.months=function(){return this.get("months")},w.asMonths=function(){return this.as("months")},w.years=function(){return this.get("years")},w.asYears=function(){return this.as("years")},S})(),T=o(function(S,w,k){return S.add(w.years()*k,"y").add(w.months()*k,"M").add(w.days()*k,"d").add(w.hours()*k,"h").add(w.minutes()*k,"m").add(w.seconds()*k,"s").add(w.milliseconds()*k,"ms")},"p");return function(S,w,k){t=k,e=k().$utils(),k.duration=function(L,I){var R=k.locale();return p(L,{$l:R},I)},k.isDuration=d;var C=w.prototype.add,A=w.prototype.subtract;w.prototype.add=function(L,I){return d(L)?T(this,L,1):C.bind(this)(L,I)},w.prototype.subtract=function(L,I){return d(L)?T(this,L,-1):A.bind(this)(L,I)}}}))});var ry,h1e,MQe,u1e,IQe,ah,PF,OQe,f1e,d1e=M(()=>{"use strict";ry=La(j4(),1),h1e=La(c1e(),1);pt();yr();gr();Xt();Ei();ry.default.extend(h1e.default);MQe=o(function(){X.debug("Something is calling, setConf, remove the call")},"setConf"),u1e={monday:Ih,tuesday:B5,wednesday:F5,thursday:fc,friday:$5,saturday:z5,sunday:wl},IQe=o((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(let a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),PF=1e4,OQe=o(function(t,e,r,n){let i=ge().gantt,a=ge().securityLevel,s;a==="sandbox"&&(s=qe("#i"+e));let l=a==="sandbox"?qe(s.nodes()[0].contentDocument.body):qe("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);ah=h.parentElement.offsetWidth,ah===void 0&&(ah=1200),i.useWidth!==void 0&&(ah=i.useWidth);let f=n.db.getTasks(),d=[];for(let L of f)d.push(L.type);d=A(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let L={};for(let R of f)L[R.section]===void 0?L[R.section]=[R]:L[R.section].push(R);let I=0;for(let R of Object.keys(L)){let E=IQe(L[R],I)+1;I+=E,m+=E*(i.barHeight+i.barGap),p[R]=E}}else{m+=f.length*(i.barHeight+i.barGap);for(let L of d)p[L]=f.filter(I=>I.type===L).length}h.setAttribute("viewBox","0 0 "+ah+" "+m);let g=l.select(`[id="${e}"]`),y=U5().domain([X3(f,function(L){return L.startTime}),Y3(f,function(L){return L.endTime})]).rangeRound([0,ah-i.leftPadding-i.rightPadding]);function v(L,I){let R=L.startTime,E=I.startTime,_=0;return R>E?_=1:R$.vert===U.vert?0:$.vert?1:-1);let P=[...new Set(L.map($=>$.order))].map($=>L.find(U=>U.order===$));g.append("g").selectAll("rect").data(P).enter().append("rect").attr("x",0).attr("y",function($,U){return U=$.order,U*I+R-2}).attr("width",function(){return O-i.rightPadding/2}).attr("height",I).attr("class",function($){for(let[U,j]of d.entries())if($.type===j)return"section section"+U%i.numberSectionStyles;return"section section0"}).enter();let B=g.append("g").selectAll("rect").data(L).enter(),F=n.db.getLinks();if(B.append("rect").attr("id",function($){return $.id}).attr("rx",3).attr("ry",3).attr("x",function($){return $.milestone?y($.startTime)+E+.5*(y($.endTime)-y($.startTime))-.5*_:y($.startTime)+E}).attr("y",function($,U){return U=$.order,$.vert?i.gridLineStartPadding:U*I+R}).attr("width",function($){return $.milestone?_:$.vert?.08*_:y($.renderEndTime||$.endTime)-y($.startTime)}).attr("height",function($){return $.vert?f.length*(i.barHeight+i.barGap)+i.barHeight*2:_}).attr("transform-origin",function($,U){return U=$.order,(y($.startTime)+E+.5*(y($.endTime)-y($.startTime))).toString()+"px "+(U*I+R+.5*_).toString()+"px"}).attr("class",function($){let U="task",j="";$.classes.length>0&&(j=$.classes.join(" "));let ee=0;for(let[oe,Q]of d.entries())$.type===Q&&(ee=oe%i.numberSectionStyles);let q="";return $.active?$.crit?q+=" activeCrit":q=" active":$.done?$.crit?q=" doneCrit":q=" done":$.crit&&(q+=" crit"),q.length===0&&(q=" task"),$.milestone&&(q=" milestone "+q),$.vert&&(q=" vert "+q),q+=ee,q+=" "+j,U+q}),B.append("text").attr("id",function($){return $.id+"-text"}).text(function($){return $.task}).attr("font-size",i.fontSize).attr("x",function($){let U=y($.startTime),j=y($.renderEndTime||$.endTime);if($.milestone&&(U+=.5*(y($.endTime)-y($.startTime))-.5*_,j=U+_),$.vert)return y($.startTime)+E;let ee=this.getBBox().width;return ee>j-U?j+ee+1.5*i.leftPadding>O?U+E-5:j+E+5:(j-U)/2+U+E}).attr("y",function($,U){return $.vert?i.gridLineStartPadding+f.length*(i.barHeight+i.barGap)+60:(U=$.order,U*I+i.barHeight/2+(i.fontSize/2-2)+R)}).attr("text-height",_).attr("class",function($){let U=y($.startTime),j=y($.endTime);$.milestone&&(j=U+_);let ee=this.getBBox().width,q="";$.classes.length>0&&(q=$.classes.join(" "));let oe=0;for(let[ue,te]of d.entries())$.type===te&&(oe=ue%i.numberSectionStyles);let Q="";return $.active&&($.crit?Q="activeCritText"+oe:Q="activeText"+oe),$.done?$.crit?Q=Q+" doneCritText"+oe:Q=Q+" doneText"+oe:$.crit&&(Q=Q+" critText"+oe),$.milestone&&(Q+=" milestoneText"),$.vert&&(Q+=" vertText"),ee>j-U?j+ee+1.5*i.leftPadding>O?q+" taskTextOutsideLeft taskTextOutside"+oe+" "+Q:q+" taskTextOutsideRight taskTextOutside"+oe+" "+Q+" width-"+ee:q+" taskText taskText"+oe+" "+Q+" width-"+ee}),ge().securityLevel==="sandbox"){let $;$=qe("#i"+e);let U=$.nodes()[0].contentDocument;B.filter(function(j){return F.has(j.id)}).each(function(j){var ee=U.querySelector("#"+j.id),q=U.querySelector("#"+j.id+"-text");let oe=ee.parentNode;var Q=U.createElement("a");Q.setAttribute("xlink:href",F.get(j.id)),Q.setAttribute("target","_top"),oe.appendChild(Q),Q.appendChild(ee),Q.appendChild(q)})}}o(b,"drawRects");function T(L,I,R,E,_,D,O,N){if(O.length===0&&N.length===0)return;let P,B;for(let{startTime:ee,endTime:q}of D)(P===void 0||eeB)&&(B=q);if(!P||!B)return;if((0,ry.default)(B).diff((0,ry.default)(P),"year")>5){X.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let F=n.db.getDateFormat(),V=[],$=null,U=(0,ry.default)(P);for(;U.valueOf()<=B;)n.db.isInvalidDate(U,F,O,N)?$?$.end=U:$={start:U,end:U}:$&&(V.push($),$=null),U=U.add(1,"d");g.append("g").selectAll("rect").data(V).enter().append("rect").attr("id",ee=>"exclude-"+ee.start.format("YYYY-MM-DD")).attr("x",ee=>y(ee.start.startOf("day"))+R).attr("y",i.gridLineStartPadding).attr("width",ee=>y(ee.end.endOf("day"))-y(ee.start.startOf("day"))).attr("height",_-I-i.gridLineStartPadding).attr("transform-origin",function(ee,q){return(y(ee.start)+R+.5*(y(ee.end)-y(ee.start))).toString()+"px "+(q*L+.5*_).toString()+"px"}).attr("class","exclude-range")}o(T,"drawExcludeDays");function S(L,I,R,E){if(R<=0||L>I)return 1/0;let _=I-L,D=ry.default.duration({[E??"day"]:R}).asMilliseconds();return D<=0?1/0:Math.ceil(_/D)}o(S,"getEstimatedTickCount");function w(L,I,R,E){let _=n.db.getDateFormat(),D=n.db.getAxisFormat(),O;D?O=D:_==="D"?O="%d":O=i.axisFormat??"%Y-%m-%d";let N=QA(y).tickSize(-E+I+i.gridLineStartPadding).tickFormat(Pd(O)),B=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(B!==null){let F=parseInt(B[1],10);if(isNaN(F)||F<=0)X.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let V=B[2],$=n.db.getWeekday()||i.weekday,U=y.domain(),j=U[0],ee=U[1],q=S(j,ee,F,V);if(q>PF)X.warn(`The tick interval "${F}${V}" would generate ${q} ticks, which exceeds the maximum allowed (${PF}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(V){case"millisecond":N.ticks(uc.every(F));break;case"second":N.ticks(io.every(F));break;case"minute":N.ticks(ku.every(F));break;case"hour":N.ticks(Eu.every(F));break;case"day":N.ticks(Ro.every(F));break;case"week":N.ticks(u1e[$].every(F));break;case"month":N.ticks(Su.every(F));break}}}if(g.append("g").attr("class","grid").attr("transform","translate("+L+", "+(E-50)+")").call(N).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=KA(y).tickSize(-E+I+i.gridLineStartPadding).tickFormat(Pd(O));if(B!==null){let V=parseInt(B[1],10);if(isNaN(V)||V<=0)X.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let $=B[2],U=n.db.getWeekday()||i.weekday,j=y.domain(),ee=j[0],q=j[1];if(S(ee,q,V,$)<=PF)switch($){case"millisecond":F.ticks(uc.every(V));break;case"second":F.ticks(io.every(V));break;case"minute":F.ticks(ku.every(V));break;case"hour":F.ticks(Eu.every(V));break;case"day":F.ticks(Ro.every(V));break;case"week":F.ticks(u1e[U].every(V));break;case"month":F.ticks(Su.every(V));break}}}g.append("g").attr("class","grid").attr("transform","translate("+L+", "+I+")").call(F).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(w,"makeGrid");function k(L,I){let R=0,E=Object.keys(p).map(_=>[_,p[_]]);g.append("g").selectAll("text").data(E).enter().append(function(_){let D=_[0].split(tt.lineBreakRegex),O=-(D.length-1)/2,N=u.createElementNS("http://www.w3.org/2000/svg","text");N.setAttribute("dy",O+"em");for(let[P,B]of D.entries()){let F=u.createElementNS("http://www.w3.org/2000/svg","tspan");F.setAttribute("alignment-baseline","central"),F.setAttribute("x","10"),P>0&&F.setAttribute("dy","1em"),F.textContent=B,N.appendChild(F)}return N}).attr("x",10).attr("y",function(_,D){if(D>0)for(let O=0;O{"use strict";PQe=o(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; + } + + + /* 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; + } + + .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"),p1e=PQe});var g1e={};dr(g1e,{diagram:()=>BQe});var BQe,y1e=M(()=>{"use strict";Vge();l1e();d1e();m1e();BQe={parser:Gge,db:s1e,renderer:f1e,styles:p1e}});var b1e,T1e=M(()=>{"use strict";Uf();pt();b1e={parse:o(async t=>{let e=await bs("info",t);X.debug(e)},"parse")}});var y4,BF=M(()=>{y4={name:"mermaid",version:"11.12.2",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.1.1","@iconify/utils":"^3.0.1","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.13",dayjs:"^1.11.18",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.2.1",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.5","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.2",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.1.0",jison:"^0.4.18","js-base64":"^3.7.8",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.3",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.13","type-fest":"^4.35.0",typedoc:"^0.28.12","typedoc-plugin-markdown":"^4.8.1",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.6.4","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}});var VQe,UQe,w1e,k1e=M(()=>{"use strict";BF();VQe={version:y4.version+""},UQe=o(()=>VQe.version,"getVersion"),w1e={getVersion:UQe}});var aa,tu=M(()=>{"use strict";yr();Xt();aa=o(t=>{let{securityLevel:e}=ge(),r=qe("body");if(e==="sandbox"){let a=qe(`#i${t}`).node()?.contentDocument??document;r=qe(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var HQe,E1e,S1e=M(()=>{"use strict";pt();tu();Ei();HQe=o((t,e,r)=>{X.debug(`rendering info diagram +`+t);let n=aa(e);mn(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"),E1e={draw:HQe}});var C1e={};dr(C1e,{diagram:()=>qQe});var qQe,A1e=M(()=>{"use strict";T1e();k1e();S1e();qQe={parser:b1e,db:w1e,renderer:E1e}});var L1e,FF,z6,$F,XQe,jQe,KQe,QQe,ZQe,JQe,eZe,G6,zF=M(()=>{"use strict";pt();ci();Ra();L1e=ur.pie,FF={sections:new Map,showData:!1,config:L1e},z6=FF.sections,$F=FF.showData,XQe=structuredClone(L1e),jQe=o(()=>structuredClone(XQe),"getConfig"),KQe=o(()=>{z6=new Map,$F=FF.showData,Sr()},"clear"),QQe=o(({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.`);z6.has(t)||(z6.set(t,e),X.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),ZQe=o(()=>z6,"getSections"),JQe=o(t=>{$F=t},"setShowData"),eZe=o(()=>$F,"getShowData"),G6={getConfig:jQe,clear:KQe,setDiagramTitle:$r,getDiagramTitle:Pr,setAccTitle:Rr,getAccTitle:Mr,setAccDescription:Ir,getAccDescription:Or,addSection:QQe,getSections:ZQe,setShowData:JQe,getShowData:eZe}});var tZe,R1e,N1e=M(()=>{"use strict";Uf();pt();r0();zF();tZe=o((t,e)=>{nl(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),R1e={parse:o(async t=>{let e=await bs("pie",t);X.debug(e),tZe(e,G6)},"parse")}});var rZe,M1e,I1e=M(()=>{"use strict";rZe=o(t=>` + .pieCircle{ + stroke: ${t.pieStrokeColor}; + stroke-width : ${t.pieStrokeWidth}; + opacity : ${t.pieOpacity}; + } + .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"),M1e=rZe});var nZe,iZe,O1e,P1e=M(()=>{"use strict";yr();Xt();pt();tu();Ei();tr();nZe=o(t=>{let 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).sort((i,a)=>a.value-i.value);return j5().value(i=>i.value)(r)},"createPieArcs"),iZe=o((t,e,r,n)=>{X.debug(`rendering pie chart +`+t);let i=n.db,a=ge(),s=Vn(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=aa(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=vc(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=Sl().innerRadius(0).outerRadius(x),T=Sl().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let S=i.getSections(),w=nZe(S),k=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],C=0;S.forEach(D=>{C+=D});let A=w.filter(D=>(D.data.value/C*100).toFixed(0)!=="0"),L=no(k);m.selectAll("mySlices").data(A).enter().append("path").attr("d",b).attr("fill",D=>L(D.data.label)).attr("class","pieCircle"),m.selectAll("mySlices").data(A).enter().append("text").text(D=>(D.data.value/C*100).toFixed(0)+"%").attr("transform",D=>"translate("+T.centroid(D)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let I=[...S.entries()].map(([D,O])=>({label:D,value:O})),R=m.selectAll(".legend").data(I).enter().append("g").attr("class","legend").attr("transform",(D,O)=>{let N=u+h,P=N*I.length/2,B=12*u,F=O*N-P;return"translate("+B+","+F+")"});R.append("rect").attr("width",u).attr("height",u).style("fill",D=>L(D.label)).style("stroke",D=>L(D.label)),R.append("text").attr("x",u+h).attr("y",u-h).text(D=>i.getShowData()?`${D.label} [${D.value}]`:D.label);let E=Math.max(...R.selectAll("text").nodes().map(D=>D?.getBoundingClientRect().width??0)),_=d+l+u+h+E;p.attr("viewBox",`0 0 ${_} ${f}`),mn(p,f,_,s.useMaxWidth)},"draw"),O1e={draw:iZe}});var B1e={};dr(B1e,{diagram:()=>aZe});var aZe,F1e=M(()=>{"use strict";N1e();zF();I1e();P1e();aZe={parser:R1e,db:G6,renderer:O1e,styles:M1e}});var GF,z1e,G1e=M(()=>{"use strict";GF=(function(){var t=o(function(he,z,se,le){for(se=se||{},le=he.length;le--;se[he[le]]=z);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],T=[1,19],S=[1,20],w=[1,21],k=[1,22],C=[1,24],A=[1,25],L=[1,26],I=[1,27],R=[1,28],E=[1,29],_=[1,32],D=[1,33],O=[1,34],N=[1,39],P=[1,40],B=[1,42],F=[1,44],V=[1,62],$=[1,61],U=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],j=[1,65],ee=[1,66],q=[1,67],oe=[1,68],Q=[1,69],ue=[1,70],te=[1,71],re=[1,72],J=[1,73],K=[1,74],ae=[1,75],Z=[1,76],de=[4,5,6,7,8,9,10,11,12,13,14,15,18],ne=[1,90],Te=[1,91],W=[1,92],Ve=[1,99],pe=[1,93],Be=[1,96],Ye=[1,94],He=[1,95],Le=[1,97],Ie=[1,98],Ne=[1,102],Ce=[10,55,56,57],Fe=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],fe={trace:o(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],[59,1],[59,1],[59,1]],performAction:o(function(z,se,le,ke,ve,ye,Re){var _e=ye.length-1;switch(ve){case 23:this.$=ye[_e];break;case 24:this.$=ye[_e-1]+""+ye[_e];break;case 26:this.$=ye[_e-1]+ye[_e];break;case 27:this.$=[ye[_e].trim()];break;case 28:ye[_e-2].push(ye[_e].trim()),this.$=ye[_e-2];break;case 29:this.$=ye[_e-4],ke.addClass(ye[_e-2],ye[_e]);break;case 37:this.$=[];break;case 42:this.$=ye[_e].trim(),ke.setDiagramTitle(this.$);break;case 43:this.$=ye[_e].trim(),ke.setAccTitle(this.$);break;case 44:case 45:this.$=ye[_e].trim(),ke.setAccDescription(this.$);break;case 46:ke.addSection(ye[_e].substr(8)),this.$=ye[_e].substr(8);break;case 47:ke.addPoint(ye[_e-3],"",ye[_e-1],ye[_e],[]);break;case 48:ke.addPoint(ye[_e-4],ye[_e-3],ye[_e-1],ye[_e],[]);break;case 49:ke.addPoint(ye[_e-4],"",ye[_e-2],ye[_e-1],ye[_e]);break;case 50:ke.addPoint(ye[_e-5],ye[_e-4],ye[_e-2],ye[_e-1],ye[_e]);break;case 51:ke.setXAxisLeftText(ye[_e-2]),ke.setXAxisRightText(ye[_e]);break;case 52:ye[_e-1].text+=" \u27F6 ",ke.setXAxisLeftText(ye[_e-1]);break;case 53:ke.setXAxisLeftText(ye[_e]);break;case 54:ke.setYAxisBottomText(ye[_e-2]),ke.setYAxisTopText(ye[_e]);break;case 55:ye[_e-1].text+=" \u27F6 ",ke.setYAxisBottomText(ye[_e-1]);break;case 56:ke.setYAxisBottomText(ye[_e]);break;case 57:ke.setQuadrant1Text(ye[_e]);break;case 58:ke.setQuadrant2Text(ye[_e]);break;case 59:ke.setQuadrant3Text(ye[_e]);break;case 60:ke.setQuadrant4Text(ye[_e]);break;case 64:this.$={text:ye[_e],type:"text"};break;case 65:this.$={text:ye[_e-1].text+""+ye[_e],type:ye[_e-1].type};break;case 66:this.$={text:ye[_e],type:"text"};break;case 67:this.$={text:ye[_e],type:"markdown"};break;case 68:this.$=ye[_e];break;case 69:this.$=ye[_e-1]+""+ye[_e];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(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:S,41:w,42:k,48:C,50:A,51:L,52:I,53:R,54:E,60:_,61:D,63:O,64:N,65:P,66:B,67:F}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:S,41:w,42:k,48:C,50:A,51:L,52:I,53:R,54:E,60:_,61:D,63:O,64:N,65:P,66:B,67:F}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:_,61:D,63:O,64:N,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:_,61:D,63:O,64:N,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:_,61:D,63:O,64:N,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:_,61:D,63:O,64:N,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:_,61:D,63:O,64:N,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:_,61:D,63:O,64:N,65:P,66:B,67:F},{4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,44:[1,57],47:[1,58],58:60,59:59,63:O,64:N,65:P,66:B,67:F},t(U,[2,64]),t(U,[2,66]),t(U,[2,67]),t(U,[2,70]),t(U,[2,71]),t(U,[2,72]),t(U,[2,73]),t(U,[2,74]),t(U,[2,75]),t(U,[2,76]),t(U,[2,77]),t(U,[2,78]),t(U,[2,79]),t(U,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:j,5:ee,6:q,7:oe,8:Q,9:ue,10:te,11:re,12:J,13:K,14:ae,15:Z,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,49:[1,77],63:O,64:N,65:P,66:B,67:F}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,49:[1,78],63:O,64:N,65:P,66:B,67:F}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,63:O,64:N,65:P,66:B,67:F}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,63:O,64:N,65:P,66:B,67:F}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,63:O,64:N,65:P,66:B,67:F}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,63:O,64:N,65:P,66:B,67:F}),{45:[1,79]},{44:[1,80]},t(U,[2,65]),t(U,[2,81]),t(U,[2,82]),t(U,[2,83]),{3:82,4:j,5:ee,6:q,7:oe,8:Q,9:ue,10:te,11:re,12:J,13:K,14:ae,15:Z,18:[1,81]},t(de,[2,23]),t(de,[2,1]),t(de,[2,2]),t(de,[2,3]),t(de,[2,4]),t(de,[2,5]),t(de,[2,6]),t(de,[2,7]),t(de,[2,8]),t(de,[2,9]),t(de,[2,10]),t(de,[2,11]),t(de,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:_,61:D,63:O,64:N,65:P,66:B,67:F}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:_,61:D,63:O,64:N,65:P,66:B,67:F}),{46:[1,85]},{45:[1,86]},{4:ne,5:Te,6:W,8:Ve,11:pe,13:Be,16:89,17:Ye,18:He,19:Le,20:Ie,22:88,23:87},t(de,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,63:O,64:N,65:P,66:B,67:F}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:V,10:p,12:m,13:g,14:y,18:$,63:O,64:N,65:P,66:B,67:F}),t(u,[2,47],{22:88,16:89,23:100,4:ne,5:Te,6:W,8:Ve,11:pe,13:Be,17:Ye,18:He,19:Le,20:Ie}),{46:[1,101]},t(u,[2,29],{10:Ne}),t(Ce,[2,27],{16:103,4:ne,5:Te,6:W,8:Ve,11:pe,13:Be,17:Ye,18:He,19:Le,20:Ie}),t(Fe,[2,25]),t(Fe,[2,13]),t(Fe,[2,14]),t(Fe,[2,15]),t(Fe,[2,16]),t(Fe,[2,17]),t(Fe,[2,18]),t(Fe,[2,19]),t(Fe,[2,20]),t(Fe,[2,21]),t(Fe,[2,22]),t(u,[2,49],{10:Ne}),t(u,[2,48],{22:88,16:89,23:104,4:ne,5:Te,6:W,8:Ve,11:pe,13:Be,17:Ye,18:He,19:Le,20:Ie}),{4:ne,5:Te,6:W,8:Ve,11:pe,13:Be,16:89,17:Ye,18:He,19:Le,20:Ie,22:105},t(Fe,[2,26]),t(u,[2,50],{10:Ne}),t(Ce,[2,28],{16:103,4:ne,5:Te,6:W,8:Ve,11:pe,13:Be,17:Ye,18:He,19:Le,20:Ie})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(z,se){if(se.recoverable)this.trace(z);else{var le=new Error(z);throw le.hash=se,le}},"parseError"),parse:o(function(z){var se=this,le=[0],ke=[],ve=[null],ye=[],Re=this.table,_e="",ze=0,Ke=0,xt=0,We=2,Oe=1,et=ye.slice.call(arguments,1),Ue=Object.create(this.lexer),lt={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(lt.yy[Gt]=this.yy[Gt]);Ue.setInput(z,lt.yy),lt.yy.lexer=Ue,lt.yy.parser=this,typeof Ue.yylloc>"u"&&(Ue.yylloc={});var vt=Ue.yylloc;ye.push(vt);var Lt=Ue.options&&Ue.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function dt(Se){le.length=le.length-2*Se,ve.length=ve.length-Se,ye.length=ye.length-Se}o(dt,"popStack");function nt(){var Se;return Se=ke.pop()||Ue.lex()||Oe,typeof Se!="number"&&(Se instanceof Array&&(ke=Se,Se=ke.pop()),Se=se.symbols_[Se]||Se),Se}o(nt,"lex");for(var bt,wt,yt,ft,Ur,_t,bn={},Br,cr,ar,_r;;){if(yt=le[le.length-1],this.defaultActions[yt]?ft=this.defaultActions[yt]:((bt===null||typeof bt>"u")&&(bt=nt()),ft=Re[yt]&&Re[yt][bt]),typeof ft>"u"||!ft.length||!ft[0]){var Ct="";_r=[];for(Br in Re[yt])this.terminals_[Br]&&Br>We&&_r.push("'"+this.terminals_[Br]+"'");Ue.showPosition?Ct="Parse error on line "+(ze+1)+`: +`+Ue.showPosition()+` +Expecting `+_r.join(", ")+", got '"+(this.terminals_[bt]||bt)+"'":Ct="Parse error on line "+(ze+1)+": Unexpected "+(bt==Oe?"end of input":"'"+(this.terminals_[bt]||bt)+"'"),this.parseError(Ct,{text:Ue.match,token:this.terminals_[bt]||bt,line:Ue.yylineno,loc:vt,expected:_r})}if(ft[0]instanceof Array&&ft.length>1)throw new Error("Parse Error: multiple actions possible at state: "+yt+", token: "+bt);switch(ft[0]){case 1:le.push(bt),ve.push(Ue.yytext),ye.push(Ue.yylloc),le.push(ft[1]),bt=null,wt?(bt=wt,wt=null):(Ke=Ue.yyleng,_e=Ue.yytext,ze=Ue.yylineno,vt=Ue.yylloc,xt>0&&xt--);break;case 2:if(cr=this.productions_[ft[1]][1],bn.$=ve[ve.length-cr],bn._$={first_line:ye[ye.length-(cr||1)].first_line,last_line:ye[ye.length-1].last_line,first_column:ye[ye.length-(cr||1)].first_column,last_column:ye[ye.length-1].last_column},Lt&&(bn._$.range=[ye[ye.length-(cr||1)].range[0],ye[ye.length-1].range[1]]),_t=this.performAction.apply(bn,[_e,Ke,ze,lt.yy,ft[1],ve,ye].concat(et)),typeof _t<"u")return _t;cr&&(le=le.slice(0,-1*cr*2),ve=ve.slice(0,-1*cr),ye=ye.slice(0,-1*cr)),le.push(this.productions_[ft[1]][0]),ve.push(bn.$),ye.push(bn._$),ar=Re[le[le.length-2]][le[le.length-1]],le.push(ar);break;case 3:return!0}}return!0},"parse")},xe=(function(){var he={EOF:1,parseError:o(function(se,le){if(this.yy.parser)this.yy.parser.parseError(se,le);else throw new Error(se)},"parseError"),setInput:o(function(z,se){return this.yy=se||this.yy||{},this._input=z,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:o(function(){var z=this._input[0];this.yytext+=z,this.yyleng++,this.offset++,this.match+=z,this.matched+=z;var se=z.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),z},"input"),unput:o(function(z){var se=z.length,le=z.split(/(?:\r\n?|\n)/g);this._input=z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var ke=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 ve=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===ke.length?this.yylloc.first_column:0)+ke[ke.length-le.length].length-le[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[ve[0],ve[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(z){this.unput(this.match.slice(z))},"less"),pastInput:o(function(){var z=this.matched.substr(0,this.matched.length-this.match.length);return(z.length>20?"...":"")+z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var z=this.match;return z.length<20&&(z+=this._input.substr(0,20-z.length)),(z.substr(0,20)+(z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var z=this.pastInput(),se=new Array(z.length+1).join("-");return z+this.upcomingInput()+` +`+se+"^"},"showPosition"),test_match:o(function(z,se){var le,ke,ve;if(this.options.backtrack_lexer&&(ve={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&&(ve.yylloc.range=this.yylloc.range.slice(0))),ke=z[0].match(/(?:\r\n?|\n).*/g),ke&&(this.yylineno+=ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ke?ke[ke.length-1].length-ke[ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+z[0].length},this.yytext+=z[0],this.match+=z[0],this.matches=z,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(z[0].length),this.matched+=z[0],le=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),le)return le;if(this._backtrack){for(var ye in ve)this[ye]=ve[ye];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var z,se,le,ke;this._more||(this.yytext="",this.match="");for(var ve=this._currentRules(),ye=0;yese[0].length)){if(se=le,ke=ye,this.options.backtrack_lexer){if(z=this.test_match(le,ve[ye]),z!==!1)return z;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(z=this.test_match(se,ve[ke]),z!==!1?z:!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:o(function(){var se=this.next();return se||this.lex()},"lex"),begin:o(function(se){this.conditionStack.push(se)},"begin"),popState:o(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:o(function(se){this.begin(se)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(se,le,ke,ve){var ye=ve;switch(ke){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;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;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51: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,/^(?::)/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],inclusive:!0}}};return he})();fe.lexer=xe;function Y(){this.yy={}}return o(Y,"Parser"),Y.prototype=fe,fe.Parser=Y,new Y})();GF.parser=GF;z1e=GF});var Ts,V6,V1e=M(()=>{"use strict";yr();Ra();pt();Py();Ts=mh(),V6=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:ur.quadrantChart?.chartWidth||500,chartWidth:ur.quadrantChart?.chartHeight||500,titlePadding:ur.quadrantChart?.titlePadding||10,titleFontSize:ur.quadrantChart?.titleFontSize||20,quadrantPadding:ur.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:ur.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:ur.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:ur.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:ur.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:ur.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:ur.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:ur.quadrantChart?.pointTextPadding||5,pointLabelFontSize:ur.quadrantChart?.pointLabelFontSize||12,pointRadius:ur.quadrantChart?.pointRadius||5,xAxisPosition:ur.quadrantChart?.xAxisPosition||"top",yAxisPosition:ur.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:ur.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:ur.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:Ts.quadrant1Fill,quadrant2Fill:Ts.quadrant2Fill,quadrant3Fill:Ts.quadrant3Fill,quadrant4Fill:Ts.quadrant4Fill,quadrant1TextFill:Ts.quadrant1TextFill,quadrant2TextFill:Ts.quadrant2TextFill,quadrant3TextFill:Ts.quadrant3TextFill,quadrant4TextFill:Ts.quadrant4TextFill,quadrantPointFill:Ts.quadrantPointFill,quadrantPointTextFill:Ts.quadrantPointTextFill,quadrantXAxisTextFill:Ts.quadrantXAxisTextFill,quadrantYAxisTextFill:Ts.quadrantYAxisTextFill,quadrantTitleFill:Ts.quadrantTitleFill,quadrantInternalBorderStrokeFill:Ts.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Ts.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,X.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){X.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){X.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{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(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,l=Tl().domain([0,1]).range([i,s+i]),u=Tl().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+i,x2:s+h-r,y2:u+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(){let 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)}}}});function VF(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function U1e(t){return!/^\d+$/.test(t)}function H1e(t){return!/^\d+px$/.test(t)}var s0,q1e=M(()=>{"use strict";s0=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};o(VF,"validateHexCode");o(U1e,"validateNumber");o(H1e,"validateSizeInPixels")});function sh(t){return sr(t.trim(),lZe)}function cZe(t){Aa.setData({quadrant1Text:sh(t.text)})}function uZe(t){Aa.setData({quadrant2Text:sh(t.text)})}function hZe(t){Aa.setData({quadrant3Text:sh(t.text)})}function fZe(t){Aa.setData({quadrant4Text:sh(t.text)})}function dZe(t){Aa.setData({xAxisLeftText:sh(t.text)})}function pZe(t){Aa.setData({xAxisRightText:sh(t.text)})}function mZe(t){Aa.setData({yAxisTopText:sh(t.text)})}function gZe(t){Aa.setData({yAxisBottomText:sh(t.text)})}function UF(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(U1e(i))throw new s0(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(VF(i))throw new s0(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(VF(i))throw new s0(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(H1e(i))throw new s0(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function yZe(t,e,r,n,i){let a=UF(i);Aa.addPoints([{x:r,y:n,text:sh(t.text),className:e,...a}])}function vZe(t,e){Aa.addClass(t,UF(e))}function xZe(t){Aa.setConfig({chartWidth:t})}function bZe(t){Aa.setConfig({chartHeight:t})}function TZe(){let t=ge(),{themeVariables:e,quadrantChart:r}=t;return r&&Aa.setConfig(r),Aa.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}),Aa.setData({titleText:Pr()}),Aa.build()}var lZe,Aa,wZe,W1e,Y1e=M(()=>{"use strict";Xt();gr();ci();V1e();q1e();lZe=ge();o(sh,"textSanitizer");Aa=new V6;o(cZe,"setQuadrant1Text");o(uZe,"setQuadrant2Text");o(hZe,"setQuadrant3Text");o(fZe,"setQuadrant4Text");o(dZe,"setXAxisLeftText");o(pZe,"setXAxisRightText");o(mZe,"setYAxisTopText");o(gZe,"setYAxisBottomText");o(UF,"parseStyles");o(yZe,"addPoint");o(vZe,"addClass");o(xZe,"setWidth");o(bZe,"setHeight");o(TZe,"getQuadrantData");wZe=o(function(){Aa.clear(),Sr()},"clear"),W1e={setWidth:xZe,setHeight:bZe,setQuadrant1Text:cZe,setQuadrant2Text:uZe,setQuadrant3Text:hZe,setQuadrant4Text:fZe,setXAxisLeftText:dZe,setXAxisRightText:pZe,setYAxisTopText:mZe,setYAxisBottomText:gZe,parseStyles:UF,addPoint:yZe,addClass:vZe,getQuadrantData:TZe,clear:wZe,setAccTitle:Rr,getAccTitle:Mr,setDiagramTitle:$r,getDiagramTitle:Pr,getAccDescription:Or,setAccDescription:Ir}});var kZe,X1e,j1e=M(()=>{"use strict";yr();Xt();pt();Ei();kZe=o((t,e,r,n)=>{function i(A){return A==="top"?"hanging":"middle"}o(i,"getDominantBaseLine");function a(A){return A==="left"?"start":"middle"}o(a,"getTextAnchor");function s(A){return`translate(${A.x}, ${A.y}) rotate(${A.rotation||0})`}o(s,"getTransformation");let l=ge();X.debug(`Rendering quadrant chart +`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=qe("#i"+e));let d=(u==="sandbox"?qe(h.nodes()[0].contentDocument.body):qe("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;mn(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),T=p.append("g").attr("class","labels"),S=p.append("g").attr("class","title");y.title&&S.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",A=>A.x1).attr("y1",A=>A.y1).attr("x2",A=>A.x2).attr("y2",A=>A.y2).style("stroke",A=>A.strokeFill).style("stroke-width",A=>A.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",A=>A.x).attr("y",A=>A.y).attr("width",A=>A.width).attr("height",A=>A.height).attr("fill",A=>A.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text)).text(A=>A.text.text),T.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(A=>A.text).attr("fill",A=>A.fill).attr("font-size",A=>A.fontSize).attr("dominant-baseline",A=>i(A.horizontalPos)).attr("text-anchor",A=>a(A.verticalPos)).attr("transform",A=>s(A));let C=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");C.append("circle").attr("cx",A=>A.x).attr("cy",A=>A.y).attr("r",A=>A.radius).attr("fill",A=>A.fill).attr("stroke",A=>A.strokeColor).attr("stroke-width",A=>A.strokeWidth),C.append("text").attr("x",0).attr("y",0).text(A=>A.text.text).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text))},"draw"),X1e={draw:kZe}});var K1e={};dr(K1e,{diagram:()=>EZe});var EZe,Q1e=M(()=>{"use strict";G1e();Y1e();j1e();EZe={parser:z1e,db:W1e,renderer:X1e,styles:o(()=>"","styles")}});var HF,eye,tye=M(()=>{"use strict";HF=(function(){var t=o(function(O,N,P,B){for(P=P||{},B=O.length;B--;P[O[B]]=N);return P},"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],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],S=[1,43],w=[1,42],k=[1,47],C=[1,50],A=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],I=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],R=[1,64],E={trace:o(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,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$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",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"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],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(N,P,B,F,V,$,U){var j=$.length-1;switch(V){case 5:F.setOrientation($[j]);break;case 9:F.setDiagramTitle($[j].text.trim());break;case 12:F.setLineData({text:"",type:"text"},$[j]);break;case 13:F.setLineData($[j-1],$[j]);break;case 14:F.setBarData({text:"",type:"text"},$[j]);break;case 15:F.setBarData($[j-1],$[j]);break;case 16:this.$=$[j].trim(),F.setAccTitle(this.$);break;case 17:case 18:this.$=$[j].trim(),F.setAccDescription(this.$);break;case 19:this.$=$[j-1];break;case 20:this.$=[Number($[j-2]),...$[j]];break;case 21:this.$=[Number($[j])];break;case 22:F.setXAxisTitle($[j]);break;case 23:F.setXAxisTitle($[j-1]);break;case 24:F.setXAxisTitle({type:"text",text:""});break;case 25:F.setXAxisBand($[j]);break;case 26:F.setXAxisRangeData(Number($[j-2]),Number($[j]));break;case 27:this.$=$[j-1];break;case 28:this.$=[$[j-2],...$[j]];break;case 29:this.$=[$[j]];break;case 30:F.setYAxisTitle($[j]);break;case 31:F.setYAxisTitle($[j-1]);break;case 32:F.setYAxisTitle({type:"text",text:""});break;case 33:F.setYAxisRangeData(Number($[j-2]),Number($[j]));break;case 37:this.$={text:$[j],type:"text"};break;case 38:this.$={text:$[j],type:"text"};break;case 39:this.$={text:$[j],type:"markdown"};break;case 40:this.$=$[j];break;case 41:this.$=$[j-1]+""+$[j];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36: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(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:39,13:38,24:S,27:w,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:45,15:44,27:k,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:49,17:48,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:52,17:51,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{20:[1,53]},{22:[1,54]},t(A,[2,18]),{1:[2,2]},t(A,[2,8]),t(A,[2,9]),t(L,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T}),t(L,[2,38]),t(L,[2,39]),t(I,[2,40]),t(I,[2,42]),t(I,[2,43]),t(I,[2,44]),t(I,[2,45]),t(I,[2,46]),t(I,[2,47]),t(I,[2,48]),t(I,[2,49]),t(I,[2,50]),t(I,[2,51]),t(A,[2,10]),t(A,[2,22],{30:41,29:56,24:S,27:w}),t(A,[2,24]),t(A,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(A,[2,11]),t(A,[2,30],{33:60,27:k}),t(A,[2,32]),{31:[1,61]},t(A,[2,12]),{17:62,24:C},{25:63,27:R},t(A,[2,14]),{17:65,24:C},t(A,[2,16]),t(A,[2,17]),t(I,[2,41]),t(A,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(A,[2,31]),{27:[1,69]},t(A,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(A,[2,15]),t(A,[2,26]),t(A,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(A,[2,33]),t(A,[2,19]),{25:73,27:R},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(N,P){if(P.recoverable)this.trace(N);else{var B=new Error(N);throw B.hash=P,B}},"parseError"),parse:o(function(N){var P=this,B=[0],F=[],V=[null],$=[],U=this.table,j="",ee=0,q=0,oe=0,Q=2,ue=1,te=$.slice.call(arguments,1),re=Object.create(this.lexer),J={yy:{}};for(var K in this.yy)Object.prototype.hasOwnProperty.call(this.yy,K)&&(J.yy[K]=this.yy[K]);re.setInput(N,J.yy),J.yy.lexer=re,J.yy.parser=this,typeof re.yylloc>"u"&&(re.yylloc={});var ae=re.yylloc;$.push(ae);var Z=re.options&&re.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(fe){B.length=B.length-2*fe,V.length=V.length-fe,$.length=$.length-fe}o(de,"popStack");function ne(){var fe;return fe=F.pop()||re.lex()||ue,typeof fe!="number"&&(fe instanceof Array&&(F=fe,fe=F.pop()),fe=P.symbols_[fe]||fe),fe}o(ne,"lex");for(var Te,W,Ve,pe,Be,Ye,He={},Le,Ie,Ne,Ce;;){if(Ve=B[B.length-1],this.defaultActions[Ve]?pe=this.defaultActions[Ve]:((Te===null||typeof Te>"u")&&(Te=ne()),pe=U[Ve]&&U[Ve][Te]),typeof pe>"u"||!pe.length||!pe[0]){var Fe="";Ce=[];for(Le in U[Ve])this.terminals_[Le]&&Le>Q&&Ce.push("'"+this.terminals_[Le]+"'");re.showPosition?Fe="Parse error on line "+(ee+1)+`: +`+re.showPosition()+` +Expecting `+Ce.join(", ")+", got '"+(this.terminals_[Te]||Te)+"'":Fe="Parse error on line "+(ee+1)+": Unexpected "+(Te==ue?"end of input":"'"+(this.terminals_[Te]||Te)+"'"),this.parseError(Fe,{text:re.match,token:this.terminals_[Te]||Te,line:re.yylineno,loc:ae,expected:Ce})}if(pe[0]instanceof Array&&pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ve+", token: "+Te);switch(pe[0]){case 1:B.push(Te),V.push(re.yytext),$.push(re.yylloc),B.push(pe[1]),Te=null,W?(Te=W,W=null):(q=re.yyleng,j=re.yytext,ee=re.yylineno,ae=re.yylloc,oe>0&&oe--);break;case 2:if(Ie=this.productions_[pe[1]][1],He.$=V[V.length-Ie],He._$={first_line:$[$.length-(Ie||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(Ie||1)].first_column,last_column:$[$.length-1].last_column},Z&&(He._$.range=[$[$.length-(Ie||1)].range[0],$[$.length-1].range[1]]),Ye=this.performAction.apply(He,[j,q,ee,J.yy,pe[1],V,$].concat(te)),typeof Ye<"u")return Ye;Ie&&(B=B.slice(0,-1*Ie*2),V=V.slice(0,-1*Ie),$=$.slice(0,-1*Ie)),B.push(this.productions_[pe[1]][0]),V.push(He.$),$.push(He._$),Ne=U[B[B.length-2]][B[B.length-1]],B.push(Ne);break;case 3:return!0}}return!0},"parse")},_=(function(){var O={EOF:1,parseError:o(function(P,B){if(this.yy.parser)this.yy.parser.parseError(P,B);else throw new Error(P)},"parseError"),setInput:o(function(N,P){return this.yy=P||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var P=N.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),N},"input"),unput:o(function(N){var P=N.length,B=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;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 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:B?(B.length===F.length?this.yylloc.first_column:0)+F[F.length-B.length].length-B[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[V[0],V[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(N){this.unput(this.match.slice(N))},"less"),pastInput:o(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var N=this.pastInput(),P=new Array(N.length+1).join("-");return N+this.upcomingInput()+` +`+P+"^"},"showPosition"),test_match:o(function(N,P){var B,F,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))),F=N[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+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],B=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),B)return B;if(this._backtrack){for(var $ in V)this[$]=V[$];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,P,B,F;this._more||(this.yytext="",this.match="");for(var V=this._currentRules(),$=0;$P[0].length)){if(P=B,F=$,this.options.backtrack_lexer){if(N=this.test_match(B,V[$]),N!==!1)return N;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(N=this.test_match(P,V[F]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var P=this.next();return P||this.lex()},"lex"),begin:o(function(P){this.conditionStack.push(P)},"begin"),popState:o(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:o(function(P){this.begin(P)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(P,B,F,V){var $=V;switch(F){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;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";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 31;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 27;case 25:return this.popState(),26;break;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 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"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\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,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 O})();E.lexer=_;function D(){this.yy={}}return o(D,"Parser"),D.prototype=E,E.Parser=D,new D})();HF.parser=HF;eye=HF});function qF(t){return t.type==="bar"}function U6(t){return t.type==="band"}function ny(t){return t.type==="linear"}var H6=M(()=>{"use strict";o(qF,"isBarPlot");o(U6,"isBandAxisData");o(ny,"isLinearAxisData")});var iy,WF=M(()=>{"use strict";zo();iy=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=XZ(i,1,a),l=s?s.width:a.length*r,u=s?s.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var ay,YF=M(()=>{"use strict";ay=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.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}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(){let 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(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*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){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+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){let 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){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let 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){let 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}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let 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){let 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(){let e=[];if(this.showAxisLine){let 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),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let 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(){let e=[];if(this.showAxisLine){let 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){let 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():[]}}});var q6,rye=M(()=>{"use strict";yr();pt();YF();q6=class extends ay{static{o(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=q0().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=q0().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),X.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var W6,nye=M(()=>{"use strict";yr();YF();W6=class extends ay{static{o(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=Tl().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=Tl().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function XF(t,e,r,n){let i=new iy(n);return U6(t)?new q6(e,r,t.categories,t.title,i):new W6(e,r,[t.min,t.max],t.title,i)}var iye=M(()=>{"use strict";H6();WF();rye();nye();o(XF,"getAxis")});function aye(t,e,r,n){let i=new iy(n);return new jF(i,t,e,r)}var jF,sye=M(()=>{"use strict";WF();jF=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}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let 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(){let 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}};o(aye,"getChartTitleComponent")});var Y6,oye=M(()=>{"use strict";yr();Y6=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=Cl().y(n=>n[0]).x(n=>n[1])(e):r=Cl().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var X6,lye=M(()=>{"use strict";X6=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}static{o(this,"BarPlot")}getDrawableElement(){let 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}))}]}}});function cye(t,e,r){return new KF(t,e,r)}var KF,uye=M(()=>{"use strict";oye();lye();KF=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}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");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new Y6(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new X6(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};o(cye,"getPlotComponent")});var j6,hye=M(()=>{"use strict";iye();sye();uye();H6();j6=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:aye(e,r,n,i),plot:cye(e,r,n),xAxis:XF(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:XF(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{o(this,"Orchestrator")}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),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.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(u=>qF(u))&&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),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),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+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>qF(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var K6,fye=M(()=>{"use strict";hye();K6=class{static{o(this,"XYChartBuilder")}static build(e,r,n,i){return new j6(e,r,n,i).getDrawableElement()}}});function pye(){let t=mh(),e=Qt();return Vn(t.xyChart,e.themeVariables.xyChart)}function mye(){let t=Qt();return Vn(ur.xyChart,t.xyChart)}function gye(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function JF(t){let e=Qt();return sr(t.trim(),e)}function _Ze(t){dye=t}function DZe(t){t==="horizontal"?x4.chartOrientation="horizontal":x4.chartOrientation="vertical"}function LZe(t){pn.xAxis.title=JF(t.text)}function yye(t,e){pn.xAxis={type:"linear",title:pn.xAxis.title,min:t,max:e},Q6=!0}function RZe(t){pn.xAxis={type:"band",title:pn.xAxis.title,categories:t.map(e=>JF(e.text))},Q6=!0}function NZe(t){pn.yAxis.title=JF(t.text)}function MZe(t,e){pn.yAxis={type:"linear",title:pn.yAxis.title,min:t,max:e},ZF=!0}function IZe(t){let e=Math.min(...t),r=Math.max(...t),n=ny(pn.yAxis)?pn.yAxis.min:1/0,i=ny(pn.yAxis)?pn.yAxis.max:-1/0;pn.yAxis={type:"linear",title:pn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function vye(t){let e=[];if(t.length===0)return e;if(!Q6){let r=ny(pn.xAxis)?pn.xAxis.min:1/0,n=ny(pn.xAxis)?pn.xAxis.max:-1/0;yye(Math.min(r,1),Math.max(n,t.length))}if(ZF||IZe(t),U6(pn.xAxis)&&(e=pn.xAxis.categories.map((r,n)=>[r,t[n]])),ny(pn.xAxis)){let r=pn.xAxis.min,n=pn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function xye(t){return QF[t===0?0:t%QF.length]}function OZe(t,e){let r=vye(e);pn.plots.push({type:"line",strokeFill:xye(v4),strokeWidth:2,data:r}),v4++}function PZe(t,e){let r=vye(e);pn.plots.push({type:"bar",fill:xye(v4),data:r}),v4++}function BZe(){if(pn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return pn.title=Pr(),K6.build(x4,pn,b4,dye)}function FZe(){return b4}function $Ze(){return x4}function zZe(){return pn}var v4,dye,x4,b4,pn,QF,Q6,ZF,GZe,bye,Tye=M(()=>{"use strict";qn();Ra();Py();tr();gr();ci();fye();H6();v4=0,x4=mye(),b4=pye(),pn=gye(),QF=b4.plotColorPalette.split(",").map(t=>t.trim()),Q6=!1,ZF=!1;o(pye,"getChartDefaultThemeConfig");o(mye,"getChartDefaultConfig");o(gye,"getChartDefaultData");o(JF,"textSanitizer");o(_Ze,"setTmpSVGG");o(DZe,"setOrientation");o(LZe,"setXAxisTitle");o(yye,"setXAxisRangeData");o(RZe,"setXAxisBand");o(NZe,"setYAxisTitle");o(MZe,"setYAxisRangeData");o(IZe,"setYAxisRangeFromPlotData");o(vye,"transformDataWithoutCategory");o(xye,"getPlotColorFromPalette");o(OZe,"setLineData");o(PZe,"setBarData");o(BZe,"getDrawableElem");o(FZe,"getChartThemeConfig");o($Ze,"getChartConfig");o(zZe,"getXYChartData");GZe=o(function(){Sr(),v4=0,x4=mye(),pn=gye(),b4=pye(),QF=b4.plotColorPalette.split(",").map(t=>t.trim()),Q6=!1,ZF=!1},"clear"),bye={getDrawableElem:BZe,clear:GZe,setAccTitle:Rr,getAccTitle:Mr,setDiagramTitle:$r,getDiagramTitle:Pr,getAccDescription:Or,setAccDescription:Ir,setOrientation:DZe,setXAxisTitle:LZe,setXAxisRangeData:yye,setXAxisBand:RZe,setYAxisTitle:NZe,setYAxisRangeData:MZe,setLineData:OZe,setBarData:PZe,setTmpSVGG:_Ze,getChartThemeConfig:FZe,getChartConfig:$Ze,getXYChartData:zZe}});var VZe,wye,kye=M(()=>{"use strict";pt();tu();Ei();VZe=o((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),l=i.getXYChartData().plots[0].data.map(T=>T[1]);function u(T){return T==="top"?"text-before-edge":"middle"}o(u,"getDominantBaseLine");function h(T){return T==="left"?"start":T==="right"?"end":"middle"}o(h,"getTextAnchor");function f(T){return`translate(${T.x}, ${T.y}) rotate(${T.rotation||0})`}o(f,"getTextTransformation"),X.debug(`Rendering xychart chart +`+t);let d=aa(e),p=d.append("g").attr("class","main"),m=p.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");mn(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),m.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));let g=i.getDrawableElem(),y={};function v(T){let S=p,w="";for(let[k]of T.entries()){let C=p;k>0&&y[w]&&(C=y[w]),w+=T[k],S=y[w],S||(S=y[w]=C.append("g").attr("class",T[k]))}return S}o(v,"getGroup");for(let T of g){if(T.data.length===0)continue;let S=v(T.groupTexts);switch(T.type){case"rect":if(S.selectAll("rect").data(T.data).enter().append("rect").attr("x",w=>w.x).attr("y",w=>w.y).attr("width",w=>w.width).attr("height",w=>w.height).attr("fill",w=>w.fill).attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth),s.showDataLabel)if(s.chartOrientation==="horizontal"){let C=function(I,R){let{data:E,label:_}=I;return R*_.length*.7<=E.width-10};var x=C;o(C,"fitsHorizontally");let w=.7,k=T.data.map((I,R)=>({data:I,label:l[R].toString()})).filter(I=>I.data.width>0&&I.data.height>0),A=k.map(I=>{let{data:R}=I,E=R.height*.7;for(;!C(I,E)&&E>0;)E-=1;return E}),L=Math.floor(Math.min(...A));S.selectAll("text").data(k).enter().append("text").attr("x",I=>I.data.x+I.data.width-10).attr("y",I=>I.data.y+I.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${L}px`).text(I=>I.label)}else{let C=function(I,R,E){let{data:_,label:D}=I,N=R*D.length*.7,P=_.x+_.width/2,B=P-N/2,F=P+N/2,V=B>=_.x&&F<=_.x+_.width,$=_.y+E+R<=_.y+_.height;return V&&$};var b=C;o(C,"fitsInBar");let w=10,k=T.data.map((I,R)=>({data:I,label:l[R].toString()})).filter(I=>I.data.width>0&&I.data.height>0),A=k.map(I=>{let{data:R,label:E}=I,_=R.width/(E.length*.7);for(;!C(I,_,10)&&_>0;)_-=1;return _}),L=Math.floor(Math.min(...A));S.selectAll("text").data(k).enter().append("text").attr("x",I=>I.data.x+I.data.width/2).attr("y",I=>I.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${L}px`).text(I=>I.label)}break;case"text":S.selectAll("text").data(T.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",w=>w.fill).attr("font-size",w=>w.fontSize).attr("dominant-baseline",w=>u(w.verticalPos)).attr("text-anchor",w=>h(w.horizontalPos)).attr("transform",w=>f(w)).text(w=>w.text);break;case"path":S.selectAll("path").data(T.data).enter().append("path").attr("d",w=>w.path).attr("fill",w=>w.fill?w.fill:"none").attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth);break}}},"draw"),wye={draw:VZe}});var Eye={};dr(Eye,{diagram:()=>UZe});var UZe,Sye=M(()=>{"use strict";tye();Tye();kye();UZe={parser:eye,db:bye,renderer:wye}});var e$,_ye,Dye=M(()=>{"use strict";e$=(function(){var t=o(function(fe,xe,Y,he){for(Y=Y||{},he=fe.length;he--;Y[fe[he]]=xe);return Y},"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],l=[2,7],u=[1,26],h=[1,27],f=[1,28],d=[1,29],p=[1,33],m=[1,34],g=[1,35],y=[1,36],v=[1,37],x=[1,38],b=[1,24],T=[1,31],S=[1,32],w=[1,30],k=[1,39],C=[1,40],A=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],L=[1,61],I=[89,90],R=[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],E=[27,29],_=[1,70],D=[1,71],O=[1,72],N=[1,73],P=[1,74],B=[1,75],F=[1,76],V=[1,83],$=[1,80],U=[1,84],j=[1,85],ee=[1,86],q=[1,87],oe=[1,88],Q=[1,89],ue=[1,90],te=[1,91],re=[1,92],J=[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],K=[63,64],ae=[1,101],Z=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],de=[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],ne=[1,110],Te=[1,106],W=[1,107],Ve=[1,108],pe=[1,109],Be=[1,111],Ye=[1,116],He=[1,117],Le=[1,114],Ie=[1,115],Ne={trace:o(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:o(function(xe,Y,he,z,se,le,ke){var ve=le.length-1;switch(se){case 4:this.$=le[ve].trim(),z.setAccTitle(this.$);break;case 5:case 6:this.$=le[ve].trim(),z.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:z.setDirection("TB");break;case 18:z.setDirection("BT");break;case 19:z.setDirection("RL");break;case 20:z.setDirection("LR");break;case 21:z.addRequirement(le[ve-3],le[ve-4]);break;case 22:z.addRequirement(le[ve-5],le[ve-6]),z.setClass([le[ve-5]],le[ve-3]);break;case 23:z.setNewReqId(le[ve-2]);break;case 24:z.setNewReqText(le[ve-2]);break;case 25:z.setNewReqRisk(le[ve-2]);break;case 26:z.setNewReqVerifyMethod(le[ve-2]);break;case 29:this.$=z.RequirementType.REQUIREMENT;break;case 30:this.$=z.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=z.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=z.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=z.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=z.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=z.RiskLevel.LOW_RISK;break;case 36:this.$=z.RiskLevel.MED_RISK;break;case 37:this.$=z.RiskLevel.HIGH_RISK;break;case 38:this.$=z.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=z.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=z.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=z.VerifyType.VERIFY_TEST;break;case 42:z.addElement(le[ve-3]);break;case 43:z.addElement(le[ve-5]),z.setClass([le[ve-5]],le[ve-3]);break;case 44:z.setNewElementType(le[ve-2]);break;case 45:z.setNewElementDocRef(le[ve-2]);break;case 48:z.addRelationship(le[ve-2],le[ve],le[ve-4]);break;case 49:z.addRelationship(le[ve-2],le[ve-4],le[ve]);break;case 50:this.$=z.Relationships.CONTAINS;break;case 51:this.$=z.Relationships.COPIES;break;case 52:this.$=z.Relationships.DERIVES;break;case 53:this.$=z.Relationships.SATISFIES;break;case 54:this.$=z.Relationships.VERIFIES;break;case 55:this.$=z.Relationships.REFINES;break;case 56:this.$=z.Relationships.TRACES;break;case 57:this.$=le[ve-2],z.defineClass(le[ve-1],le[ve]);break;case 58:z.setClass(le[ve-1],le[ve]);break;case 59:z.setClass([le[ve-2]],le[ve]);break;case 60:case 62:this.$=[le[ve]];break;case 61:case 63:this.$=le[ve-2].concat([le[ve]]);break;case 64:this.$=le[ve-2],z.setCssStyle(le[ve-1],le[ve]);break;case 65:this.$=[le[ve]];break;case 66:le[ve-2].push(le[ve]),this.$=le[ve-2];break;case 68:this.$=le[ve-1]+le[ve];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:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},{4:17,5:s,7:43,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},{4:17,5:s,7:44,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},{4:17,5:s,7:45,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},{4:17,5:s,7:46,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},{4:17,5:s,7:47,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},{4:17,5:s,7:48,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},{4:17,5:s,7:49,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,90:C},{4:17,5:s,7:50,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:S,77:w,89:k,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(A,[2,17]),t(A,[2,18]),t(A,[2,19]),t(A,[2,20]),{30:60,33:62,75:L,89:k,90:C},{30:63,33:62,75:L,89:k,90:C},{30:64,33:62,75:L,89:k,90:C},t(I,[2,29]),t(I,[2,30]),t(I,[2,31]),t(I,[2,32]),t(I,[2,33]),t(I,[2,34]),t(R,[2,81]),t(R,[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(E,[2,79]),t(E,[2,80]),{27:[1,67],29:[1,68]},t(E,[2,85]),t(E,[2,86]),{62:69,65:_,66:D,67:O,68:N,69:P,70:B,71:F},{62:77,65:_,66:D,67:O,68:N,69:P,70:B,71:F},{30:78,33:62,75:L,89:k,90:C},{73:79,75:V,76:$,78:81,79:82,80:U,81:j,82:ee,83:q,84:oe,85:Q,86:ue,87:te,88:re},t(J,[2,60]),t(J,[2,62]),{73:93,75:V,76:$,78:81,79:82,80:U,81:j,82:ee,83:q,84:oe,85:Q,86:ue,87:te,88:re},{30:94,33:62,75:L,76:$,89:k,90:C},{5:[1,95]},{30:96,33:62,75:L,89:k,90:C},{5:[1,97]},{30:98,33:62,75:L,89:k,90:C},{63:[1,99]},t(K,[2,50]),t(K,[2,51]),t(K,[2,52]),t(K,[2,53]),t(K,[2,54]),t(K,[2,55]),t(K,[2,56]),{64:[1,100]},t(A,[2,59],{76:$}),t(A,[2,64],{76:ae}),{33:103,75:[1,102],89:k,90:C},t(Z,[2,65],{79:104,75:V,80:U,81:j,82:ee,83:q,84:oe,85:Q,86:ue,87:te,88:re}),t(de,[2,67]),t(de,[2,69]),t(de,[2,70]),t(de,[2,71]),t(de,[2,72]),t(de,[2,73]),t(de,[2,74]),t(de,[2,75]),t(de,[2,76]),t(de,[2,77]),t(de,[2,78]),t(A,[2,57],{76:ae}),t(A,[2,58],{76:$}),{5:ne,28:105,31:Te,34:W,36:Ve,38:pe,40:Be},{27:[1,112],76:$},{5:Ye,40:He,56:113,57:Le,59:Ie},{27:[1,118],76:$},{33:119,89:k,90:C},{33:120,89:k,90:C},{75:V,78:121,79:82,80:U,81:j,82:ee,83:q,84:oe,85:Q,86:ue,87:te,88:re},t(J,[2,61]),t(J,[2,63]),t(de,[2,68]),t(A,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:ne,28:126,31:Te,34:W,36:Ve,38:pe,40:Be},t(A,[2,28]),{5:[1,127]},t(A,[2,42]),{32:[1,128]},{32:[1,129]},{5:Ye,40:He,56:130,57:Le,59:Ie},t(A,[2,47]),{5:[1,131]},t(A,[2,48]),t(A,[2,49]),t(Z,[2,66],{79:104,75:V,80:U,81:j,82:ee,83:q,84:oe,85:Q,86:ue,87:te,88:re}),{33:132,89:k,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(A,[2,27]),{5:ne,28:145,31:Te,34:W,36:Ve,38:pe,40:Be},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(A,[2,46]),{5:Ye,40:He,56:152,57:Le,59:Ie},{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(A,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(A,[2,43]),{5:ne,28:159,31:Te,34:W,36:Ve,38:pe,40:Be},{5:ne,28:160,31:Te,34:W,36:Ve,38:pe,40:Be},{5:ne,28:161,31:Te,34:W,36:Ve,38:pe,40:Be},{5:ne,28:162,31:Te,34:W,36:Ve,38:pe,40:Be},{5:Ye,40:He,56:163,57:Le,59:Ie},{5:Ye,40:He,56:164,57:Le,59:Ie},t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),t(A,[2,26]),t(A,[2,44]),t(A,[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:o(function(xe,Y){if(Y.recoverable)this.trace(xe);else{var he=new Error(xe);throw he.hash=Y,he}},"parseError"),parse:o(function(xe){var Y=this,he=[0],z=[],se=[null],le=[],ke=this.table,ve="",ye=0,Re=0,_e=0,ze=2,Ke=1,xt=le.slice.call(arguments,1),We=Object.create(this.lexer),Oe={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(Oe.yy[et]=this.yy[et]);We.setInput(xe,Oe.yy),Oe.yy.lexer=We,Oe.yy.parser=this,typeof We.yylloc>"u"&&(We.yylloc={});var Ue=We.yylloc;le.push(Ue);var lt=We.options&&We.options.ranges;typeof Oe.yy.parseError=="function"?this.parseError=Oe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gt(ar){he.length=he.length-2*ar,se.length=se.length-ar,le.length=le.length-ar}o(Gt,"popStack");function vt(){var ar;return ar=z.pop()||We.lex()||Ke,typeof ar!="number"&&(ar instanceof Array&&(z=ar,ar=z.pop()),ar=Y.symbols_[ar]||ar),ar}o(vt,"lex");for(var Lt,dt,nt,bt,wt,yt,ft={},Ur,_t,bn,Br;;){if(nt=he[he.length-1],this.defaultActions[nt]?bt=this.defaultActions[nt]:((Lt===null||typeof Lt>"u")&&(Lt=vt()),bt=ke[nt]&&ke[nt][Lt]),typeof bt>"u"||!bt.length||!bt[0]){var cr="";Br=[];for(Ur in ke[nt])this.terminals_[Ur]&&Ur>ze&&Br.push("'"+this.terminals_[Ur]+"'");We.showPosition?cr="Parse error on line "+(ye+1)+`: +`+We.showPosition()+` +Expecting `+Br.join(", ")+", got '"+(this.terminals_[Lt]||Lt)+"'":cr="Parse error on line "+(ye+1)+": Unexpected "+(Lt==Ke?"end of input":"'"+(this.terminals_[Lt]||Lt)+"'"),this.parseError(cr,{text:We.match,token:this.terminals_[Lt]||Lt,line:We.yylineno,loc:Ue,expected:Br})}if(bt[0]instanceof Array&&bt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+nt+", token: "+Lt);switch(bt[0]){case 1:he.push(Lt),se.push(We.yytext),le.push(We.yylloc),he.push(bt[1]),Lt=null,dt?(Lt=dt,dt=null):(Re=We.yyleng,ve=We.yytext,ye=We.yylineno,Ue=We.yylloc,_e>0&&_e--);break;case 2:if(_t=this.productions_[bt[1]][1],ft.$=se[se.length-_t],ft._$={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},lt&&(ft._$.range=[le[le.length-(_t||1)].range[0],le[le.length-1].range[1]]),yt=this.performAction.apply(ft,[ve,Re,ye,Oe.yy,bt[1],se,le].concat(xt)),typeof yt<"u")return yt;_t&&(he=he.slice(0,-1*_t*2),se=se.slice(0,-1*_t),le=le.slice(0,-1*_t)),he.push(this.productions_[bt[1]][0]),se.push(ft.$),le.push(ft._$),bn=ke[he[he.length-2]][he[he.length-1]],he.push(bn);break;case 3:return!0}}return!0},"parse")},Ce=(function(){var fe={EOF:1,parseError:o(function(Y,he){if(this.yy.parser)this.yy.parser.parseError(Y,he);else throw new Error(Y)},"parseError"),setInput:o(function(xe,Y){return this.yy=Y||this.yy||{},this._input=xe,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:o(function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var Y=xe.match(/(?:\r\n?|\n).*/g);return Y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),xe},"input"),unput:o(function(xe){var Y=xe.length,he=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Y),this.offset-=Y;var z=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),he.length-1&&(this.yylineno-=he.length-1);var se=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:he?(he.length===z.length?this.yylloc.first_column:0)+z[z.length-he.length].length-he[0].length:this.yylloc.first_column-Y},this.options.ranges&&(this.yylloc.range=[se[0],se[0]+this.yyleng-Y]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(xe){this.unput(this.match.slice(xe))},"less"),pastInput:o(function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var xe=this.pastInput(),Y=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+` +`+Y+"^"},"showPosition"),test_match:o(function(xe,Y){var he,z,se;if(this.options.backtrack_lexer&&(se={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&&(se.yylloc.range=this.yylloc.range.slice(0))),z=xe[0].match(/(?:\r\n?|\n).*/g),z&&(this.yylineno+=z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:z?z[z.length-1].length-z[z.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,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(xe[0].length),this.matched+=xe[0],he=this.performAction.call(this,this.yy,this,Y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),he)return he;if(this._backtrack){for(var le in se)this[le]=se[le];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,Y,he,z;this._more||(this.yytext="",this.match="");for(var se=this._currentRules(),le=0;leY[0].length)){if(Y=he,z=le,this.options.backtrack_lexer){if(xe=this.test_match(he,se[le]),xe!==!1)return xe;if(this._backtrack){Y=!1;continue}else return!1}else if(!this.options.flex)break}return Y?(xe=this.test_match(Y,se[z]),xe!==!1?xe:!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:o(function(){var Y=this.next();return Y||this.lex()},"lex"),begin:o(function(Y){this.conditionStack.push(Y)},"begin"),popState:o(function(){var Y=this.conditionStack.length-1;return Y>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(Y){return Y=this.conditionStack.length-1-Math.abs(Y||0),Y>=0?this.conditionStack[Y]:"INITIAL"},"topState"),pushState:o(function(Y){this.begin(Y)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Y,he,z,se){var le=se;switch(z){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;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;break;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;break;case 60:return this.begin("style"),74;break;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 he.yytext=he.yytext.trim(),89;break;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 fe})();Ne.lexer=Ce;function Fe(){this.yy={}}return o(Fe,"Parser"),Fe.prototype=Ne,Ne.Parser=Fe,new Fe})();e$.parser=e$;_ye=e$});var Z6,Lye=M(()=>{"use strict";Xt();pt();ci();Z6=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=Rr;this.getAccTitle=Mr;this.setAccDescription=Ir;this.getAccDescription=Or;this.setDiagramTitle=$r;this.getDiagramTitle=Pr;this.getConfig=o(()=>ge().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)}static{o(this,"RequirementDB")}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"]}),X.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,Sr()}setCssStyle(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(let a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(i)for(let a of r){i.classes.push(a);let s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(let 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)){let 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(){let e=ge(),r=[],n=[];for(let i of this.requirements.values()){let a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,r.push(a)}for(let i of this.elements.values()){let a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),r.push(a)}for(let i of this.relations){let a=0,s=i.type===this.Relationships.CONTAINS,l={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look};n.push(l),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}}});var YZe,Rye,Nye=M(()=>{"use strict";YZe=o(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: 1; + } + .relationshipLabel { + 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: ${t.edgeLabelBackground}; + } + +`,"getStyles"),Rye=YZe});var t$={};dr(t$,{draw:()=>XZe});var XZe,Mye=M(()=>{"use strict";Xt();pt();ep();Nf();Mf();tr();XZe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing requirement diagram (unified)",e);let{securityLevel:i,state:a,layout:s}=ge(),l=n.db.getData(),u=Vo(e,i);l.type=n.type,l.layoutAlgorithm=$c(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=["requirement_contains","requirement_arrow"],l.diagramId=e,await Qo(l,u);let h=8;qt.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Ws(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw")});var Iye={};dr(Iye,{diagram:()=>jZe});var jZe,Oye=M(()=>{"use strict";Dye();Lye();Nye();Mye();jZe={parser:_ye,get db(){return new Z6},renderer:t$,styles:Rye}});var r$,Fye,$ye=M(()=>{"use strict";r$=(function(){var t=o(function(re,J,K,ae){for(K=K||{},ae=re.length;ae--;K[re[ae]]=J);return K},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,13],u=[1,14],h=[1,16],f=[1,17],d=[1,18],p=[1,24],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],T=[1,31],S=[1,32],w=[1,33],k=[1,34],C=[1,35],A=[1,36],L=[1,37],I=[1,38],R=[1,39],E=[1,41],_=[1,42],D=[1,43],O=[1,44],N=[1,45],P=[1,46],B=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,55,60,61,62,63,71],F=[2,71],V=[4,5,16,50,52,53],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],U=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,55,60,61,62,63,71],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,55,60,61,62,63,71],ee=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,55,60,61,62,63,71],q=[69,70,71],oe=[1,127],Q={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,actor_with_config:54,note:55,placement:56,text2:57,over:58,actor_pair:59,links:60,link:61,properties:62,details:63,spaceList:64,",":65,left_of:66,right_of:67,signaltype:68,"+":69,"-":70,ACTOR:71,config_object:72,CONFIG_START:73,CONFIG_CONTENT:74,CONFIG_END:75,SOLID_OPEN_ARROW:76,DOTTED_OPEN_ARROW:77,SOLID_ARROW:78,BIDIRECTIONAL_SOLID_ARROW:79,DOTTED_ARROW:80,BIDIRECTIONAL_DOTTED_ARROW:81,SOLID_CROSS:82,DOTTED_CROSS:83,SOLID_POINT:84,DOTTED_POINT:85,TXT:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",55:"note",58:"over",60:"links",61:"link",62:"properties",63:"details",65:",",66:"left_of",67:"right_of",69:"+",70:"-",71:"ACTOR",73:"CONFIG_START",74:"CONFIG_CONTENT",75:"CONFIG_END",76:"SOLID_OPEN_ARROW",77:"DOTTED_OPEN_ARROW",78:"SOLID_ARROW",79:"BIDIRECTIONAL_SOLID_ARROW",80:"DOTTED_ARROW",81:"BIDIRECTIONAL_DOTTED_ARROW",82:"SOLID_CROSS",83:"DOTTED_CROSS",84:"SOLID_POINT",85:"DOTTED_POINT",86:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[64,2],[64,1],[59,3],[59,1],[56,1],[56,1],[17,5],[17,5],[17,4],[54,2],[72,3],[22,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[57,1]],performAction:o(function(J,K,ae,Z,de,ne,Te){var W=ne.length-1;switch(de){case 3:return Z.apply(ne[W]),ne[W];break;case 4:case 9:this.$=[];break;case 5:case 10:ne[W-1].push(ne[W]),this.$=ne[W-1];break;case 6:case 7:case 11:case 12:this.$=ne[W];break;case 8:case 13:this.$=[];break;case 15:ne[W].type="createParticipant",this.$=ne[W];break;case 16:ne[W-1].unshift({type:"boxStart",boxData:Z.parseBoxData(ne[W-2])}),ne[W-1].push({type:"boxEnd",boxText:ne[W-2]}),this.$=ne[W-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ne[W-2]),sequenceIndexStep:Number(ne[W-1]),sequenceVisible:!0,signalType:Z.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ne[W-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:Z.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:Z.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:Z.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:Z.LINETYPE.ACTIVE_START,actor:ne[W-1].actor};break;case 23:this.$={type:"activeEnd",signalType:Z.LINETYPE.ACTIVE_END,actor:ne[W-1].actor};break;case 29:Z.setDiagramTitle(ne[W].substring(6)),this.$=ne[W].substring(6);break;case 30:Z.setDiagramTitle(ne[W].substring(7)),this.$=ne[W].substring(7);break;case 31:this.$=ne[W].trim(),Z.setAccTitle(this.$);break;case 32:case 33:this.$=ne[W].trim(),Z.setAccDescription(this.$);break;case 34:ne[W-1].unshift({type:"loopStart",loopText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.LOOP_START}),ne[W-1].push({type:"loopEnd",loopText:ne[W-2],signalType:Z.LINETYPE.LOOP_END}),this.$=ne[W-1];break;case 35:ne[W-1].unshift({type:"rectStart",color:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.RECT_START}),ne[W-1].push({type:"rectEnd",color:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.RECT_END}),this.$=ne[W-1];break;case 36:ne[W-1].unshift({type:"optStart",optText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.OPT_START}),ne[W-1].push({type:"optEnd",optText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.OPT_END}),this.$=ne[W-1];break;case 37:ne[W-1].unshift({type:"altStart",altText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.ALT_START}),ne[W-1].push({type:"altEnd",signalType:Z.LINETYPE.ALT_END}),this.$=ne[W-1];break;case 38:ne[W-1].unshift({type:"parStart",parText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.PAR_START}),ne[W-1].push({type:"parEnd",signalType:Z.LINETYPE.PAR_END}),this.$=ne[W-1];break;case 39:ne[W-1].unshift({type:"parStart",parText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.PAR_OVER_START}),ne[W-1].push({type:"parEnd",signalType:Z.LINETYPE.PAR_END}),this.$=ne[W-1];break;case 40:ne[W-1].unshift({type:"criticalStart",criticalText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.CRITICAL_START}),ne[W-1].push({type:"criticalEnd",signalType:Z.LINETYPE.CRITICAL_END}),this.$=ne[W-1];break;case 41:ne[W-1].unshift({type:"breakStart",breakText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.BREAK_START}),ne[W-1].push({type:"breakEnd",optText:Z.parseMessage(ne[W-2]),signalType:Z.LINETYPE.BREAK_END}),this.$=ne[W-1];break;case 43:this.$=ne[W-3].concat([{type:"option",optionText:Z.parseMessage(ne[W-1]),signalType:Z.LINETYPE.CRITICAL_OPTION},ne[W]]);break;case 45:this.$=ne[W-3].concat([{type:"and",parText:Z.parseMessage(ne[W-1]),signalType:Z.LINETYPE.PAR_AND},ne[W]]);break;case 47:this.$=ne[W-3].concat([{type:"else",altText:Z.parseMessage(ne[W-1]),signalType:Z.LINETYPE.ALT_ELSE},ne[W]]);break;case 48:ne[W-3].draw="participant",ne[W-3].type="addParticipant",ne[W-3].description=Z.parseMessage(ne[W-1]),this.$=ne[W-3];break;case 49:ne[W-1].draw="participant",ne[W-1].type="addParticipant",this.$=ne[W-1];break;case 50:ne[W-3].draw="actor",ne[W-3].type="addParticipant",ne[W-3].description=Z.parseMessage(ne[W-1]),this.$=ne[W-3];break;case 51:ne[W-1].draw="actor",ne[W-1].type="addParticipant",this.$=ne[W-1];break;case 52:ne[W-1].type="destroyParticipant",this.$=ne[W-1];break;case 53:ne[W-1].draw="participant",ne[W-1].type="addParticipant",this.$=ne[W-1];break;case 54:this.$=[ne[W-1],{type:"addNote",placement:ne[W-2],actor:ne[W-1].actor,text:ne[W]}];break;case 55:ne[W-2]=[].concat(ne[W-1],ne[W-1]).slice(0,2),ne[W-2][0]=ne[W-2][0].actor,ne[W-2][1]=ne[W-2][1].actor,this.$=[ne[W-1],{type:"addNote",placement:Z.PLACEMENT.OVER,actor:ne[W-2].slice(0,2),text:ne[W]}];break;case 56:this.$=[ne[W-1],{type:"addLinks",actor:ne[W-1].actor,text:ne[W]}];break;case 57:this.$=[ne[W-1],{type:"addALink",actor:ne[W-1].actor,text:ne[W]}];break;case 58:this.$=[ne[W-1],{type:"addProperties",actor:ne[W-1].actor,text:ne[W]}];break;case 59:this.$=[ne[W-1],{type:"addDetails",actor:ne[W-1].actor,text:ne[W]}];break;case 62:this.$=[ne[W-2],ne[W]];break;case 63:this.$=ne[W];break;case 64:this.$=Z.PLACEMENT.LEFTOF;break;case 65:this.$=Z.PLACEMENT.RIGHTOF;break;case 66:this.$=[ne[W-4],ne[W-1],{type:"addMessage",from:ne[W-4].actor,to:ne[W-1].actor,signalType:ne[W-3],msg:ne[W],activate:!0},{type:"activeStart",signalType:Z.LINETYPE.ACTIVE_START,actor:ne[W-1].actor}];break;case 67:this.$=[ne[W-4],ne[W-1],{type:"addMessage",from:ne[W-4].actor,to:ne[W-1].actor,signalType:ne[W-3],msg:ne[W]},{type:"activeEnd",signalType:Z.LINETYPE.ACTIVE_END,actor:ne[W-4].actor}];break;case 68:this.$=[ne[W-3],ne[W-1],{type:"addMessage",from:ne[W-3].actor,to:ne[W-1].actor,signalType:ne[W-2],msg:ne[W]}];break;case 69:this.$={type:"addParticipant",actor:ne[W-1],config:ne[W]};break;case 70:this.$=ne[W-1].trim();break;case 71:this.$={type:"addParticipant",actor:ne[W]};break;case 72:this.$=Z.LINETYPE.SOLID_OPEN;break;case 73:this.$=Z.LINETYPE.DOTTED_OPEN;break;case 74:this.$=Z.LINETYPE.SOLID;break;case 75:this.$=Z.LINETYPE.BIDIRECTIONAL_SOLID;break;case 76:this.$=Z.LINETYPE.DOTTED;break;case 77:this.$=Z.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 78:this.$=Z.LINETYPE.SOLID_CROSS;break;case 79:this.$=Z.LINETYPE.DOTTED_CROSS;break;case 80:this.$=Z.LINETYPE.SOLID_POINT;break;case 81:this.$=Z.LINETYPE.DOTTED_POINT;break;case 82:this.$=Z.parseMessage(ne[W].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,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},t(B,[2,5]),{9:47,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},t(B,[2,7]),t(B,[2,8]),t(B,[2,14]),{12:48,50:L,52:I,53:R},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,71:P},{22:55,71:P},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(B,[2,29]),t(B,[2,30]),{32:[1,61]},{34:[1,62]},t(B,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,54:72,71:[1,73]},{22:74,71:P},{22:75,71:P},{68:76,76:[1,77],77:[1,78],78:[1,79],79:[1,80],80:[1,81],81:[1,82],82:[1,83],83:[1,84],84:[1,85],85:[1,86]},{56:87,58:[1,88],66:[1,89],67:[1,90]},{22:91,71:P},{22:92,71:P},{22:93,71:P},{22:94,71:P},t([5,51,65,76,77,78,79,80,81,82,83,84,85,86],F),t(B,[2,6]),t(B,[2,15]),t(V,[2,9],{10:95}),t(B,[2,17]),{5:[1,97],19:[1,96]},{5:[1,98]},t(B,[2,21]),{5:[1,99]},{5:[1,100]},t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),t(B,[2,31]),t(B,[2,32]),t($,i,{7:101}),t($,i,{7:102}),t($,i,{7:103}),t(U,i,{40:104,7:105}),t(j,i,{42:106,7:107}),t(j,i,{7:107,42:108}),t(ee,i,{45:109,7:110}),t($,i,{7:111}),{5:[1,113],51:[1,112]},{5:[1,114]},t([5,51],F,{72:115,73:[1,116]}),{5:[1,118],51:[1,117]},{5:[1,119]},{22:122,69:[1,120],70:[1,121],71:P},t(q,[2,72]),t(q,[2,73]),t(q,[2,74]),t(q,[2,75]),t(q,[2,76]),t(q,[2,77]),t(q,[2,78]),t(q,[2,79]),t(q,[2,80]),t(q,[2,81]),{22:123,71:P},{22:125,59:124,71:P},{71:[2,64]},{71:[2,65]},{57:126,86:oe},{57:128,86:oe},{57:129,86:oe},{57:130,86:oe},{4:[1,133],5:[1,135],11:132,12:134,16:[1,131],50:L,52:I,53:R},{5:[1,136]},t(B,[2,19]),t(B,[2,20]),t(B,[2,22]),t(B,[2,23]),{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,137],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,138],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,139],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},{16:[1,140]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,46],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,49:[1,141],50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},{16:[1,142]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,44],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,48:[1,143],50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},{16:[1,144]},{16:[1,145]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,42],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,47:[1,146],50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,147],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:S,41:w,43:k,44:C,46:A,50:L,52:I,53:R,55:E,60:_,61:D,62:O,63:N,71:P},{15:[1,148]},t(B,[2,49]),t(B,[2,53]),{5:[2,69]},{74:[1,149]},{15:[1,150]},t(B,[2,51]),t(B,[2,52]),{22:151,71:P},{22:152,71:P},{57:153,86:oe},{57:154,86:oe},{57:155,86:oe},{65:[1,156],86:[2,63]},{5:[2,56]},{5:[2,82]},{5:[2,57]},{5:[2,58]},{5:[2,59]},t(B,[2,16]),t(V,[2,10]),{12:157,50:L,52:I,53:R},t(V,[2,12]),t(V,[2,13]),t(B,[2,18]),t(B,[2,34]),t(B,[2,35]),t(B,[2,36]),t(B,[2,37]),{15:[1,158]},t(B,[2,38]),{15:[1,159]},t(B,[2,39]),t(B,[2,40]),{15:[1,160]},t(B,[2,41]),{5:[1,161]},{75:[1,162]},{5:[1,163]},{57:164,86:oe},{57:165,86:oe},{5:[2,68]},{5:[2,54]},{5:[2,55]},{22:166,71:P},t(V,[2,11]),t(U,i,{7:105,40:167}),t(j,i,{7:107,42:168}),t(ee,i,{7:110,45:169}),t(B,[2,48]),{5:[2,70]},t(B,[2,50]),{5:[2,66]},{5:[2,67]},{86:[2,62]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],89:[2,64],90:[2,65],115:[2,69],126:[2,56],127:[2,82],128:[2,57],129:[2,58],130:[2,59],153:[2,68],154:[2,54],155:[2,55],162:[2,70],164:[2,66],165:[2,67],166:[2,62],167:[2,47],168:[2,45],169:[2,43]},parseError:o(function(J,K){if(K.recoverable)this.trace(J);else{var ae=new Error(J);throw ae.hash=K,ae}},"parseError"),parse:o(function(J){var K=this,ae=[0],Z=[],de=[null],ne=[],Te=this.table,W="",Ve=0,pe=0,Be=0,Ye=2,He=1,Le=ne.slice.call(arguments,1),Ie=Object.create(this.lexer),Ne={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Ne.yy[Ce]=this.yy[Ce]);Ie.setInput(J,Ne.yy),Ne.yy.lexer=Ie,Ne.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var Fe=Ie.yylloc;ne.push(Fe);var fe=Ie.options&&Ie.options.ranges;typeof Ne.yy.parseError=="function"?this.parseError=Ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xe(We){ae.length=ae.length-2*We,de.length=de.length-We,ne.length=ne.length-We}o(xe,"popStack");function Y(){var We;return We=Z.pop()||Ie.lex()||He,typeof We!="number"&&(We instanceof Array&&(Z=We,We=Z.pop()),We=K.symbols_[We]||We),We}o(Y,"lex");for(var he,z,se,le,ke,ve,ye={},Re,_e,ze,Ke;;){if(se=ae[ae.length-1],this.defaultActions[se]?le=this.defaultActions[se]:((he===null||typeof he>"u")&&(he=Y()),le=Te[se]&&Te[se][he]),typeof le>"u"||!le.length||!le[0]){var xt="";Ke=[];for(Re in Te[se])this.terminals_[Re]&&Re>Ye&&Ke.push("'"+this.terminals_[Re]+"'");Ie.showPosition?xt="Parse error on line "+(Ve+1)+`: +`+Ie.showPosition()+` +Expecting `+Ke.join(", ")+", got '"+(this.terminals_[he]||he)+"'":xt="Parse error on line "+(Ve+1)+": Unexpected "+(he==He?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(xt,{text:Ie.match,token:this.terminals_[he]||he,line:Ie.yylineno,loc:Fe,expected:Ke})}if(le[0]instanceof Array&&le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+he);switch(le[0]){case 1:ae.push(he),de.push(Ie.yytext),ne.push(Ie.yylloc),ae.push(le[1]),he=null,z?(he=z,z=null):(pe=Ie.yyleng,W=Ie.yytext,Ve=Ie.yylineno,Fe=Ie.yylloc,Be>0&&Be--);break;case 2:if(_e=this.productions_[le[1]][1],ye.$=de[de.length-_e],ye._$={first_line:ne[ne.length-(_e||1)].first_line,last_line:ne[ne.length-1].last_line,first_column:ne[ne.length-(_e||1)].first_column,last_column:ne[ne.length-1].last_column},fe&&(ye._$.range=[ne[ne.length-(_e||1)].range[0],ne[ne.length-1].range[1]]),ve=this.performAction.apply(ye,[W,pe,Ve,Ne.yy,le[1],de,ne].concat(Le)),typeof ve<"u")return ve;_e&&(ae=ae.slice(0,-1*_e*2),de=de.slice(0,-1*_e),ne=ne.slice(0,-1*_e)),ae.push(this.productions_[le[1]][0]),de.push(ye.$),ne.push(ye._$),ze=Te[ae[ae.length-2]][ae[ae.length-1]],ae.push(ze);break;case 3:return!0}}return!0},"parse")},ue=(function(){var re={EOF:1,parseError:o(function(K,ae){if(this.yy.parser)this.yy.parser.parseError(K,ae);else throw new Error(K)},"parseError"),setInput:o(function(J,K){return this.yy=K||this.yy||{},this._input=J,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:o(function(){var J=this._input[0];this.yytext+=J,this.yyleng++,this.offset++,this.match+=J,this.matched+=J;var K=J.match(/(?:\r\n?|\n).*/g);return K?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),J},"input"),unput:o(function(J){var K=J.length,ae=J.split(/(?:\r\n?|\n)/g);this._input=J+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-K),this.offset-=K;var Z=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 de=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===Z.length?this.yylloc.first_column:0)+Z[Z.length-ae.length].length-ae[0].length:this.yylloc.first_column-K},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-K]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(J){this.unput(this.match.slice(J))},"less"),pastInput:o(function(){var J=this.matched.substr(0,this.matched.length-this.match.length);return(J.length>20?"...":"")+J.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var J=this.match;return J.length<20&&(J+=this._input.substr(0,20-J.length)),(J.substr(0,20)+(J.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var J=this.pastInput(),K=new Array(J.length+1).join("-");return J+this.upcomingInput()+` +`+K+"^"},"showPosition"),test_match:o(function(J,K){var ae,Z,de;if(this.options.backtrack_lexer&&(de={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&&(de.yylloc.range=this.yylloc.range.slice(0))),Z=J[0].match(/(?:\r\n?|\n).*/g),Z&&(this.yylineno+=Z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Z?Z[Z.length-1].length-Z[Z.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+J[0].length},this.yytext+=J[0],this.match+=J[0],this.matches=J,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(J[0].length),this.matched+=J[0],ae=this.performAction.call(this,this.yy,this,K,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ae)return ae;if(this._backtrack){for(var ne in de)this[ne]=de[ne];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var J,K,ae,Z;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),ne=0;neK[0].length)){if(K=ae,Z=ne,this.options.backtrack_lexer){if(J=this.test_match(ae,de[ne]),J!==!1)return J;if(this._backtrack){K=!1;continue}else return!1}else if(!this.options.flex)break}return K?(J=this.test_match(K,de[Z]),J!==!1?J:!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:o(function(){var K=this.next();return K||this.lex()},"lex"),begin:o(function(K){this.conditionStack.push(K)},"begin"),popState:o(function(){var K=this.conditionStack.length-1;return K>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(K){return K=this.conditionStack.length-1-Math.abs(K||0),K>=0?this.conditionStack[K]:"INITIAL"},"topState"),pushState:o(function(K){this.begin(K)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(K,ae,Z,de){var ne=de;switch(Z){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("CONFIG"),73;break;case 8:return 74;case 9:return this.popState(),this.popState(),75;break;case 10:return ae.yytext=ae.yytext.trim(),71;break;case 11:return ae.yytext=ae.yytext.trim(),this.begin("ALIAS"),71;break;case 12:return this.begin("LINE"),14;break;case 13:return this.begin("ID"),50;break;case 14:return this.begin("ID"),52;break;case 15:return 13;case 16:return this.begin("ID"),53;break;case 17:return ae.yytext=ae.yytext.trim(),this.begin("ALIAS"),71;break;case 18:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 19:return this.popState(),this.popState(),5;break;case 20:return this.begin("LINE"),36;break;case 21:return this.begin("LINE"),37;break;case 22:return this.begin("LINE"),38;break;case 23:return this.begin("LINE"),39;break;case 24:return this.begin("LINE"),49;break;case 25:return this.begin("LINE"),41;break;case 26:return this.begin("LINE"),43;break;case 27:return this.begin("LINE"),48;break;case 28:return this.begin("LINE"),44;break;case 29:return this.begin("LINE"),47;break;case 30:return this.begin("LINE"),46;break;case 31:return this.popState(),15;break;case 32:return 16;case 33:return 66;case 34:return 67;case 35:return 60;case 36:return 61;case 37:return 62;case 38:return 63;case 39:return 58;case 40:return 55;case 41:return this.begin("ID"),21;break;case 42:return this.begin("ID"),23;break;case 43:return 29;case 44:return 30;case 45:return this.begin("acc_title"),31;break;case 46:return this.popState(),"acc_title_value";break;case 47:return this.begin("acc_descr"),33;break;case 48:return this.popState(),"acc_descr_value";break;case 49:this.begin("acc_descr_multiline");break;case 50:this.popState();break;case 51:return"acc_descr_multiline_value";case 52:return 6;case 53:return 18;case 54:return 20;case 55:return 65;case 56:return 5;case 57:return ae.yytext=ae.yytext.trim(),71;break;case 58:return 78;case 59:return 79;case 60:return 80;case 61:return 81;case 62:return 76;case 63:return 77;case 64:return 82;case 65:return 83;case 66:return 84;case 67:return 85;case 68:return 86;case 69:return 86;case 70:return 69;case 71:return 70;case 72:return 5;case 73:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^\<->\->:\n,;@]+?([\-]*[^\<->\->:\n,;@]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^<\->\->:\n,;]+?([\-]*[^<\->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[50,51],inclusive:!1},acc_descr:{rules:[48],inclusive:!1},acc_title:{rules:[46],inclusive:!1},ID:{rules:[2,3,7,10,11,17],inclusive:!1},ALIAS:{rules:[2,3,18,19],inclusive:!1},LINE:{rules:[2,3,31],inclusive:!1},CONFIG:{rules:[8,9],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,49,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73],inclusive:!0}}};return re})();Q.lexer=ue;function te(){this.yy={}}return o(te,"Parser"),te.prototype=Q,Q.Parser=te,new te})();r$.parser=r$;Fye=r$});var JZe,eJe,tJe,T4,J6,n$=M(()=>{"use strict";Xt();k2();pt();fF();gr();ci();JZe={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},eJe={FILLED:0,OPEN:1},tJe={LEFTOF:0,RIGHTOF:1,OVER:2},T4={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},J6=class{constructor(){this.state=new J1(()=>({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=Rr;this.setAccDescription=Ir;this.setDiagramTitle=$r;this.getAccTitle=Mr;this.getAccDescription=Or;this.getDiagramTitle=Pr;this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(ge().wrap),this.LINETYPE=JZe,this.ARROWTYPE=eJe,this.PLACEMENT=tJe}static{o(this,"SequenceDB")}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,l;if(a!==void 0){let h;a.includes(` +`)?h=a+` +`:h=`{ +`+a+` +}`,l=Kh(h,{schema:jh})}i=l?.type??i;let u=this.state.records.actors.get(e);if(u){if(this.state.records.currentBox&&u.box&&this.state.records.currentBox!==u.box)throw new Error(`A same participant should only be defined in one Box: ${u.name} can't be in '${u.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=u.box?u.box:this.state.records.currentBox,u.box=s,u&&r===u.name&&n==null)return}if(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){let h=this.state.records.actors.get(this.state.records.prevActor);h&&(h.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>-",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?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a}),!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();let 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(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:ge().sequence?.wrap??!1}clear(){this.state.reset(),Sr()}parseMessage(e){let r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return X.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){let r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e),n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{let l=new Option().style;l.color=n,l.color!==n&&(n="transparent",i=e.trim())}let{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?sr(s,ge()):void 0,color:n,wrap:a}}addNote(e,r,n){let 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){let n=this.getActor(e);try{let i=sr(r.text,ge());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");let a=JSON.parse(i);this.insertLinks(n,a)}catch(i){X.error("error while parsing actor link text",i)}}addALink(e,r){let n=this.getActor(e);try{let i={},a=sr(r.text,ge()),s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");let l=a.slice(0,s-1).trim(),u=a.slice(s+1).trim();i[l]=u,this.insertLinks(n,i)}catch(i){X.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(let n in r)e.links[n]=r[n]}addProperties(e,r){let n=this.getActor(e);try{let i=sr(r.text,ge()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){X.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(let n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){let n=this.getActor(e),i=document.getElementById(r.text);try{let a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){X.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(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"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);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":Rr(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 ge().sequence}}});var rJe,zye,Gye=M(()=>{"use strict";rJe=o(t=>`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + 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}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } + +`,"getStyles"),zye=rJe});var i$,Yf,jf,Kf,eC,Xf,w4,nJe,tC,k4,o0,Vye,Fr,a$,iJe,aJe,sJe,oJe,lJe,cJe,uJe,hJe,fJe,dJe,pJe,mJe,gJe,Uye,yJe,vJe,xJe,bJe,TJe,wJe,kJe,Hye,EJe,oh,SJe,mi,qye=M(()=>{"use strict";i$=La(tm(),1);qn();tr();gr();n2();Yf=36,jf="actor-top",Kf="actor-bottom",eC="actor-box",Xf="actor-man",w4=o(function(t,e){return Fd(t,e)},"drawRect"),nJe=o(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};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,i$.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),SJe(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),tC=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),k4=o(async function(t,e,r=null){let n=t.append("foreignObject"),i=await kh(e.text,Qt()),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"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-s.height))}return[n]},"drawKatex"),o0=o(function(t,e){let r=0,n=0,i=e.text.split(tt.lineBreakRegex),[a,s]=vc(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>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[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||BL;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),Vye=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,o0(t,e),n},"drawLabel"),Fr=-1,a$=o((t,e,r,n)=>{t.select&&r.forEach(i=>{let 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"),iJe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(Fr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",tC(`actor${Fr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Fr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Fr,e.links!=null&&u.attr("id","root-"+Fr));let h=ha();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${Kf}`:f+=` ${jf}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=w4(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?cT(u,h.x+h.width-20,h.y+10,m.substr(1)):lT(u,h.x+h.width-20,h.y+10,m)}oh(r,kn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${eC}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),aJe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(Fr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",tC(`actor${Fr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Fr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Fr,e.links!=null&&u.attr("id","root-"+Fr));let h=ha();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${Kf}`:f+=` ${jf}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=6,p={...h,x:h.x+-d,y:h.y+ +d,class:"actor"},m=w4(u,h);if(w4(u,p),e.rectData=h,e.properties?.icon){let y=e.properties.icon.trim();y.charAt(0)==="@"?cT(u,h.x+h.width-20,h.y+10,y.substr(1)):lT(u,h.x+h.width-20,h.y+10,y)}oh(r,kn(e.description))(e.description,u,h.x-d,h.y+d,h.width,h.height,{class:`actor ${eC}`},r);let g=e.height;if(m.node){let y=m.node().getBBox();e.height=y.height,g=y.height}return g},"drawActorTypeCollections"),sJe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower(),u=l;n||(Fr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",tC(`actor${Fr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Fr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Fr,e.links!=null&&u.attr("id","root-"+Fr));let h=ha(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${Kf}`:f+=` ${jf}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=h.height/2,p=d/(2.5+h.height/50),m=u.append("g"),g=u.append("g");if(m.append("path").attr("d",`M ${h.x},${h.y+d} + a ${p},${d} 0 0 0 0,${h.height} + h ${h.width-2*p} + a ${p},${d} 0 0 0 0,-${h.height} + Z + `).attr("class",f),g.append("path").attr("d",`M ${h.x},${h.y+d} + a ${p},${d} 0 0 0 0,${h.height}`).attr("stroke","#666").attr("stroke-width","1px").attr("class",f),m.attr("transform",`translate(${p}, ${-(h.height/2)})`),g.attr("transform",`translate(${h.width-p}, ${-h.height/2})`),e.rectData=h,e.properties?.icon){let x=e.properties.icon.trim(),b=h.x+h.width-20,T=h.y+10;x.charAt(0)==="@"?cT(u,b,T,x.substr(1)):lT(u,b,T,x)}oh(r,kn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${eC}`},r);let y=e.height,v=m.select("path:last-child");if(v.node()){let x=v.node().getBBox();e.height=x.height,y=x.height}return y},"drawActorTypeQueue"),oJe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower();n||(Fr++,l.append("line").attr("id","actor"+Fr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Fr);let u=t.append("g"),h=Xf;n?h+=` ${Kf}`:h+=` ${jf}`,u.attr("class",h),u.attr("name",e.name);let f=ha();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+30,m=18;u.append("defs").append("marker").attr("id","filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").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"),u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("fill","#eaeaf7").attr("stroke","#666").attr("stroke-width",1.2),u.append("line").attr("marker-end","url(#filled-head-control)").attr("transform",`translate(${d}, ${p-m})`);let g=u.node().getBBox();return e.height=g.height+2*(r?.sequence?.labelBoxHeight??0),oh(r,kn(e.description))(e.description,u,f.x,f.y+m+(n?5:10),f.width,f.height,{class:`actor ${Xf}`},r),e.height},"drawActorTypeControl"),lJe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower(),u=t.append("g"),h=Xf;n?h+=` ${Kf}`:h+=` ${jf}`,u.attr("class",h),u.attr("name",e.name);let f=ha();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+(n?10:25),m=18;u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("width",e.width).attr("height",e.height),u.append("line").attr("x1",d-m).attr("x2",d+m).attr("y1",p+m).attr("y2",p+m).attr("stroke","#333").attr("stroke-width",2);let g=u.node().getBBox();return e.height=g.height+(r?.sequence?.labelBoxHeight??0),n||(Fr++,l.append("line").attr("id","actor"+Fr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Fr),oh(r,kn(e.description))(e.description,u,f.x,f.y+(n?(p-i+m-5)/2:(p+m-i)/2),f.width,f.height,{class:`actor ${Xf}`},r),n?u.attr("transform",`translate(0, ${m/2})`):u.attr("transform",`translate(0, ${m/2})`),e.height},"drawActorTypeEntity"),cJe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height+2*r.boxTextMargin,l=t.append("g").lower(),u=l;n||(Fr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",tC(`actor${Fr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Fr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Fr,e.links!=null&&u.attr("id","root-"+Fr));let h=ha(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${Kf}`:f+=` ${jf}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name,h.x=e.x,h.y=i;let d=h.width/4,p=h.width/4,m=d/2,g=m/(2.5+d/50),y=u.append("g"),v=` + M ${h.x},${h.y+g} + a ${m},${g} 0 0 0 ${d},0 + a ${m},${g} 0 0 0 -${d},0 + l 0,${p-2*g} + a ${m},${g} 0 0 0 ${d},0 + l 0,-${p-2*g} +`;y.append("path").attr("d",v).attr("fill","#eaeaea").attr("stroke","#000").attr("stroke-width",1).attr("class",f),n?y.attr("transform",`translate(${d*1.5}, ${h.height/4-2*g})`):y.attr("transform",`translate(${d*1.5}, ${(h.height+g)/4})`),e.rectData=h,oh(r,kn(e.description))(e.description,u,h.x,h.y+(n?(h.height+p)/4:(h.height+g)/2),h.width,h.height,{class:`actor ${eC}`},r);let x=y.select("path:last-child");if(x.node()){let b=x.node().getBBox();e.height=b.height+(r.sequence.labelBoxHeight??0)}return e.height},"drawActorTypeDatabase"),uJe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=30,u=t.append("g").lower();n||(Fr++,u.append("line").attr("id","actor"+Fr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Fr);let h=t.append("g"),f=Xf;n?f+=` ${Kf}`:f+=` ${jf}`,h.attr("class",f),h.attr("name",e.name);let d=ha();d.x=e.x,d.y=i,d.fill="#eaeaea",d.width=e.width,d.height=e.height,d.class="actor",h.append("line").attr("id","actor-man-torso"+Fr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+10).attr("x2",e.x+e.width/2-15).attr("y2",i+10),h.append("line").attr("id","actor-man-arms"+Fr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+0).attr("x2",e.x+e.width/2-l*2.5).attr("y2",i+20),h.append("circle").attr("cx",e.x+e.width/2).attr("cy",i+10).attr("r",l);let p=h.node().getBBox();return e.height=p.height+(r.sequence.labelBoxHeight??0),oh(r,kn(e.description))(e.description,h,d.x,d.y+(n?l/2-4:l/2+3),d.width,d.height,{class:`actor ${Xf}`},r),n?h.attr("transform",`translate(0,${l/2+7})`):h.attr("transform",`translate(0,${l/2+7})`),e.height},"drawActorTypeBoundary"),hJe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=t.append("g").lower();n||(Fr++,l.append("line").attr("id","actor"+Fr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Fr);let u=t.append("g"),h=Xf;n?h+=` ${Kf}`:h+=` ${jf}`,u.attr("class",h),u.attr("name",e.name);let f=ha();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+Fr).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+Fr).attr("x1",a-Yf/2).attr("y1",i+33).attr("x2",a+Yf/2).attr("y2",i+33),u.append("line").attr("x1",a-Yf/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+Yf/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,oh(r,kn(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${Xf}`},r),e.height},"drawActorTypeActor"),fJe=o(async function(t,e,r,n){switch(e.type){case"actor":return await hJe(t,e,r,n);case"participant":return await iJe(t,e,r,n);case"boundary":return await uJe(t,e,r,n);case"control":return await oJe(t,e,r,n);case"entity":return await lJe(t,e,r,n);case"database":return await cJe(t,e,r,n);case"collections":return await aJe(t,e,r,n);case"queue":return await sJe(t,e,r,n)}},"drawActor"),dJe=o(function(t,e,r){let i=t.append("g");Uye(i,e),e.name&&oh(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),pJe=o(function(t){return t.append("g")},"anchorElement"),mJe=o(function(t,e,r,n,i){let a=ha(),s=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,w4(s,a)},"drawActivation"),gJe=o(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=o(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).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(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=r2();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=s||20,m.textMargin=a,m.class="labelText",Vye(d,m),m=Hye(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=kn(m.text)?await k4(d,m,e):o0(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,kn(m.text)?(e.starty=e.sections[y].y,await k4(d,m,e)):o0(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,T)=>b+T));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),Uye=o(function(t,e){oT(t,e)},"drawBackgroundRect"),yJe=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),vJe=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),xJe=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),bJe=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),TJe=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),wJe=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),kJe=o(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Hye=o(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"),EJe=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),oh=(function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=vc(m),b=a.split(tt.lineBreakRegex);for(let T=0;T{let s=l0(Me),l=a.actorKeys.reduce((d,p)=>d+=t.get(p).width+(t.get(p).margin||0),0),u=Me.boxMargin*8;l+=u,l-=2*Me.boxTextMargin,a.wrap&&(a.name=qt.wrapLabel(a.name,l-2*Me.wrapPadding,s));let h=qt.calculateTextDimensions(a.name,s);i=tt.getMax(h.height,i);let f=tt.getMax(l,h.width+2*Me.wrapPadding);if(a.margin=Me.boxTextMargin,la.textMaxHeight=i),tt.getMax(n,Me.height)}var Me,ot,CJe,l0,sy,s$,_Je,DJe,o$,Yye,Xye,rC,Wye,RJe,MJe,OJe,PJe,BJe,jye,Kye=M(()=>{"use strict";yr();qye();pt();gr();gr();n2();Xt();v0();tr();Ei();n$();Me={},ot={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(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:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(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,Xye(ge())},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=this,a=0;function s(l){return o(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Me.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Me.boxMargin,Math.max),i.updateVal(ot.data,"startx",t-f*Me.boxMargin,Math.min),i.updateVal(ot.data,"stopx",r+f*Me.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Me.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Me.boxMargin,Math.max),i.updateVal(ot.data,"starty",e-f*Me.boxMargin,Math.min),i.updateVal(ot.data,"stopy",n+f*Me.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,n){let i=tt.getMin(t,r),a=tt.getMax(t,r),s=tt.getMin(e,n),l=tt.getMax(e,n);this.updateVal(ot.data,"startx",i,Math.min),this.updateVal(ot.data,"starty",s,Math.min),this.updateVal(ot.data,"stopx",a,Math.max),this.updateVal(ot.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),newActivation:o(function(t,e,r){let n=r.get(t.from),i=rC(t.from).length||0,a=n.x+n.width/2+(i-1)*Me.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Me.activationWidth,stopy:void 0,actor:t.from,anchored:mi.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(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:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:ot.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=tt.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},CJe=o(async function(t,e){ot.bumpVerticalPos(Me.boxMargin),e.height=Me.boxMargin,e.starty=ot.getVerticalPos();let r=ha();r.x=e.startx,r.y=e.starty,r.width=e.width||Me.width,r.class="note";let n=t.append("g"),i=mi.drawRect(n,r),a=r2();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Me.noteFontFamily,a.fontSize=Me.noteFontSize,a.fontWeight=Me.noteFontWeight,a.anchor=Me.noteAlign,a.textMargin=Me.noteMargin,a.valign="center";let s=kn(a.text)?await k4(n,a):o0(n,a),l=Math.round(s.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Me.noteMargin),e.height+=l+2*Me.noteMargin,ot.bumpVerticalPos(l+2*Me.noteMargin),e.stopy=e.starty+l+2*Me.noteMargin,e.stopx=e.startx+r.width,ot.insert(e.startx,e.starty,e.stopx,e.stopy),ot.models.addNote(e)},"drawNote"),l0=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),sy=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),s$=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(AJe,"boundMessage");_Je=o(async function(t,e,r,n){let{startx:i,stopx:a,starty:s,message:l,type:u,sequenceIndex:h,sequenceVisible:f}=e,d=qt.calculateTextDimensions(l,l0(Me)),p=r2();p.x=i,p.y=s+10,p.width=a-i,p.class="messageText",p.dy="1em",p.text=l,p.fontFamily=Me.messageFontFamily,p.fontSize=Me.messageFontSize,p.fontWeight=Me.messageFontWeight,p.anchor=Me.messageAlign,p.valign="center",p.textMargin=Me.wrapPadding,p.tspan=!1,kn(p.text)?await k4(t,p,{startx:i,stopx:a,starty:r}):o0(t,p);let m=d.width,g;i===a?Me.rightAngles?g=t.append("path").attr("d",`M ${i},${r} H ${i+tt.getMax(Me.width/2,m/2)} V ${r+25} H ${i}`):g=t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(g=t.append("line"),g.attr("x1",i),g.attr("y1",r),g.attr("x2",a),g.attr("y2",r)),u===n.db.LINETYPE.DOTTED||u===n.db.LINETYPE.DOTTED_CROSS||u===n.db.LINETYPE.DOTTED_POINT||u===n.db.LINETYPE.DOTTED_OPEN||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let y="";Me.arrowMarkerAbsolute&&(y=md(!0)),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(u===n.db.LINETYPE.SOLID||u===n.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+y+"#arrowhead)"),(u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(g.attr("marker-start","url("+y+"#arrowhead)"),g.attr("marker-end","url("+y+"#arrowhead)")),(u===n.db.LINETYPE.SOLID_POINT||u===n.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+y+"#filled-head)"),(u===n.db.LINETYPE.SOLID_CROSS||u===n.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+y+"#crosshead)"),(f||Me.showSequenceNumbers)&&((u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(ii&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),Xye=o(function(t){Rn(Me,t),t.fontFamily&&(Me.actorFontFamily=Me.noteFontFamily=Me.messageFontFamily=t.fontFamily),t.fontSize&&(Me.actorFontSize=Me.noteFontSize=Me.messageFontSize=t.fontSize),t.fontWeight&&(Me.actorFontWeight=Me.noteFontWeight=Me.messageFontWeight=t.fontWeight)},"setConf"),rC=o(function(t){return ot.activations.filter(function(e){return e.actor===t})},"actorActivations"),Wye=o(function(t,e){let r=e.get(t),n=rC(t),i=n.reduce(function(s,l){return tt.getMin(s,l.startx)},r.x+r.width/2-1),a=n.reduce(function(s,l){return tt.getMax(s,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");o(ru,"adjustLoopHeightForWrap");o(LJe,"adjustCreatedDestroyedData");RJe=o(async function(t,e,r,n){let{securityLevel:i,sequence:a}=ge();Me=a;let s;i==="sandbox"&&(s=qe("#i"+e));let l=i==="sandbox"?qe(s.nodes()[0].contentDocument.body):qe("body"),u=i==="sandbox"?s.nodes()[0].contentDocument:document;ot.init(),X.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):qe(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),T=await NJe(f,y,n);if(Me.height=await IJe(f,T,m),mi.insertComputerIcon(h),mi.insertDatabaseIcon(h),mi.insertClockIcon(h),x&&(ot.bumpVerticalPos(Me.boxMargin),b&&ot.bumpVerticalPos(m[0].textMaxHeight)),Me.hideUnusedParticipants===!0){let B=new Set;y.forEach(F=>{B.add(F.from),B.add(F.to)}),g=g.filter(F=>B.has(F))}DJe(h,f,d,g,0,y,!1);let S=await BJe(y,f,T,n);mi.insertArrowHead(h),mi.insertArrowCrossHead(h),mi.insertArrowFilledHead(h),mi.insertSequenceNumber(h);function w(B,F){let V=ot.endActivation(B);V.starty+18>F&&(V.starty=F-6,F+=12),mi.drawActivation(h,V,F,Me,rC(B.from).length),ot.insert(V.startx,F-10,V.stopx,F)}o(w,"activeEnd");let k=1,C=1,A=[],L=[],I=0;for(let B of y){let F,V,$;switch(B.type){case n.db.LINETYPE.NOTE:ot.resetVerticalPos(),V=B.noteModel,await CJe(h,V);break;case n.db.LINETYPE.ACTIVE_START:ot.newActivation(B,h,f);break;case n.db.LINETYPE.ACTIVE_END:w(B,ot.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:ru(S,B,Me.boxMargin,Me.boxMargin+Me.boxTextMargin,U=>ot.newLoop(U));break;case n.db.LINETYPE.LOOP_END:F=ot.endLoop(),await mi.drawLoop(h,F,"loop",Me),ot.bumpVerticalPos(F.stopy-ot.getVerticalPos()),ot.models.addLoop(F);break;case n.db.LINETYPE.RECT_START:ru(S,B,Me.boxMargin,Me.boxMargin,U=>ot.newLoop(void 0,U.message));break;case n.db.LINETYPE.RECT_END:F=ot.endLoop(),L.push(F),ot.models.addLoop(F),ot.bumpVerticalPos(F.stopy-ot.getVerticalPos());break;case n.db.LINETYPE.OPT_START:ru(S,B,Me.boxMargin,Me.boxMargin+Me.boxTextMargin,U=>ot.newLoop(U));break;case n.db.LINETYPE.OPT_END:F=ot.endLoop(),await mi.drawLoop(h,F,"opt",Me),ot.bumpVerticalPos(F.stopy-ot.getVerticalPos()),ot.models.addLoop(F);break;case n.db.LINETYPE.ALT_START:ru(S,B,Me.boxMargin,Me.boxMargin+Me.boxTextMargin,U=>ot.newLoop(U));break;case n.db.LINETYPE.ALT_ELSE:ru(S,B,Me.boxMargin+Me.boxTextMargin,Me.boxMargin,U=>ot.addSectionToLoop(U));break;case n.db.LINETYPE.ALT_END:F=ot.endLoop(),await mi.drawLoop(h,F,"alt",Me),ot.bumpVerticalPos(F.stopy-ot.getVerticalPos()),ot.models.addLoop(F);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:ru(S,B,Me.boxMargin,Me.boxMargin+Me.boxTextMargin,U=>ot.newLoop(U)),ot.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:ru(S,B,Me.boxMargin+Me.boxTextMargin,Me.boxMargin,U=>ot.addSectionToLoop(U));break;case n.db.LINETYPE.PAR_END:F=ot.endLoop(),await mi.drawLoop(h,F,"par",Me),ot.bumpVerticalPos(F.stopy-ot.getVerticalPos()),ot.models.addLoop(F);break;case n.db.LINETYPE.AUTONUMBER:k=B.message.start||k,C=B.message.step||C,B.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:ru(S,B,Me.boxMargin,Me.boxMargin+Me.boxTextMargin,U=>ot.newLoop(U));break;case n.db.LINETYPE.CRITICAL_OPTION:ru(S,B,Me.boxMargin+Me.boxTextMargin,Me.boxMargin,U=>ot.addSectionToLoop(U));break;case n.db.LINETYPE.CRITICAL_END:F=ot.endLoop(),await mi.drawLoop(h,F,"critical",Me),ot.bumpVerticalPos(F.stopy-ot.getVerticalPos()),ot.models.addLoop(F);break;case n.db.LINETYPE.BREAK_START:ru(S,B,Me.boxMargin,Me.boxMargin+Me.boxTextMargin,U=>ot.newLoop(U));break;case n.db.LINETYPE.BREAK_END:F=ot.endLoop(),await mi.drawLoop(h,F,"break",Me),ot.bumpVerticalPos(F.stopy-ot.getVerticalPos()),ot.models.addLoop(F);break;default:try{$=B.msgModel,$.starty=ot.getVerticalPos(),$.sequenceIndex=k,$.sequenceVisible=n.db.showSequenceNumbers();let U=await AJe(h,$);LJe(B,$,U,I,f,d,p),A.push({messageModel:$,lineStartY:U}),ot.models.addMessage($)}catch(U){X.error("error while drawing message",U)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,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(B.type)&&(k=k+C),I++}X.debug("createdActors",d),X.debug("destroyedActors",p),await o$(h,f,g,!1);for(let B of A)await _Je(h,B.messageModel,B.lineStartY,n);Me.mirrorActors&&await o$(h,f,g,!0),L.forEach(B=>mi.drawBackgroundRect(h,B)),a$(h,f,g,Me);for(let B of ot.models.boxes){B.height=ot.getVerticalPos()-B.y,ot.insert(B.x,B.y,B.x+B.width,B.height);let F=Me.boxMargin*2;B.startx=B.x-F,B.starty=B.y-F*.25,B.stopx=B.startx+B.width+2*F,B.stopy=B.starty+B.height+F*.75,B.stroke="rgb(0,0,0, 0.5)",mi.drawBox(h,B,Me)}x&&ot.bumpVerticalPos(Me.boxMargin);let R=Yye(h,f,g,u),{bounds:E}=ot.getBounds();E.startx===void 0&&(E.startx=0),E.starty===void 0&&(E.starty=0),E.stopx===void 0&&(E.stopx=0),E.stopy===void 0&&(E.stopy=0);let _=E.stopy-E.starty;_2,d=o(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Me.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(u-=d(3)));let p=[n,i,a,s],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=qt.wrapLabel(t.message,tt.getMax(m+2*Me.wrapPadding,Me.width),l0(Me)));let g=qt.calculateTextDimensions(t.message,l0(Me));return{width:tt.getMax(t.wrap?0:g.width+2*Me.wrapPadding,m+2*Me.wrapPadding,Me.width),height:0,startx:u,stopx:h,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"),BJe=o(async function(t,e,r,n){let i={},a=[],s,l,u;for(let h of t){switch(h.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:h.id,msg:h.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:h.message&&(s=a.pop(),i[s.id]=s,i[h.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:{let d=e.get(h.from?h.from:h.to.actor),p=rC(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Me.activationWidth/2,g={startx:m,stopx:m+Me.activationWidth,actor:h.from,enabled:!0};ot.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=ot.activations.map(p=>p.actor).lastIndexOf(h.from);ot.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await OJe(h,e,n),h.noteModel=l,a.forEach(d=>{s=d,s.from=tt.getMin(s.from,l.startx),s.to=tt.getMax(s.to,l.startx+l.width),s.width=tt.getMax(s.width,Math.abs(s.from-s.to))-Me.labelBoxWidth})):(u=PJe(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=tt.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=tt.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=tt.getMax(s.width,Math.abs(s.to-s.from))-Me.labelBoxWidth}else s.from=tt.getMin(u.startx,s.from),s.to=tt.getMax(u.stopx,s.to),s.width=tt.getMax(s.width,u.width)-Me.labelBoxWidth}))}return ot.activations=[],X.debug("Loop type widths:",i),i},"calculateLoopBounds"),jye={bounds:ot,drawActors:o$,drawActorsPopup:Yye,setConf:Xye,draw:RJe}});var Qye={};dr(Qye,{diagram:()=>FJe});var FJe,Zye=M(()=>{"use strict";$ye();n$();Gye();Xt();Kye();FJe={parser:Fye,get db(){return new J6},renderer:jye,styles:zye,init:o(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,iv({sequence:{wrap:t.wrap}}))},"init")}});var l$,nC,c$=M(()=>{"use strict";l$=(function(){var t=o(function(Ie,Ne,Ce,Fe){for(Ce=Ce||{},Fe=Ie.length;Fe--;Ce[Ie[Fe]]=Ne);return Ce},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,42],s=[1,26],l=[1,24],u=[1,25],h=[1,32],f=[1,33],d=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],T=[1,29],S=[1,30],w=[1,31],k=[1,44],C=[1,46],A=[1,43],L=[1,47],I=[1,9],R=[1,8,9],E=[1,58],_=[1,59],D=[1,60],O=[1,61],N=[1,62],P=[1,63],B=[1,64],F=[1,8,9,41],V=[1,76],$=[1,8,9,12,13,22,39,41,44,68,69,70,71,72,73,74,79,81],U=[1,8,9,12,13,18,20,22,39,41,44,50,60,68,69,70,71,72,73,74,79,81,86,100,102,103],j=[13,60,86,100,102,103],ee=[13,60,73,74,86,100,102,103],q=[13,60,68,69,70,71,72,86,100,102,103],oe=[1,100],Q=[1,117],ue=[1,113],te=[1,109],re=[1,115],J=[1,110],K=[1,111],ae=[1,112],Z=[1,114],de=[1,116],ne=[22,48,60,61,82,86,87,88,89,90],Te=[1,8,9,39,41,44],W=[1,8,9,22],Ve=[1,145],pe=[1,8,9,61],Be=[1,8,9,22,48,60,61,82,86,87,88,89,90],Ye={trace:o(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,CLASS:46,emptyBody:47,SPACE:48,ANNOTATION_START:49,ANNOTATION_END: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:"CLASS",48:"SPACE",49:"ANNOTATION_START",50:"ANNOTATION_END",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],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[43,2],[43,3],[47,0],[47,2],[47,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:o(function(Ne,Ce,Fe,fe,xe,Y,he){var z=Y.length-1;switch(xe){case 8:this.$=Y[z-1];break;case 9:case 10:case 13:case 15:this.$=Y[z];break;case 11:case 14:this.$=Y[z-2]+"."+Y[z];break;case 12:case 16:this.$=Y[z-1]+Y[z];break;case 17:case 18:this.$=Y[z-1]+"~"+Y[z]+"~";break;case 19:fe.addRelation(Y[z]);break;case 20:Y[z-1].title=fe.cleanupLabel(Y[z]),fe.addRelation(Y[z-1]);break;case 31:this.$=Y[z].trim(),fe.setAccTitle(this.$);break;case 32:case 33:this.$=Y[z].trim(),fe.setAccDescription(this.$);break;case 34:fe.addClassesToNamespace(Y[z-3],Y[z-1]);break;case 35:fe.addClassesToNamespace(Y[z-4],Y[z-1]);break;case 36:this.$=Y[z],fe.addNamespace(Y[z]);break;case 37:this.$=[Y[z]];break;case 38:this.$=[Y[z-1]];break;case 39:Y[z].unshift(Y[z-2]),this.$=Y[z];break;case 41:fe.setCssClass(Y[z-2],Y[z]);break;case 42:fe.addMembers(Y[z-3],Y[z-1]);break;case 44:fe.setCssClass(Y[z-5],Y[z-3]),fe.addMembers(Y[z-5],Y[z-1]);break;case 45:this.$=Y[z],fe.addClass(Y[z]);break;case 46:this.$=Y[z-1],fe.addClass(Y[z-1]),fe.setClassLabel(Y[z-1],Y[z]);break;case 50:fe.addAnnotation(Y[z],Y[z-2]);break;case 51:case 64:this.$=[Y[z]];break;case 52:Y[z].push(Y[z-1]),this.$=Y[z];break;case 53:break;case 54:fe.addMember(Y[z-1],fe.cleanupLabel(Y[z]));break;case 55:break;case 56:break;case 57:this.$={id1:Y[z-2],id2:Y[z],relation:Y[z-1],relationTitle1:"none",relationTitle2:"none"};break;case 58:this.$={id1:Y[z-3],id2:Y[z],relation:Y[z-1],relationTitle1:Y[z-2],relationTitle2:"none"};break;case 59:this.$={id1:Y[z-3],id2:Y[z],relation:Y[z-2],relationTitle1:"none",relationTitle2:Y[z-1]};break;case 60:this.$={id1:Y[z-4],id2:Y[z],relation:Y[z-2],relationTitle1:Y[z-3],relationTitle2:Y[z-1]};break;case 61:fe.addNote(Y[z],Y[z-1]);break;case 62:fe.addNote(Y[z]);break;case 63:this.$=Y[z-2],fe.defineClass(Y[z-1],Y[z]);break;case 65:this.$=Y[z-2].concat([Y[z]]);break;case 66:fe.setDirection("TB");break;case 67:fe.setDirection("BT");break;case 68:fe.setDirection("RL");break;case 69:fe.setDirection("LR");break;case 70:this.$={type1:Y[z-2],type2:Y[z],lineType:Y[z-1]};break;case 71:this.$={type1:"none",type2:Y[z],lineType:Y[z-1]};break;case 72:this.$={type1:Y[z-1],type2:"none",lineType:Y[z]};break;case 73:this.$={type1:"none",type2:"none",lineType:Y[z]};break;case 74:this.$=fe.relationType.AGGREGATION;break;case 75:this.$=fe.relationType.EXTENSION;break;case 76:this.$=fe.relationType.COMPOSITION;break;case 77:this.$=fe.relationType.DEPENDENCY;break;case 78:this.$=fe.relationType.LOLLIPOP;break;case 79:this.$=fe.lineType.LINE;break;case 80:this.$=fe.lineType.DOTTED_LINE;break;case 81:case 87:this.$=Y[z-2],fe.setClickEvent(Y[z-1],Y[z]);break;case 82:case 88:this.$=Y[z-3],fe.setClickEvent(Y[z-2],Y[z-1]),fe.setTooltip(Y[z-2],Y[z]);break;case 83:this.$=Y[z-2],fe.setLink(Y[z-1],Y[z]);break;case 84:this.$=Y[z-3],fe.setLink(Y[z-2],Y[z-1],Y[z]);break;case 85:this.$=Y[z-3],fe.setLink(Y[z-2],Y[z-1]),fe.setTooltip(Y[z-2],Y[z]);break;case 86:this.$=Y[z-4],fe.setLink(Y[z-3],Y[z-2],Y[z]),fe.setTooltip(Y[z-3],Y[z-1]);break;case 89:this.$=Y[z-3],fe.setClickEvent(Y[z-2],Y[z-1],Y[z]);break;case 90:this.$=Y[z-4],fe.setClickEvent(Y[z-3],Y[z-2],Y[z-1]),fe.setTooltip(Y[z-3],Y[z]);break;case 91:this.$=Y[z-3],fe.setLink(Y[z-2],Y[z]);break;case 92:this.$=Y[z-4],fe.setLink(Y[z-3],Y[z-1],Y[z]);break;case 93:this.$=Y[z-4],fe.setLink(Y[z-3],Y[z-1]),fe.setTooltip(Y[z-3],Y[z]);break;case 94:this.$=Y[z-5],fe.setLink(Y[z-4],Y[z-2],Y[z]),fe.setTooltip(Y[z-4],Y[z-1]);break;case 95:this.$=Y[z-2],fe.setCssStyle(Y[z-1],Y[z]);break;case 96:fe.setCssClass(Y[z-1],Y[z]);break;case 97:this.$=[Y[z]];break;case 98:Y[z-2].push(Y[z]),this.$=Y[z-2];break;case 100:this.$=Y[z-1]+Y[z];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,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:S,83:w,86:k,100:C,102:A,103:L},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(I,[2,5],{8:[1,48]}),{8:[1,49]},t(R,[2,19],{22:[1,50]}),t(R,[2,21]),t(R,[2,22]),t(R,[2,23]),t(R,[2,24]),t(R,[2,25]),t(R,[2,26]),t(R,[2,27]),t(R,[2,28]),t(R,[2,29]),t(R,[2,30]),{34:[1,51]},{36:[1,52]},t(R,[2,33]),t(R,[2,53],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:E,69:_,70:D,71:O,72:N,73:P,74:B}),{39:[1,65]},t(F,[2,40],{39:[1,67],44:[1,66]}),t(R,[2,55]),t(R,[2,56]),{16:68,60:p,86:k,100:C,102:A},{16:39,17:40,19:69,60:p,86:k,100:C,102:A,103:L},{16:39,17:40,19:70,60:p,86:k,100:C,102:A,103:L},{16:39,17:40,19:71,60:p,86:k,100:C,102:A,103:L},{60:[1,72]},{13:[1,73]},{16:39,17:40,19:74,60:p,86:k,100:C,102:A,103:L},{13:V,55:75},{58:77,60:[1,78]},t(R,[2,66]),t(R,[2,67]),t(R,[2,68]),t(R,[2,69]),t($,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],60:p,86:k,100:C,102:A,103:L}),t($,[2,15],{20:[1,82]}),{15:83,16:84,17:85,60:p,86:k,100:C,102:A,103:L},{16:39,17:40,19:86,60:p,86:k,100:C,102:A,103:L},t(U,[2,123]),t(U,[2,124]),t(U,[2,125]),t(U,[2,126]),t([1,8,9,12,13,20,22,39,41,44,68,69,70,71,72,73,74,79,81],[2,127]),t(I,[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:87,33:e,35:r,37:n,42:i,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:S,83:w,86:k,100:C,102:A,103:L}),{5:88,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,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:S,83:w,86:k,100:C,102:A,103:L},t(R,[2,20]),t(R,[2,31]),t(R,[2,32]),{13:[1,90],16:39,17:40,19:89,60:p,86:k,100:C,102:A,103:L},{53:91,66:56,67:57,68:E,69:_,70:D,71:O,72:N,73:P,74:B},t(R,[2,54]),{67:92,73:P,74:B},t(j,[2,73],{66:93,68:E,69:_,70:D,71:O,72:N}),t(ee,[2,74]),t(ee,[2,75]),t(ee,[2,76]),t(ee,[2,77]),t(ee,[2,78]),t(q,[2,79]),t(q,[2,80]),{8:[1,95],24:96,40:94,43:23,46:a},{16:97,60:p,86:k,100:C,102:A},{41:[1,99],45:98,51:oe},{50:[1,101]},{13:[1,102]},{13:[1,103]},{79:[1,104],81:[1,105]},{22:Q,48:ue,59:106,60:te,82:re,84:107,85:108,86:J,87:K,88:ae,89:Z,90:de},{60:[1,118]},{13:V,55:119},t(R,[2,62]),t(R,[2,128]),{22:Q,48:ue,59:120,60:te,61:[1,121],82:re,84:107,85:108,86:J,87:K,88:ae,89:Z,90:de},t(ne,[2,64]),{16:39,17:40,19:122,60:p,86:k,100:C,102:A,103:L},t($,[2,16]),t($,[2,17]),t($,[2,18]),{39:[2,36]},{15:124,16:84,17:85,18:[1,123],39:[2,9],60:p,86:k,100:C,102:A,103:L},{39:[2,10]},t(Te,[2,45],{11:125,12:[1,126]}),t(I,[2,7]),{9:[1,127]},t(W,[2,57]),{16:39,17:40,19:128,60:p,86:k,100:C,102:A,103:L},{13:[1,130],16:39,17:40,19:129,60:p,86:k,100:C,102:A,103:L},t(j,[2,72],{66:131,68:E,69:_,70:D,71:O,72:N}),t(j,[2,71]),{41:[1,132]},{24:96,40:133,43:23,46:a},{8:[1,134],41:[2,37]},t(F,[2,41],{39:[1,135]}),{41:[1,136]},t(F,[2,43]),{41:[2,51],45:137,51:oe},{16:39,17:40,19:138,60:p,86:k,100:C,102:A,103:L},t(R,[2,81],{13:[1,139]}),t(R,[2,83],{13:[1,141],77:[1,140]}),t(R,[2,87],{13:[1,142],80:[1,143]}),{13:[1,144]},t(R,[2,95],{61:Ve}),t(pe,[2,97],{85:146,22:Q,48:ue,60:te,82:re,86:J,87:K,88:ae,89:Z,90:de}),t(Be,[2,99]),t(Be,[2,101]),t(Be,[2,102]),t(Be,[2,103]),t(Be,[2,104]),t(Be,[2,105]),t(Be,[2,106]),t(Be,[2,107]),t(Be,[2,108]),t(Be,[2,109]),t(R,[2,96]),t(R,[2,61]),t(R,[2,63],{61:Ve}),{60:[1,147]},t($,[2,14]),{15:148,16:84,17:85,60:p,86:k,100:C,102:A,103:L},{39:[2,12]},t(Te,[2,46]),{13:[1,149]},{1:[2,4]},t(W,[2,59]),t(W,[2,58]),{16:39,17:40,19:150,60:p,86:k,100:C,102:A,103:L},t(j,[2,70]),t(R,[2,34]),{41:[1,151]},{24:96,40:152,41:[2,38],43:23,46:a},{45:153,51:oe},t(F,[2,42]),{41:[2,52]},t(R,[2,50]),t(R,[2,82]),t(R,[2,84]),t(R,[2,85],{77:[1,154]}),t(R,[2,88]),t(R,[2,89],{13:[1,155]}),t(R,[2,91],{13:[1,157],77:[1,156]}),{22:Q,48:ue,60:te,82:re,84:158,85:108,86:J,87:K,88:ae,89:Z,90:de},t(Be,[2,100]),t(ne,[2,65]),{39:[2,11]},{14:[1,159]},t(W,[2,60]),t(R,[2,35]),{41:[2,39]},{41:[1,160]},t(R,[2,86]),t(R,[2,90]),t(R,[2,92]),t(R,[2,93],{77:[1,161]}),t(pe,[2,98],{85:146,22:Q,48:ue,60:te,82:re,86:J,87:K,88:ae,89:Z,90:de}),t(Te,[2,8]),t(F,[2,44]),t(R,[2,94])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],124:[2,12],127:[2,4],137:[2,52],148:[2,11],152:[2,39]},parseError:o(function(Ne,Ce){if(Ce.recoverable)this.trace(Ne);else{var Fe=new Error(Ne);throw Fe.hash=Ce,Fe}},"parseError"),parse:o(function(Ne){var Ce=this,Fe=[0],fe=[],xe=[null],Y=[],he=this.table,z="",se=0,le=0,ke=0,ve=2,ye=1,Re=Y.slice.call(arguments,1),_e=Object.create(this.lexer),ze={yy:{}};for(var Ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ke)&&(ze.yy[Ke]=this.yy[Ke]);_e.setInput(Ne,ze.yy),ze.yy.lexer=_e,ze.yy.parser=this,typeof _e.yylloc>"u"&&(_e.yylloc={});var xt=_e.yylloc;Y.push(xt);var We=_e.options&&_e.options.ranges;typeof ze.yy.parseError=="function"?this.parseError=ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Oe(_t){Fe.length=Fe.length-2*_t,xe.length=xe.length-_t,Y.length=Y.length-_t}o(Oe,"popStack");function et(){var _t;return _t=fe.pop()||_e.lex()||ye,typeof _t!="number"&&(_t instanceof Array&&(fe=_t,_t=fe.pop()),_t=Ce.symbols_[_t]||_t),_t}o(et,"lex");for(var Ue,lt,Gt,vt,Lt,dt,nt={},bt,wt,yt,ft;;){if(Gt=Fe[Fe.length-1],this.defaultActions[Gt]?vt=this.defaultActions[Gt]:((Ue===null||typeof Ue>"u")&&(Ue=et()),vt=he[Gt]&&he[Gt][Ue]),typeof vt>"u"||!vt.length||!vt[0]){var Ur="";ft=[];for(bt in he[Gt])this.terminals_[bt]&&bt>ve&&ft.push("'"+this.terminals_[bt]+"'");_e.showPosition?Ur="Parse error on line "+(se+1)+`: +`+_e.showPosition()+` +Expecting `+ft.join(", ")+", got '"+(this.terminals_[Ue]||Ue)+"'":Ur="Parse error on line "+(se+1)+": Unexpected "+(Ue==ye?"end of input":"'"+(this.terminals_[Ue]||Ue)+"'"),this.parseError(Ur,{text:_e.match,token:this.terminals_[Ue]||Ue,line:_e.yylineno,loc:xt,expected:ft})}if(vt[0]instanceof Array&&vt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Gt+", token: "+Ue);switch(vt[0]){case 1:Fe.push(Ue),xe.push(_e.yytext),Y.push(_e.yylloc),Fe.push(vt[1]),Ue=null,lt?(Ue=lt,lt=null):(le=_e.yyleng,z=_e.yytext,se=_e.yylineno,xt=_e.yylloc,ke>0&&ke--);break;case 2:if(wt=this.productions_[vt[1]][1],nt.$=xe[xe.length-wt],nt._$={first_line:Y[Y.length-(wt||1)].first_line,last_line:Y[Y.length-1].last_line,first_column:Y[Y.length-(wt||1)].first_column,last_column:Y[Y.length-1].last_column},We&&(nt._$.range=[Y[Y.length-(wt||1)].range[0],Y[Y.length-1].range[1]]),dt=this.performAction.apply(nt,[z,le,se,ze.yy,vt[1],xe,Y].concat(Re)),typeof dt<"u")return dt;wt&&(Fe=Fe.slice(0,-1*wt*2),xe=xe.slice(0,-1*wt),Y=Y.slice(0,-1*wt)),Fe.push(this.productions_[vt[1]][0]),xe.push(nt.$),Y.push(nt._$),yt=he[Fe[Fe.length-2]][Fe[Fe.length-1]],Fe.push(yt);break;case 3:return!0}}return!0},"parse")},He=(function(){var Ie={EOF:1,parseError:o(function(Ce,Fe){if(this.yy.parser)this.yy.parser.parseError(Ce,Fe);else throw new Error(Ce)},"parseError"),setInput:o(function(Ne,Ce){return this.yy=Ce||this.yy||{},this._input=Ne,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:o(function(){var Ne=this._input[0];this.yytext+=Ne,this.yyleng++,this.offset++,this.match+=Ne,this.matched+=Ne;var Ce=Ne.match(/(?:\r\n?|\n).*/g);return Ce?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ne},"input"),unput:o(function(Ne){var Ce=Ne.length,Fe=Ne.split(/(?:\r\n?|\n)/g);this._input=Ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ce),this.offset-=Ce;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),Fe.length-1&&(this.yylineno-=Fe.length-1);var xe=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:Fe?(Fe.length===fe.length?this.yylloc.first_column:0)+fe[fe.length-Fe.length].length-Fe[0].length:this.yylloc.first_column-Ce},this.options.ranges&&(this.yylloc.range=[xe[0],xe[0]+this.yyleng-Ce]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(Ne){this.unput(this.match.slice(Ne))},"less"),pastInput:o(function(){var Ne=this.matched.substr(0,this.matched.length-this.match.length);return(Ne.length>20?"...":"")+Ne.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Ne=this.match;return Ne.length<20&&(Ne+=this._input.substr(0,20-Ne.length)),(Ne.substr(0,20)+(Ne.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Ne=this.pastInput(),Ce=new Array(Ne.length+1).join("-");return Ne+this.upcomingInput()+` +`+Ce+"^"},"showPosition"),test_match:o(function(Ne,Ce){var Fe,fe,xe;if(this.options.backtrack_lexer&&(xe={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&&(xe.yylloc.range=this.yylloc.range.slice(0))),fe=Ne[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+Ne[0].length},this.yytext+=Ne[0],this.match+=Ne[0],this.matches=Ne,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(Ne[0].length),this.matched+=Ne[0],Fe=this.performAction.call(this,this.yy,this,Ce,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Fe)return Fe;if(this._backtrack){for(var Y in xe)this[Y]=xe[Y];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ne,Ce,Fe,fe;this._more||(this.yytext="",this.match="");for(var xe=this._currentRules(),Y=0;YCe[0].length)){if(Ce=Fe,fe=Y,this.options.backtrack_lexer){if(Ne=this.test_match(Fe,xe[Y]),Ne!==!1)return Ne;if(this._backtrack){Ce=!1;continue}else return!1}else if(!this.options.flex)break}return Ce?(Ne=this.test_match(Ce,xe[fe]),Ne!==!1?Ne:!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:o(function(){var Ce=this.next();return Ce||this.lex()},"lex"),begin:o(function(Ce){this.conditionStack.push(Ce)},"begin"),popState:o(function(){var Ce=this.conditionStack.length-1;return Ce>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(Ce){return Ce=this.conditionStack.length-1-Math.abs(Ce||0),Ce>=0?this.conditionStack[Ce]:"INITIAL"},"topState"),pushState:o(function(Ce){this.begin(Ce)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ce,Fe,fe,xe){var Y=xe;switch(fe){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;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;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;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:return this.popState(),41;break;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;break;case 39:return this.popState(),8;break;case 40:break;case 41:return this.popState(),this.popState(),41;break;case 42:return this.begin("class-body"),39;break;case 43:return this.popState(),41;break;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 49;case 56:return 50;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 48;case 96:return 48;case 97: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,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return Ie})();Ye.lexer=He;function Le(){this.yy={}}return o(Le,"Parser"),Le.prototype=Ye,Ye.Parser=Le,new Le})();l$.parser=l$;nC=l$});var tve,E4,rve=M(()=>{"use strict";Xt();gr();tve=["#","+","~","-",""],E4=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=sr(e,ge());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+rc(this.id);this.memberType==="method"&&(e+=`(${rc(this.parameters.trim())})`,this.returnType&&(e+=" : "+rc(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){let s=a[1]?a[1].trim():"";if(tve.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===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let i=e.length,a=e.substring(0,1),s=e.substring(i-1);tve.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();let n=`${this.visibility?"\\"+this.visibility:""}${rc(this.id)}${this.memberType==="method"?`(${rc(this.parameters)})${this.returnType?" : "+rc(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var iC,nve,c0,oy,u$=M(()=>{"use strict";yr();pt();Xt();gr();tr();ci();rve();iC="classId-",nve=0,c0=o(t=>tt.sanitizeText(t,ge()),"sanitizeText"),oy=class{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=[];this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=o(e=>{let r=qe(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=qe("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),qe(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=qe(a.currentTarget);if(s.attr("title")===null)return;let u=this.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.top-14+document.body.scrollTop+"px"),r.html(r.html().replace(/<br\/>/g,"
    ")),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),qe(a.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=Rr;this.getAccTitle=Mr;this.setAccDescription=Ir;this.getAccDescription=Or;this.setDiagramTitle=$r;this.getDiagramTitle=Pr;this.getConfig=o(()=>ge().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.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)}static{o(this,"ClassDB")}splitClassNameAndType(e){let r=tt.sanitizeText(e,ge()),n="",i=r;if(r.indexOf("~")>0){let a=r.split("~");i=c0(a[0]),n=c0(a[1])}return{className:i,type:n}}setClassLabel(e,r){let n=tt.sanitizeText(e,ge());r&&(r=c0(r));let{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){let r=tt.sanitizeText(e,ge()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;let a=tt.sanitizeText(n,ge());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:iC+a+"-"+nve}),nve++}addInterface(e,r){let n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}lookUpDomId(e){let r=tt.sanitizeText(e,ge());if(this.classes.has(r))return this.classes.get(r).domId;throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=[],this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",Sr()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNotes(){return this.notes}addRelation(e){X.debug("Adding relation: "+JSON.stringify(e));let 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=tt.sanitizeText(e.relationTitle1.trim(),ge()),e.relationTitle2=tt.sanitizeText(e.relationTitle2.trim(),ge()),this.relations.push(e)}addAnnotation(e,r){let n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);let n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){let a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(c0(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new E4(a,"method")):a&&i.members.push(new E4(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){let n={id:`note${this.notes.length}`,class:r,text:e};this.notes.push(n)}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),c0(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=iC+i);let a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(let 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)){let 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=>{r!==void 0&&(this.classes.get(n).tooltip=c0(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){let i=ge();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=iC+s);let l=this.classes.get(s);l&&(l.link=qt.formatUrl(r,i),i.securityLevel==="sandbox"?l.linkTarget="_top":typeof n=="string"?l.linkTarget=c0(n):l.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){let i=tt.sanitizeText(e,ge());if(ge().securityLevel!=="loose"||r===void 0)return;let s=i;if(this.classes.has(s)){let l=this.lookUpDomId(s),u=[];if(typeof n=="string"){u=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let h=0;h{let h=document.querySelector(`[id="${l}"]`);h!==null&&h.addEventListener("click",()=>{qt.runFunc(r,...u)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,children:{},domId:iC+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r){if(this.namespaces.has(e))for(let n of r){let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).parent=e,this.namespaces.get(e).classes.set(i,this.classes.get(i))}}setCssStyle(e,r){let n=this.classes.get(e);if(!(!r||!n))for(let 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}getData(){let e=[],r=[],n=ge();for(let a of this.namespaces.keys()){let s=this.namespaces.get(a);if(s){let l={id:s.id,label:s.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:n.look};e.push(l)}}for(let a of this.classes.keys()){let s=this.classes.get(a);if(s){let l=s;l.parentId=s.parent,l.look=n.look,e.push(l)}}let i=0;for(let a of this.notes){i++;let s={id:a.id,label:a.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};e.push(s);let l=this.classes.get(a.class)?.id??"";if(l){let u={id:`edgeNote${i}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(u)}}for(let a of this.interfaces){let s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}i=0;for(let a of this.relations){i++;let s={id:xc(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}}});var VJe,aC,h$=M(()=>{"use strict";yg();VJe=o(t=>`g.classGroup text { + fill: ${t.nodeBorder||t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} +.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: 1px; + } + + +.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: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#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}; +} + ${zc()} +`,"getStyles"),aC=VJe});var UJe,HJe,qJe,sC,f$=M(()=>{"use strict";Xt();pt();ep();Nf();Mf();tr();UJe=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),HJe=o(function(t,e){return e.db.getClasses()},"getClasses"),qJe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing class diagram (v3)",e);let{securityLevel:i,state:a,layout:s}=ge(),l=n.db.getData(),u=Vo(e,i);l.type=n.type,l.layoutAlgorithm=$c(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=e,await Qo(l,u);let h=8;qt.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Ws(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),sC={getClasses:HJe,draw:qJe,getDir:UJe}});var ive={};dr(ive,{diagram:()=>WJe});var WJe,ave=M(()=>{"use strict";c$();u$();h$();f$();WJe={parser:nC,get db(){return new oy},renderer:sC,styles:aC,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var lve={};dr(lve,{diagram:()=>KJe});var KJe,cve=M(()=>{"use strict";c$();u$();h$();f$();KJe={parser:nC,get db(){return new oy},renderer:sC,styles:aC,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var d$,oC,p$=M(()=>{"use strict";d$=(function(){var t=o(function(F,V,$,U){for($=$||{},U=F.length;U--;$[F[U]]=V);return $},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,33],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],T=[1,28],S=[1,29],w=[1,30],k=[1,31],C=[1,32],A=[1,35],L=[1,36],I=[1,37],R=[1,38],E=[1,34],_=[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],D=[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],O=[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],N={trace:o(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:o(function(V,$,U,j,ee,q,oe){var Q=q.length-1;switch(ee){case 3:return j.setRootDoc(q[Q]),q[Q];break;case 4:this.$=[];break;case 5:q[Q]!="nl"&&(q[Q-1].push(q[Q]),this.$=q[Q-1]);break;case 6:case 7:this.$=q[Q];break;case 8:this.$="nl";break;case 12:this.$=q[Q];break;case 13:let J=q[Q-1];J.description=j.trimColon(q[Q]),this.$=J;break;case 14:this.$={stmt:"relation",state1:q[Q-2],state2:q[Q]};break;case 15:let K=j.trimColon(q[Q]);this.$={stmt:"relation",state1:q[Q-3],state2:q[Q-1],description:K};break;case 19:this.$={stmt:"state",id:q[Q-3],type:"default",description:"",doc:q[Q-1]};break;case 20:var ue=q[Q],te=q[Q-2].trim();if(q[Q].match(":")){var re=q[Q].split(":");ue=re[0],te=[te,re[1]]}this.$={stmt:"state",id:ue,type:"default",description:te};break;case 21:this.$={stmt:"state",id:q[Q-3],type:"default",description:q[Q-5],doc:q[Q-1]};break;case 22:this.$={stmt:"state",id:q[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:q[Q],type:"join"};break;case 24:this.$={stmt:"state",id:q[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:j.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:q[Q-1].trim(),note:{position:q[Q-2].trim(),text:q[Q].trim()}};break;case 29:this.$=q[Q].trim(),j.setAccTitle(this.$);break;case 30:case 31:this.$=q[Q].trim(),j.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:q[Q-3],url:q[Q-2],tooltip:q[Q-1]};break;case 33:this.$={stmt:"click",id:q[Q-3],url:q[Q-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:q[Q-1].trim(),classes:q[Q].trim()};break;case 36:this.$={stmt:"style",id:q[Q-1].trim(),styleClass:q[Q].trim()};break;case 37:this.$={stmt:"applyClass",id:q[Q-1].trim(),styleClass:q[Q].trim()};break;case 38:j.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:j.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:j.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:j.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:q[Q].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:q[Q-2].trim(),classes:[q[Q].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:q[Q-2].trim(),classes:[q[Q].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:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:S,41:w,45:k,48:C,51:A,52:L,53:I,54:R,57:E},t(_,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:S,41:w,45:k,48:C,51:A,52:L,53:I,54:R,57:E},t(_,[2,7]),t(_,[2,8]),t(_,[2,9]),t(_,[2,10]),t(_,[2,11]),t(_,[2,12],{14:[1,40],15:[1,41]}),t(_,[2,16]),{18:[1,42]},t(_,[2,18],{20:[1,43]}),{23:[1,44]},t(_,[2,22]),t(_,[2,23]),t(_,[2,24]),t(_,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(_,[2,28]),{34:[1,49]},{36:[1,50]},t(_,[2,31]),{13:51,24:d,57:E},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(_,[2,38]),t(_,[2,39]),t(_,[2,40]),t(_,[2,41]),t(_,[2,6]),t(_,[2,13]),{13:58,24:d,57:E},t(_,[2,17]),t(O,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(_,[2,29]),t(_,[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(_,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,72],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:S,41:w,45:k,48:C,51:A,52:L,53:I,54:R,57:E},t(_,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(_,[2,34]),t(_,[2,35]),t(_,[2,36]),t(_,[2,37]),t(D,[2,46]),t(D,[2,47]),t(_,[2,15]),t(_,[2,19]),t(O,i,{7:78}),t(_,[2,26]),t(_,[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:l,17:u,19:h,21:[1,81],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:S,41:w,45:k,48:C,51:A,52:L,53:I,54:R,57:E},t(_,[2,32]),t(_,[2,33]),t(_,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:o(function(V,$){if($.recoverable)this.trace(V);else{var U=new Error(V);throw U.hash=$,U}},"parseError"),parse:o(function(V){var $=this,U=[0],j=[],ee=[null],q=[],oe=this.table,Q="",ue=0,te=0,re=0,J=2,K=1,ae=q.slice.call(arguments,1),Z=Object.create(this.lexer),de={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(de.yy[ne]=this.yy[ne]);Z.setInput(V,de.yy),de.yy.lexer=Z,de.yy.parser=this,typeof Z.yylloc>"u"&&(Z.yylloc={});var Te=Z.yylloc;q.push(Te);var W=Z.options&&Z.options.ranges;typeof de.yy.parseError=="function"?this.parseError=de.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ve(z){U.length=U.length-2*z,ee.length=ee.length-z,q.length=q.length-z}o(Ve,"popStack");function pe(){var z;return z=j.pop()||Z.lex()||K,typeof z!="number"&&(z instanceof Array&&(j=z,z=j.pop()),z=$.symbols_[z]||z),z}o(pe,"lex");for(var Be,Ye,He,Le,Ie,Ne,Ce={},Fe,fe,xe,Y;;){if(He=U[U.length-1],this.defaultActions[He]?Le=this.defaultActions[He]:((Be===null||typeof Be>"u")&&(Be=pe()),Le=oe[He]&&oe[He][Be]),typeof Le>"u"||!Le.length||!Le[0]){var he="";Y=[];for(Fe in oe[He])this.terminals_[Fe]&&Fe>J&&Y.push("'"+this.terminals_[Fe]+"'");Z.showPosition?he="Parse error on line "+(ue+1)+`: +`+Z.showPosition()+` +Expecting `+Y.join(", ")+", got '"+(this.terminals_[Be]||Be)+"'":he="Parse error on line "+(ue+1)+": Unexpected "+(Be==K?"end of input":"'"+(this.terminals_[Be]||Be)+"'"),this.parseError(he,{text:Z.match,token:this.terminals_[Be]||Be,line:Z.yylineno,loc:Te,expected:Y})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+He+", token: "+Be);switch(Le[0]){case 1:U.push(Be),ee.push(Z.yytext),q.push(Z.yylloc),U.push(Le[1]),Be=null,Ye?(Be=Ye,Ye=null):(te=Z.yyleng,Q=Z.yytext,ue=Z.yylineno,Te=Z.yylloc,re>0&&re--);break;case 2:if(fe=this.productions_[Le[1]][1],Ce.$=ee[ee.length-fe],Ce._$={first_line:q[q.length-(fe||1)].first_line,last_line:q[q.length-1].last_line,first_column:q[q.length-(fe||1)].first_column,last_column:q[q.length-1].last_column},W&&(Ce._$.range=[q[q.length-(fe||1)].range[0],q[q.length-1].range[1]]),Ne=this.performAction.apply(Ce,[Q,te,ue,de.yy,Le[1],ee,q].concat(ae)),typeof Ne<"u")return Ne;fe&&(U=U.slice(0,-1*fe*2),ee=ee.slice(0,-1*fe),q=q.slice(0,-1*fe)),U.push(this.productions_[Le[1]][0]),ee.push(Ce.$),q.push(Ce._$),xe=oe[U[U.length-2]][U[U.length-1]],U.push(xe);break;case 3:return!0}}return!0},"parse")},P=(function(){var F={EOF:1,parseError:o(function($,U){if(this.yy.parser)this.yy.parser.parseError($,U);else throw new Error($)},"parseError"),setInput:o(function(V,$){return this.yy=$||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:o(function(){var V=this._input[0];this.yytext+=V,this.yyleng++,this.offset++,this.match+=V,this.matched+=V;var $=V.match(/(?:\r\n?|\n).*/g);return $?(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:o(function(V){var $=V.length,U=V.split(/(?:\r\n?|\n)/g);this._input=V+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;var j=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),U.length-1&&(this.yylineno-=U.length-1);var ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:U?(U.length===j.length?this.yylloc.first_column:0)+j[j.length-U.length].length-U[0].length:this.yylloc.first_column-$},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-$]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(V){this.unput(this.match.slice(V))},"less"),pastInput:o(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:o(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:o(function(){var V=this.pastInput(),$=new Array(V.length+1).join("-");return V+this.upcomingInput()+` +`+$+"^"},"showPosition"),test_match:o(function(V,$){var U,j,ee;if(this.options.backtrack_lexer&&(ee={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&&(ee.yylloc.range=this.yylloc.range.slice(0))),j=V[0].match(/(?:\r\n?|\n).*/g),j&&(this.yylineno+=j.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:j?j[j.length-1].length-j[j.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],U=this.performAction.call(this,this.yy,this,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),U)return U;if(this._backtrack){for(var q in ee)this[q]=ee[q];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var V,$,U,j;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),q=0;q$[0].length)){if($=U,j=q,this.options.backtrack_lexer){if(V=this.test_match(U,ee[q]),V!==!1)return V;if(this._backtrack){$=!1;continue}else return!1}else if(!this.options.flex)break}return $?(V=this.test_match($,ee[j]),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:o(function(){var $=this.next();return $||this.lex()},"lex"),begin:o(function($){this.conditionStack.push($)},"begin"),popState:o(function(){var $=this.conditionStack.length-1;return $>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function($){return $=this.conditionStack.length-1-Math.abs($||0),$>=0?this.conditionStack[$]:"INITIAL"},"topState"),pushState:o(function($){this.begin($)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function($,U,j,ee){var q=ee;switch(j){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:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;break;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;break;case 19:return this.popState(),"acc_title_value";break;case 20:return this.begin("acc_descr"),35;break;case 21:return this.popState(),"acc_descr_value";break;case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;break;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 27:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 28:return this.popState(),43;break;case 29:return this.pushState("CLASS"),48;break;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 31:return this.popState(),50;break;case 32:return this.pushState("STYLE"),45;break;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 34:return this.popState(),47;break;case 35:return this.pushState("SCALE"),17;break;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),U.yytext=U.yytext.slice(0,-10).trim(),27;break;case 42:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),25;break;case 43:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),26;break;case 44:return this.popState(),U.yytext=U.yytext.slice(0,-10).trim(),27;break;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";break;case 51:return this.popState(),"ID";break;case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;break;case 57:break;case 58:return this.popState(),21;break;case 59:break;case 60:return this.begin("NOTE"),29;break;case 61:return this.popState(),this.pushState("NOTE_ID"),59;break;case 62:return this.popState(),this.pushState("NOTE_ID"),60;break;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";break;case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 69:return this.popState(),U.yytext=U.yytext.substr(2).trim(),31;break;case 70:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),31;break;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return U.yytext=U.yytext.trim(),14;break;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81: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,/^(?:[^\}]%%[^\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,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return F})();N.lexer=P;function B(){this.yy={}}return o(B,"Parser"),B.prototype=N,N.Parser=B,new B})();d$.parser=d$;oC=d$});var Qf,u0,S4,fve,dve,pve,h0,lC,m$,g$,y$,v$,cC,uC,mve,gve,x$,b$,yve,vve,ly,eet,xve,T$,tet,ret,bve,Tve,net,wve,iet,kve,w$,k$,Eve,hC,Sve,E$,fC=M(()=>{"use strict";Qf="state",u0="root",S4="relation",fve="classDef",dve="style",pve="applyClass",h0="default",lC="divider",m$="fill:none",g$="fill: #333",y$="text",v$="normal",cC="rect",uC="rectWithTitle",mve="stateStart",gve="stateEnd",x$="divider",b$="roundedWithTitle",yve="note",vve="noteGroup",ly="statediagram",eet="state",xve=`${ly}-${eet}`,T$="transition",tet="note",ret="note-edge",bve=`${T$} ${ret}`,Tve=`${ly}-${tet}`,net="cluster",wve=`${ly}-${net}`,iet="cluster-alt",kve=`${ly}-${iet}`,w$="parent",k$="note",Eve="state",hC="----",Sve=`${hC}${k$}`,E$=`${hC}${w$}`});function S$(t="",e=0,r="",n=hC){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${Eve}-${t}${i}-${e}`}function dC(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{let a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function set(t){return t?.classes?.join(" ")??""}function oet(t){return t?.styles??[]}var pC,Zf,aet,Cve,cy,_ve,Dve=M(()=>{"use strict";Xt();pt();gr();fC();pC=new Map,Zf=0;o(S$,"stateDomId");aet=o((t,e,r,n,i,a,s,l)=>{X.trace("items",e),e.forEach(u=>{switch(u.stmt){case Qf:cy(t,u,r,n,i,a,s,l);break;case h0:cy(t,u,r,n,i,a,s,l);break;case S4:{cy(t,u.state1,r,n,i,a,s,l),cy(t,u.state2,r,n,i,a,s,l);let h={id:"edge"+Zf,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:m$,labelStyle:"",label:tt.sanitizeText(u.description??"",ge()),arrowheadStyle:g$,labelpos:"c",labelType:y$,thickness:v$,classes:T$,look:s};i.push(h),Zf++}break}})},"setupDoc"),Cve=o((t,e="TB")=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");o(dC,"insertOrUpdateNode");o(set,"getClassesFromDbInfo");o(oet,"getStylesFromDbInfo");cy=o((t,e,r,n,i,a,s,l)=>{let u=e.id,h=r.get(u),f=set(h),d=oet(h),p=ge();if(X.info("dataFetcher parsedItem",e,h,d),u!=="root"){let m=cC;e.start===!0?m=mve:e.start===!1&&(m=gve),e.type!==h0&&(m=e.type),pC.get(u)||pC.set(u,{id:u,shape:m,description:tt.sanitizeText(u,p),cssClasses:`${f} ${xve}`,cssStyles:d});let g=pC.get(u);e.description&&(Array.isArray(g.description)?(g.shape=uC,g.description.push(e.description)):g.description?.length&&g.description.length>0?(g.shape=uC,g.description===u?g.description=[e.description]:g.description=[g.description,e.description]):(g.shape=cC,g.description=e.description),g.description=tt.sanitizeTextOrArray(g.description,p)),g.description?.length===1&&g.shape===uC&&(g.type==="group"?g.shape=b$:g.shape=cC),!g.type&&e.doc&&(X.info("Setting cluster for XCX",u,Cve(e)),g.type="group",g.isGroup=!0,g.dir=Cve(e),g.shape=e.type===lC?x$:b$,g.cssClasses=`${g.cssClasses} ${wve} ${a?kve:""}`);let y={labelStyle:"",shape:g.shape,label:g.description,cssClasses:g.cssClasses,cssCompiledStyles:[],cssStyles:g.cssStyles,id:u,dir:g.dir,domId:S$(u,Zf),type:g.type,isGroup:g.type==="group",padding:8,rx:10,ry:10,look:s};if(y.shape===x$&&(y.label=""),t&&t.id!=="root"&&(X.trace("Setting node ",u," to be child of its parent ",t.id),y.parentId=t.id),y.centerLabel=!0,e.note){let v={labelStyle:"",shape:yve,label:e.note.text,cssClasses:Tve,cssStyles:[],cssCompiledStyles:[],id:u+Sve+"-"+Zf,domId:S$(u,Zf,k$),type:g.type,isGroup:g.type==="group",padding:p.flowchart?.padding,look:s,position:e.note.position},x=u+E$,b={labelStyle:"",shape:vve,label:e.note.text,cssClasses:g.cssClasses,cssStyles:[],id:u+E$,domId:S$(u,Zf,w$),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Zf++,b.id=x,v.parentId=x,dC(n,b,l),dC(n,v,l),dC(n,y,l);let T=u,S=v.id;e.note.position==="left of"&&(T=v.id,S=u),i.push({id:T+"-"+S,start:T,end:S,arrowhead:"none",arrowTypeEnd:"",style:m$,labelStyle:"",classes:bve,arrowheadStyle:g$,labelpos:"c",labelType:y$,thickness:v$,look:s})}else dC(n,y,l)}e.doc&&(X.trace("Adding nodes children "),aet(e,e.doc,r,n,i,!a,s,l))},"dataFetcher"),_ve=o(()=>{pC.clear(),Zf=0},"reset")});var A$,cet,uet,Lve,_$=M(()=>{"use strict";Xt();pt();ep();Nf();Mf();tr();fC();A$=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),cet=o(function(t,e){return e.db.getClasses()},"getClasses"),uet=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:s}=ge();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=Vo(e,i);l.type=n.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await Qo(l,u);let h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((d,p)=>{let m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){X.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(p));return}let g=u.node()?.querySelectorAll("g"),y;if(g?.forEach(T=>{T.textContent?.trim()===m&&(y=T)}),!y){X.warn("\u26A0\uFE0F Could not find node matching text:",m);return}let v=y.parentNode;if(!v){X.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",m);return}let x=document.createElementNS("http://www.w3.org/2000/svg","a"),b=d.url.replace(/^"+|"+$/g,"");if(x.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b),x.setAttribute("target","_blank"),d.tooltip){let T=d.tooltip.replace(/^"+|"+$/g,"");x.setAttribute("title",T)}v.replaceChild(x,y),x.appendChild(y),X.info("\u{1F517} Wrapped node in
    tag for:",m,d.url)})}catch(f){X.error("\u274C Error injecting clickable links:",f)}qt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Ws(u,h,ly,a?.useMaxWidth??!0)},"draw"),Lve={getClasses:cet,draw:uet,getDir:A$}});var ws,Nve,Mve,mC,al,gC=M(()=>{"use strict";Xt();pt();tr();gr();ci();Dve();_$();fC();ws={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},Nve=o(()=>new Map,"newClassesList"),Mve=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),mC=o(t=>JSON.parse(JSON.stringify(t)),"clone"),al=class{constructor(e){this.version=e;this.nodes=[];this.edges=[];this.rootDoc=[];this.classes=Nve();this.documents={root:Mve()};this.currentDocument=this.documents.root;this.startEndCount=0;this.dividerCnt=0;this.links=new Map;this.getAccTitle=Mr;this.setAccTitle=Rr;this.getAccDescription=Or;this.setAccDescription=Ir;this.setDiagramTitle=$r;this.getDiagramTitle=Pr;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)}static{o(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(e){this.clear(!0);for(let i of Array.isArray(e)?e:e.doc)switch(i.stmt){case Qf:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case S4:this.addRelation(i.state1,i.state2,i.description);break;case fve:this.addStyleClass(i.id.trim(),i.classes);break;case dve:this.handleStyleDef(i);break;case pve:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}let r=this.getStates(),n=ge();_ve(),cy(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(let 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){let r=e.id.trim().split(","),n=e.styleClass.split(",");for(let i of r){let a=this.getState(i);if(!a){let s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){X.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===S4){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===Qf&&(r.id===ws.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==u0&&r.stmt!==Qf||!r.doc)return;let i=[],a=[];for(let s of r.doc)if(s.type===lC){let l=mC(s);l.doc=mC(a),i.push(l),a=[]}else a.push(s);if(i.length>0&&a.length>0){let s={stmt:Qf,id:GL(),type:"divider",doc:mC(a)};i.push(mC(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:u0,stmt:u0},{id:u0,stmt:u0,doc:this.rootDoc},!0),{id:u0,doc:this.rootDoc}}addState(e,r=h0,n=void 0,i=void 0,a=void 0,s=void 0,l=void 0,u=void 0){let h=e?.trim();if(!this.currentDocument.states.has(h))X.info("Adding state ",h,i),this.currentDocument.states.set(h,{stmt:Qf,id:h,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.doc||(f.doc=n),f.type||(f.type=r)}if(i&&(X.info("Setting state description",h,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(h,d.trim()))),a){let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.note=a,f.note.text=tt.sanitizeText(f.note.text,ge())}s&&(X.info("Setting state classes",h,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(h,d.trim()))),l&&(X.info("Setting state styles",h,l),(Array.isArray(l)?l:[l]).forEach(d=>this.setStyle(h,d.trim()))),u&&(X.info("Setting state styles",h,l),(Array.isArray(u)?u:[u]).forEach(d=>this.setTextStyle(h,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:Mve()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=Nve(),e||(this.links=new Map,Sr())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){X.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),X.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===ws.START_NODE?(this.startEndCount++,`${ws.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=h0){return e===ws.START_NODE?ws.START_TYPE:r}endIdIfNeeded(e=""){return e===ws.END_NODE?(this.startEndCount++,`${ws.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=h0){return e===ws.END_NODE?ws.END_TYPE:r}addRelationObjs(e,r,n=""){let i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),l=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,l,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:tt.sanitizeText(n,ge())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){let i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),l=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,l),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?tt.sanitizeText(n,ge()):void 0})}}addDescription(e,r){let n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push(tt.sanitizeText(i,ge()))}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:[]});let n=this.classes.get(e);r&&n&&r.split(ws.STYLECLASS_SEP).forEach(i=>{let a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(ws.COLOR_KEYWORD).exec(i)){let l=a.replace(ws.FILL_KEYWORD,ws.BG_FILL).replace(ws.COLOR_KEYWORD,ws.FILL_KEYWORD);n.textStyles.push(l)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){let a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt==="dir")}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(e){let r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:"dir",value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){let e=ge();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:A$(this.getRootDocV2())}}getConfig(){return ge().state}}});var fet,yC,D$=M(()=>{"use strict";fet=o(t=>` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + 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: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // 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}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`,"getStyles"),yC=fet});var det,pet,met,get,Ove,yet,vet,xet,bet,L$,Ive,Pve,Bve=M(()=>{"use strict";yr();gC();tr();gr();Xt();pt();det=o(t=>t.append("circle").attr("class","start-state").attr("r",ge().state.sizeUnit).attr("cx",ge().state.padding+ge().state.sizeUnit).attr("cy",ge().state.padding+ge().state.sizeUnit),"drawStartState"),pet=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",ge().state.textHeight).attr("class","divider").attr("x2",ge().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),met=o((t,e)=>{let r=t.append("text").attr("x",2*ge().state.padding).attr("y",ge().state.textHeight+2*ge().state.padding).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",ge().state.padding).attr("y",ge().state.padding).attr("width",n.width+2*ge().state.padding).attr("height",n.height+2*ge().state.padding).attr("rx",ge().state.radius),r},"drawSimpleState"),get=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*ge().state.padding).text(m);g||y.attr("dy",ge().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*ge().state.padding).attr("y",ge().state.textHeight+1.3*ge().state.padding).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",ge().state.padding).attr("y",a+ge().state.padding*.4+ge().state.dividerMargin+ge().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",ge().state.padding).attr("y1",ge().state.padding+a+ge().state.dividerMargin/2).attr("y2",ge().state.padding+a+ge().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*ge().state.padding),t.insert("rect",":first-child").attr("x",ge().state.padding).attr("y",ge().state.padding).attr("width",d+2*ge().state.padding).attr("height",f.height+a+2*ge().state.padding).attr("rx",ge().state.radius),t},"drawDescrState"),Ove=o((t,e,r)=>{let n=ge().state.padding,i=2*ge().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",ge().state.titleShift).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,s);d===s&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>s&&(p=(s-d)/2+n),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-ge().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+ge().state.textHeight+ge().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=s&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",ge().state.titleShift-ge().state.textHeight-ge().state.padding).attr("width",d).attr("height",ge().state.textHeight*3).attr("rx",ge().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",ge().state.titleShift-ge().state.textHeight-ge().state.padding).attr("width",d).attr("height",m.height+3+2*ge().state.textHeight).attr("rx",ge().state.radius),t},"addTitleAndBox"),yet=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",ge().state.sizeUnit+ge().state.miniPadding).attr("cx",ge().state.padding+ge().state.sizeUnit+ge().state.miniPadding).attr("cy",ge().state.padding+ge().state.sizeUnit+ge().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",ge().state.sizeUnit).attr("cx",ge().state.padding+ge().state.sizeUnit+2).attr("cy",ge().state.padding+ge().state.sizeUnit+2)),"drawEndState"),vet=o((t,e)=>{let r=ge().state.forkWidth,n=ge().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",ge().state.padding).attr("y",ge().state.padding)},"drawForkJoinState"),xet=o((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(tt.lineBreakRegex),u=1.25*ge().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+ge().state.noteMargin),d.attr("y",r+i+1.25*ge().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),bet=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",ge().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=xet(t,0,0,n);return r.attr("height",a+2*ge().state.noteMargin),r.attr("width",i+ge().state.noteMargin*2),r},"drawNote"),L$=o(function(t,e){let 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"&&det(i),e.type==="end"&&yet(i),(e.type==="fork"||e.type==="join")&&vet(i,e),e.type==="note"&&bet(e.note.text,i),e.type==="divider"&&pet(i),e.type==="default"&&e.descriptions.length===0&&met(i,e),e.type==="default"&&e.descriptions.length>0&&get(i,e);let a=i.node().getBBox();return n.width=a.width+2*ge().state.padding,n.height=a.height+2*ge().state.padding,n},"drawState"),Ive=0,Pve=o(function(t,e,r){let n=o(function(u){switch(u){case al.relationType.AGGREGATION:return"aggregation";case al.relationType.EXTENSION:return"extension";case al.relationType.COMPOSITION:return"composition";case al.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=Cl().x(function(u){return u.x}).y(function(u){return u.y}).curve(No),s=t.append("path").attr("d",a(i)).attr("id","edge"+Ive).attr("class","transition"),l="";if(ge().state.arrowMarkerAbsolute&&(l=md(!0)),s.attr("marker-end","url("+l+"#"+n(al.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=qt.calcLabelPosition(e.points),d=tt.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let T=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),S=T.node().getBBox();g=Math.max(g,S.width),y=Math.min(y,S.x),X.info(S.x,h,f+p),p===0&&(p=T.node().getBBox().height,X.info("Title height",p,f)),m.push(T)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((T,S)=>T.attr("y",f+S*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-ge().state.padding/2).attr("y",f-v/2-ge().state.padding/2-3.5).attr("width",g+ge().state.padding).attr("height",v+ge().state.padding),X.info(x)}Ive++},"drawEdge")});var bo,R$,Tet,wet,ket,Eet,Fve,$ve,zve=M(()=>{"use strict";yr();hN();qo();pt();gr();Bve();Xt();Ei();R$={},Tet=o(function(){},"setConf"),wet=o(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"),ket=o(function(t,e,r,n){bo=ge().state;let i=ge().securityLevel,a;i==="sandbox"&&(a=qe("#i"+e));let s=i==="sandbox"?qe(a.nodes()[0].contentDocument.body):qe("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;X.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);wet(u);let h=n.db.getRootDoc();Fve(h,u,void 0,!1,s,l,n);let f=bo.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;mn(u,m,g,bo.useMaxWidth),u.attr("viewBox",`${d.x-bo.padding} ${d.y-bo.padding} `+p+" "+m)},"draw"),Eet=o(t=>t?t.length*bo.fontSizeFactor:1,"getLabelWidth"),Fve=o((t,e,r,n,i,a,s)=>{let l=new cn({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let w=S.parentElement,k=0,C=0;w&&(w.parentElement&&(k=w.parentElement.getBBox().width),C=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(C)&&(C=0)),S.setAttribute("x1",0-C+8),S.setAttribute("x2",k-C-8)})):X.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(X.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),Pve(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*bo.padding,x.height=v.height+2*bo.padding,X.debug("Doc rendered",x,l),x},"renderDoc"),$ve={setConf:Tet,draw:ket}});var Gve={};dr(Gve,{diagram:()=>Cet});var Cet,Vve=M(()=>{"use strict";p$();gC();D$();zve();Cet={parser:oC,get db(){return new al(1)},renderer:$ve,styles:yC,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var qve={};dr(qve,{diagram:()=>Let});var Let,Wve=M(()=>{"use strict";p$();gC();D$();_$();Let={parser:oC,get db(){return new al(2)},renderer:Lve,styles:yC,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var N$,jve,Kve=M(()=>{"use strict";N$=(function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"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],l=[1,14],u={trace:o(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:o(function(p,m,g,y,v,x,b){var T=x.length-1;switch(v){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:y.addTask(x[T-1],x[T]),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:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:l},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:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,T="",S=0,w=0,k=0,C=2,A=1,L=x.slice.call(arguments,1),I=Object.create(this.lexer),R={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(R.yy[E]=this.yy[E]);I.setInput(p,R.yy),R.yy.lexer=I,R.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var _=I.yylloc;x.push(_);var D=I.options&&I.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(te){g.length=g.length-2*te,v.length=v.length-te,x.length=x.length-te}o(O,"popStack");function N(){var te;return te=y.pop()||I.lex()||A,typeof te!="number"&&(te instanceof Array&&(y=te,te=y.pop()),te=m.symbols_[te]||te),te}o(N,"lex");for(var P,B,F,V,$,U,j={},ee,q,oe,Q;;){if(F=g[g.length-1],this.defaultActions[F]?V=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=N()),V=b[F]&&b[F][P]),typeof V>"u"||!V.length||!V[0]){var ue="";Q=[];for(ee in b[F])this.terminals_[ee]&&ee>C&&Q.push("'"+this.terminals_[ee]+"'");I.showPosition?ue="Parse error on line "+(S+1)+`: +`+I.showPosition()+` +Expecting `+Q.join(", ")+", got '"+(this.terminals_[P]||P)+"'":ue="Parse error on line "+(S+1)+": Unexpected "+(P==A?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(ue,{text:I.match,token:this.terminals_[P]||P,line:I.yylineno,loc:_,expected:Q})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(V[0]){case 1:g.push(P),v.push(I.yytext),x.push(I.yylloc),g.push(V[1]),P=null,B?(P=B,B=null):(w=I.yyleng,T=I.yytext,S=I.yylineno,_=I.yylloc,k>0&&k--);break;case 2:if(q=this.productions_[V[1]][1],j.$=v[v.length-q],j._$={first_line:x[x.length-(q||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(q||1)].first_column,last_column:x[x.length-1].last_column},D&&(j._$.range=[x[x.length-(q||1)].range[0],x[x.length-1].range[1]]),U=this.performAction.apply(j,[T,w,S,R.yy,V[1],v,x].concat(L)),typeof U<"u")return U;q&&(g=g.slice(0,-1*q*2),v=v.slice(0,-1*q),x=x.slice(0,-1*q)),g.push(this.productions_[V[1]][0]),v.push(j.$),x.push(j._$),oe=b[g[g.length-2]][g[g.length-1]],g.push(oe);break;case 3:return!0}}return!0},"parse")},h=(function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||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:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(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:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=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 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:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(p){this.unput(this.match.slice(p))},"less"),pastInput:o(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:o(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:o(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` +`+m+"^"},"showPosition"),test_match:o(function(p,m){var g,y,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))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.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],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),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:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){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;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;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 d})();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f})();N$.parser=N$;jve=N$});var uy,M$,C4,A4,Iet,Oet,Pet,Bet,Fet,$et,zet,Qve,Get,I$,Zve=M(()=>{"use strict";Xt();ci();uy="",M$=[],C4=[],A4=[],Iet=o(function(){M$.length=0,C4.length=0,uy="",A4.length=0,Sr()},"clear"),Oet=o(function(t){uy=t,M$.push(t)},"addSection"),Pet=o(function(){return M$},"getSections"),Bet=o(function(){let t=Qve(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),$et=o(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),s={section:uy,type:uy,people:a,task:t,score:n};A4.push(s)},"addTask"),zet=o(function(t){let e={section:uy,type:uy,description:t,task:t,classes:[]};C4.push(e)},"addTaskOrg"),Qve=o(function(){let t=o(function(r){return A4[r].processed},"compileTask"),e=!0;for(let[r,n]of A4.entries())t(r),e=e&&n.processed;return e},"compileTasks"),Get=o(function(){return Fet()},"getActors"),I$={getConfig:o(()=>ge().journey,"getConfig"),clear:Iet,setDiagramTitle:$r,getDiagramTitle:Pr,setAccTitle:Rr,getAccTitle:Mr,setAccDescription:Ir,getAccDescription:Or,addSection:Oet,getSections:Pet,getTasks:Bet,addTask:$et,addTaskOrg:zet,getActors:Get}});var Vet,Jve,e2e=M(()=>{"use strict";yg();Vet=o(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}`:""}; + } + ${zc()} +`,"getStyles"),Jve=Vet});var O$,Uet,r2e,n2e,Het,qet,t2e,Wet,Yet,i2e,Xet,hy,a2e=M(()=>{"use strict";yr();n2();O$=o(function(t,e){return Fd(t,e)},"drawRect"),Uet=o(function(t,e){let 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(u){let h=Sl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=Sl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.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 o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),r2e=o(function(t,e){let 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"),n2e=o(function(t,e){return kj(t,e)},"drawText"),Het=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,n2e(t,e)},"drawLabel"),qet=o(function(t,e,r){let n=t.append("g"),i=ha();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,O$(n,i),i2e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),t2e=-1,Wet=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");t2e++,i.append("line").attr("id","task"+t2e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Uet(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=ha();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,O$(i,s);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};r2e(i,f),l+=10}),i2e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),Yet=o(function(t,e){oT(t,e)},"drawBackgroundRect"),i2e=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let a=lh[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:lh[i].position};hy.drawCircle(t,s);let l=t.append("text").attr("visibility","hidden").text(i),u=l.node().getBoundingClientRect().width;l.remove();let h=[];if(u<=r)h=[i];else{let f=i.split(" "),d="";l=t.append("text").attr("visibility","hidden"),f.forEach(p=>{let m=d?`${d} ${p}`:p;if(l.text(m),l.node().getBoundingClientRect().width>r){if(d&&h.push(d),d=p,l.text(p),l.node().getBoundingClientRect().width>r){let y="";for(let v of p)y+=v,l.text(y+"-"),l.node().getBoundingClientRect().width>r&&(h.push(y.slice(0,-1)+"-"),y=v);d=y}}else d=m}),d&&h.push(d),l.remove()}h.forEach((f,d)=>{let p={x:40,y:n+7+d*20,fill:"#666",text:f,textMargin:e.boxTextMargin??5},g=hy.drawText(t,p).node().getBoundingClientRect().width;g>vC&&g>e.leftMargin-g&&(vC=g)}),n+=Math.max(20,h.length*20)})}var jet,lh,vC,Hl,Jf,Qet,sl,P$,s2e,Zet,B$,o2e=M(()=>{"use strict";yr();a2e();Xt();Ei();jet=o(function(t){Object.keys(t).forEach(function(r){Hl[r]=t[r]})},"setConf"),lh={},vC=0;o(Ket,"drawActorLegend");Hl=ge().journey,Jf=0,Qet=o(function(t,e,r,n){let i=ge(),a=i.journey.titleColor,s=i.journey.titleFontSize,l=i.journey.titleFontFamily,u=i.securityLevel,h;u==="sandbox"&&(h=qe("#i"+e));let f=u==="sandbox"?qe(h.nodes()[0].contentDocument.body):qe("body");sl.init();let d=f.select("#"+e);hy.initGraphics(d);let p=n.db.getTasks(),m=n.db.getDiagramTitle(),g=n.db.getActors();for(let S in lh)delete lh[S];let y=0;g.forEach(S=>{lh[S]={color:Hl.actorColours[y%Hl.actorColours.length],position:y},y++}),Ket(d),Jf=Hl.leftMargin+vC,sl.insert(0,0,Jf,Object.keys(lh).length*50),Zet(d,p,0);let v=sl.getBounds();m&&d.append("text").text(m).attr("x",Jf).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",l);let x=v.stopy-v.starty+2*Hl.diagramMarginY,b=Jf+v.stopx+2*Hl.diagramMarginX;mn(d,x,b,Hl.useMaxWidth),d.append("line").attr("x1",Jf).attr("y1",Hl.height*4).attr("x2",b-Jf-4).attr("y2",Hl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let T=m?70:0;d.attr("viewBox",`${v.startx} -25 ${b} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),sl={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=ge().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(sl.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(sl.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(sl.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(sl.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),l=Math.max(e,n);this.updateVal(sl.data,"startx",i,Math.min),this.updateVal(sl.data,"starty",s,Math.min),this.updateVal(sl.data,"stopx",a,Math.max),this.updateVal(sl.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},P$=Hl.sectionFills,s2e=Hl.sectionColours,Zet=o(function(t,e,r){let n=ge().journey,i="",a=n.height*2+n.diagramMarginY,s=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=P$[l%P$.length],f=l%P$.length,h=s2e[l%s2e.length];let g=0,y=p.section;for(let x=d;x(lh[y]&&(g[y]=lh[y]),g),{});p.x=d*n.taskMargin+d*n.width+Jf,p.y=s,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,hy.drawTask(t,p,n),sl.insert(p.x,p.y,p.x+p.width+n.taskMargin,450)}},"drawTasks"),B$={setConf:jet,draw:Qet}});var l2e={};dr(l2e,{diagram:()=>Jet});var Jet,c2e=M(()=>{"use strict";Kve();Zve();e2e();o2e();Jet={parser:jve,db:I$,renderer:B$,styles:Jve,init:o(t=>{B$.setConf(t.journey),I$.clear()},"init")}});var $$,g2e,y2e=M(()=>{"use strict";$$=(function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,16],u=[1,17],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:o(function(m,g,y,v,x,b,T){var S=b.length-1;switch(x){case 1:return b[S-1];case 2:this.$=[];break;case 3:b[S-1].push(b[S]),this.$=b[S-1];break;case 4:case 5:this.$=b[S];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[S].substr(6)),this.$=b[S].substr(6);break;case 9:this.$=b[S].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[S].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[S].substr(8)),this.$=b[S].substr(8);break;case 15:v.addTask(b[S],0,""),this.$=b[S];break;case 16:v.addEvent(b[S].substr(2)),this.$=b[S];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:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],T=this.table,S="",w=0,k=0,C=0,A=2,L=1,I=b.slice.call(arguments,1),R=Object.create(this.lexer),E={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(E.yy[_]=this.yy[_]);R.setInput(m,E.yy),E.yy.lexer=R,E.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var D=R.yylloc;b.push(D);var O=R.options&&R.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(re){y.length=y.length-2*re,x.length=x.length-re,b.length=b.length-re}o(N,"popStack");function P(){var re;return re=v.pop()||R.lex()||L,typeof re!="number"&&(re instanceof Array&&(v=re,re=v.pop()),re=g.symbols_[re]||re),re}o(P,"lex");for(var B,F,V,$,U,j,ee={},q,oe,Q,ue;;){if(V=y[y.length-1],this.defaultActions[V]?$=this.defaultActions[V]:((B===null||typeof B>"u")&&(B=P()),$=T[V]&&T[V][B]),typeof $>"u"||!$.length||!$[0]){var te="";ue=[];for(q in T[V])this.terminals_[q]&&q>A&&ue.push("'"+this.terminals_[q]+"'");R.showPosition?te="Parse error on line "+(w+1)+`: +`+R.showPosition()+` +Expecting `+ue.join(", ")+", got '"+(this.terminals_[B]||B)+"'":te="Parse error on line "+(w+1)+": Unexpected "+(B==L?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(te,{text:R.match,token:this.terminals_[B]||B,line:R.yylineno,loc:D,expected:ue})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+V+", token: "+B);switch($[0]){case 1:y.push(B),x.push(R.yytext),b.push(R.yylloc),y.push($[1]),B=null,F?(B=F,F=null):(k=R.yyleng,S=R.yytext,w=R.yylineno,D=R.yylloc,C>0&&C--);break;case 2:if(oe=this.productions_[$[1]][1],ee.$=x[x.length-oe],ee._$={first_line:b[b.length-(oe||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(oe||1)].first_column,last_column:b[b.length-1].last_column},O&&(ee._$.range=[b[b.length-(oe||1)].range[0],b[b.length-1].range[1]]),j=this.performAction.apply(ee,[S,k,w,E.yy,$[1],x,b].concat(I)),typeof j<"u")return j;oe&&(y=y.slice(0,-1*oe*2),x=x.slice(0,-1*oe),b=b.slice(0,-1*oe)),y.push(this.productions_[$[1]][0]),x.push(ee.$),b.push(ee._$),Q=T[y[y.length-2]][y[y.length-1]],y.push(Q);break;case 3:return!0}}return!0},"parse")},f=(function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,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:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.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),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=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 x=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===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(m){this.unput(this.match.slice(m))},"less"),pastInput:o(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` +`+g+"^"},"showPosition"),test_match:o(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={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&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,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(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!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:o(function(){var g=this.next();return g||this.lex()},"lex"),begin:o(function(g){this.conditionStack.push(g)},"begin"),popState:o(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){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;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p})();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d})();$$.parser=$$;g2e=$$});var G$={};dr(G$,{addEvent:()=>C2e,addSection:()=>w2e,addTask:()=>S2e,addTaskOrg:()=>A2e,clear:()=>T2e,default:()=>ltt,getCommonDb:()=>b2e,getSections:()=>k2e,getTasks:()=>E2e});var fy,x2e,z$,xC,dy,b2e,T2e,w2e,k2e,E2e,S2e,C2e,A2e,v2e,ltt,_2e=M(()=>{"use strict";ci();fy="",x2e=0,z$=[],xC=[],dy=[],b2e=o(()=>nv,"getCommonDb"),T2e=o(function(){z$.length=0,xC.length=0,fy="",dy.length=0,Sr()},"clear"),w2e=o(function(t){fy=t,z$.push(t)},"addSection"),k2e=o(function(){return z$},"getSections"),E2e=o(function(){let t=v2e(),e=100,r=0;for(;!t&&rr.id===x2e-1).events.push(t)},"addEvent"),A2e=o(function(t){let e={section:fy,type:fy,description:t,task:t,classes:[]};xC.push(e)},"addTaskOrg"),v2e=o(function(){let t=o(function(r){return dy[r].processed},"compileTask"),e=!0;for(let[r,n]of dy.entries())t(r),e=e&&n.processed;return e},"compileTasks"),ltt={clear:T2e,getCommonDb:b2e,addSection:w2e,getSections:k2e,getTasks:E2e,addTask:S2e,addTaskOrg:A2e,addEvent:C2e}});function N2e(t,e){t.each(function(){var r=qe(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(i))})}var ctt,bC,utt,htt,L2e,ftt,dtt,D2e,ptt,mtt,gtt,V$,R2e,ytt,vtt,xtt,btt,ed,M2e=M(()=>{"use strict";yr();ctt=12,bC=o(function(t,e){let 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"),utt=o(function(t,e){let 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(u){let h=Sl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=Sl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.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 o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),htt=o(function(t,e){let 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"),L2e=o(function(t,e){let r=e.text.replace(//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);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),ftt=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let 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,L2e(t,e)},"drawLabel"),dtt=o(function(t,e,r){let n=t.append("g"),i=V$();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,bC(n,i),R2e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),D2e=-1,ptt=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");D2e++,i.append("line").attr("id","task"+D2e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),utt(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=V$();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,bC(i,s),R2e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),mtt=o(function(t,e){bC(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),gtt=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),V$=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),R2e=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";yr();M2e();pt();Xt();Ei();Ttt=o(function(t,e,r,n){let i=ge(),a=i.timeline?.leftMargin??50;X.debug("timeline",n.db);let s=i.securityLevel,l;s==="sandbox"&&(l=qe("#i"+e));let h=(s==="sandbox"?qe(l.nodes()[0].contentDocument.body):qe("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();X.debug("task",f),ed.initGraphics(h);let p=n.db.getSections();X.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let T=0,S=!0;p.forEach(function(L){let I={number:T,descr:L,section:T,width:150,padding:20,maxHeight:m},R=ed.getVirtualNodeHeight(h,I,i);X.debug("sectionHeight before draw",R),m=Math.max(m,R+20)});let w=0,k=0;X.debug("tasks.length",f.length);for(let[L,I]of f.entries()){let R={number:L,descr:I,section:I.section,width:150,padding:20,maxHeight:g},E=ed.getVirtualNodeHeight(h,R,i);X.debug("taskHeight before draw",E),g=Math.max(g,E+20),w=Math.max(w,I.events.length);let _=0;for(let D of I.events){let O={descr:D,section:I.section,number:I.section,width:150,padding:20,maxHeight:50};_+=ed.getVirtualNodeHeight(h,O,i)}I.events.length>0&&(_+=(I.events.length-1)*10),k=Math.max(k,_)}X.debug("maxSectionHeight before draw",m),X.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(L=>{let I=f.filter(D=>D.section===L),R={number:T,descr:L,section:T,width:200*Math.max(I.length,1)-50,padding:20,maxHeight:m};X.debug("sectionNode",R);let E=h.append("g"),_=ed.drawNode(E,R,T,i);X.debug("sectionNode output",_),E.attr("transform",`translate(${x}, ${v})`),b+=m+50,I.length>0&&I2e(h,I,T,x,b,g,i,w,k,m,!1),x+=200*Math.max(I.length,1),b=v,T++}):(S=!1,I2e(h,f,T,x,b,g,i,w,k,m,!0));let C=h.node().getBBox();X.debug("bounds",C),d&&h.append("text").text(d).attr("x",C.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=S?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",C.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),ic(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),I2e=o(function(t,e,r,n,i,a,s,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};X.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=ed.drawNode(m,p,r,s).height;if(X.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+wtt(t,d.events,r,n,i,s),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+u+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),wtt=o(function(t,e,r,n,i,a){let s=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};X.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=ed.drawNode(f,h,r,a).height;s=s+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,s},"drawEvents"),O2e={setConf:o(()=>{},"setConf"),draw:Ttt}});var ktt,Ett,B2e,F2e=M(()=>{"use strict";eo();ktt=o(t=>{let e="";for(let r=0;r` + .edge { + stroke-width: 3; + } + ${ktt(t)} + .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"),B2e=Ett});var $2e={};dr($2e,{diagram:()=>Stt});var Stt,z2e=M(()=>{"use strict";y2e();_2e();P2e();F2e();Stt={db:G$,renderer:O2e,parser:g2e,styles:B2e}});var U$,U2e,H2e=M(()=>{"use strict";U$=(function(){var t=o(function(S,w,k,C){for(k=k||{},C=S.length;C--;k[S[C]]=w);return k},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(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:o(function(w,k,C,A,L,I,R){var E=I.length-1;switch(L){case 6:case 7:return A;case 8:A.getLogger().trace("Stop NL ");break;case 9:A.getLogger().trace("Stop EOF ");break;case 11:A.getLogger().trace("Stop NL2 ");break;case 12:A.getLogger().trace("Stop EOF2 ");break;case 15:A.getLogger().info("Node: ",I[E].id),A.addNode(I[E-1].length,I[E].id,I[E].descr,I[E].type);break;case 16:A.getLogger().trace("Icon: ",I[E]),A.decorateNode({icon:I[E]});break;case 17:case 21:A.decorateNode({class:I[E]});break;case 18:A.getLogger().trace("SPACELIST");break;case 19:A.getLogger().trace("Node: ",I[E].id),A.addNode(0,I[E].id,I[E].descr,I[E].type);break;case 20:A.decorateNode({icon:I[E]});break;case 25:A.getLogger().trace("node found ..",I[E-2]),this.$={id:I[E-1],descr:I[E-1],type:A.getType(I[E-2],I[E])};break;case 26:this.$={id:I[E],descr:I[E],type:A.nodeType.DEFAULT};break;case 27:A.getLogger().trace("node found ..",I[E-3]),this.$={id:I[E-3],descr:I[E-1],type:A.getType(I[E-2],I[E])};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:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(w,k){if(k.recoverable)this.trace(w);else{var C=new Error(w);throw C.hash=k,C}},"parseError"),parse:o(function(w){var k=this,C=[0],A=[],L=[null],I=[],R=this.table,E="",_=0,D=0,O=0,N=2,P=1,B=I.slice.call(arguments,1),F=Object.create(this.lexer),V={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(V.yy[$]=this.yy[$]);F.setInput(w,V.yy),V.yy.lexer=F,V.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var U=F.yylloc;I.push(U);var j=F.options&&F.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(W){C.length=C.length-2*W,L.length=L.length-W,I.length=I.length-W}o(ee,"popStack");function q(){var W;return W=A.pop()||F.lex()||P,typeof W!="number"&&(W instanceof Array&&(A=W,W=A.pop()),W=k.symbols_[W]||W),W}o(q,"lex");for(var oe,Q,ue,te,re,J,K={},ae,Z,de,ne;;){if(ue=C[C.length-1],this.defaultActions[ue]?te=this.defaultActions[ue]:((oe===null||typeof oe>"u")&&(oe=q()),te=R[ue]&&R[ue][oe]),typeof te>"u"||!te.length||!te[0]){var Te="";ne=[];for(ae in R[ue])this.terminals_[ae]&&ae>N&&ne.push("'"+this.terminals_[ae]+"'");F.showPosition?Te="Parse error on line "+(_+1)+`: +`+F.showPosition()+` +Expecting `+ne.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":Te="Parse error on line "+(_+1)+": Unexpected "+(oe==P?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(Te,{text:F.match,token:this.terminals_[oe]||oe,line:F.yylineno,loc:U,expected:ne})}if(te[0]instanceof Array&&te.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+oe);switch(te[0]){case 1:C.push(oe),L.push(F.yytext),I.push(F.yylloc),C.push(te[1]),oe=null,Q?(oe=Q,Q=null):(D=F.yyleng,E=F.yytext,_=F.yylineno,U=F.yylloc,O>0&&O--);break;case 2:if(Z=this.productions_[te[1]][1],K.$=L[L.length-Z],K._$={first_line:I[I.length-(Z||1)].first_line,last_line:I[I.length-1].last_line,first_column:I[I.length-(Z||1)].first_column,last_column:I[I.length-1].last_column},j&&(K._$.range=[I[I.length-(Z||1)].range[0],I[I.length-1].range[1]]),J=this.performAction.apply(K,[E,D,_,V.yy,te[1],L,I].concat(B)),typeof J<"u")return J;Z&&(C=C.slice(0,-1*Z*2),L=L.slice(0,-1*Z),I=I.slice(0,-1*Z)),C.push(this.productions_[te[1]][0]),L.push(K.$),I.push(K._$),de=R[C[C.length-2]][C[C.length-1]],C.push(de);break;case 3:return!0}}return!0},"parse")},b=(function(){var S={EOF:1,parseError:o(function(k,C){if(this.yy.parser)this.yy.parser.parseError(k,C);else throw new Error(k)},"parseError"),setInput:o(function(w,k){return this.yy=k||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:o(function(w){var k=w.length,C=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var A=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 L=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===A.length?this.yylloc.first_column:0)+A[A.length-C.length].length-C[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(w){this.unput(this.match.slice(w))},"less"),pastInput:o(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:o(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:o(function(){var w=this.pastInput(),k=new Array(w.length+1).join("-");return w+this.upcomingInput()+` +`+k+"^"},"showPosition"),test_match:o(function(w,k){var C,A,L;if(this.options.backtrack_lexer&&(L={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&&(L.yylloc.range=this.yylloc.range.slice(0))),A=w[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.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],C=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var I in L)this[I]=L[I];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,k,C,A;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),I=0;Ik[0].length)){if(k=C,A=I,this.options.backtrack_lexer){if(w=this.test_match(C,L[I]),w!==!1)return w;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(w=this.test_match(k,L[A]),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:o(function(){var k=this.next();return k||this.lex()},"lex"),begin:o(function(k){this.conditionStack.push(k)},"begin"),popState:o(function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},"topState"),pushState:o(function(k){this.begin(k)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(k,C,A,L){var I=L;switch(A){case 0:return k.getLogger().trace("Found comment",C.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:k.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return k.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:k.getLogger().trace("end icon"),this.popState();break;case 10:return k.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return k.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return k.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return k.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;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:k.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return k.getLogger().trace("description:",C.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),k.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),k.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),k.getLogger().trace("node end ...",C.yytext),"NODE_DEND";break;case 30:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return k.getLogger().trace("Long description:",C.yytext),20;break;case 36:return k.getLogger().trace("Long description:",C.yytext),20;break}},"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 S})();x.lexer=b;function T(){this.yy={}}return o(T,"Parser"),T.prototype=x,x.Parser=T,new T})();U$.parser=U$;U2e=U$});function q2e(t,e=0){return(_a[t[e+0]]+_a[t[e+1]]+_a[t[e+2]]+_a[t[e+3]]+"-"+_a[t[e+4]]+_a[t[e+5]]+"-"+_a[t[e+6]]+_a[t[e+7]]+"-"+_a[t[e+8]]+_a[t[e+9]]+"-"+_a[t[e+10]]+_a[t[e+11]]+_a[t[e+12]]+_a[t[e+13]]+_a[t[e+14]]+_a[t[e+15]]).toLowerCase()}var _a,W2e=M(()=>{"use strict";_a=[];for(let t=0;t<256;++t)_a.push((t+256).toString(16).slice(1));o(q2e,"unsafeStringify")});function q$(){if(!H$){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");H$=crypto.getRandomValues.bind(crypto)}return H$(Dtt)}var H$,Dtt,Y2e=M(()=>{"use strict";Dtt=new Uint8Array(16);o(q$,"rng")});var Ltt,W$,X2e=M(()=>{"use strict";Ltt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),W$={randomUUID:Ltt}});function Rtt(t,e,r){if(W$.randomUUID&&!e&&!t)return W$.randomUUID();t=t||{};let n=t.random??t.rng?.()??q$();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)e[r+i]=n[i];return e}return q2e(n)}var Y$,j2e=M(()=>{"use strict";X2e();Y2e();W2e();o(Rtt,"v4");Y$=Rtt});var K2e=M(()=>{"use strict";j2e()});var ch,TC,Q2e=M(()=>{"use strict";Xt();K2e();gr();pt();Ra();qn();ch={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},TC=class{constructor(){this.nodes=[];this.count=0;this.elements={};this.getLogger=this.getLogger.bind(this),this.nodeType=ch,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)}static{o(this,"MindmapDB")}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].level0?this.nodes[0]:null}addNode(e,r,n,i){X.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);let s=ge(),l=s.mindmap?.padding??ur.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:l*=2;break}let u={id:this.count++,nodeId:sr(r,s),level:e,descr:sr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??ur.mindmap.maxNodeWidth,padding:l,isRoot:a},h=this.getParent(e);if(h)h.children.push(u),this.nodes.push(u);else if(a)this.nodes.push(u);else throw new Error(`There can be only one root. No parent could be found for ("${u.descr}")`)}getType(e,r){switch(X.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;let r=ge(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=sr(e.icon,r)),e.class&&(n.class=sr(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(let[n,i]of e.children.entries()){let a=e.level===0?n:r;this.assignSections(i,a)}}flattenNodes(e,r){let n=["mindmap-node"];e.isRoot===!0?n.push("section-root","section--1"):e.section!==void 0&&n.push(`section-${e.section}`),e.class&&n.push(e.class);let i=n.join(" "),a=o(l=>{switch(l){case ch.CIRCLE:return"mindmapCircle";case ch.RECT:return"rect";case ch.ROUNDED_RECT:return"rounded";case ch.CLOUD:return"cloud";case ch.BANG:return"bang";case ch.HEXAGON:return"hexagon";case ch.DEFAULT:return"defaultMindmapNode";case ch.NO_BORDER:default:return"rect"}},"getShapeFromType"),s={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,isGroup:!1,shape:a(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:i,cssStyles:[],look:"default",icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(s),e.children)for(let l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(e.children)for(let n of e.children){let i="edge";n.section!==void 0&&(i+=` section-edge-${n.section}`);let a=e.level+1;i+=` edge-depth-${a}`;let s={id:`edge_${e.id}_${n.id}`,start:e.id.toString(),end:n.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:"default",classes:i,depth:e.level,section:n.section};r.push(s),this.generateEdges(n,r)}}getData(){let e=this.getMindmap(),r=ge(),i=nV().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};X.debug("getData: mindmapRoot",e,r),this.assignSections(e);let s=[],l=[];this.flattenNodes(e,s),this.generateEdges(e,l),X.debug(`getData: processed ${s.length} nodes and ${l.length} edges`);let u=new Map;for(let h of s)u.set(h.id,{shape:h.shape,width:h.width,height:h.height,padding:h.padding});return{nodes:s,edges:l,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(u),type:"mindmap",diagramId:"mindmap-"+Y$()}}getLogger(){return X}}});var Ntt,Z2e,J2e=M(()=>{"use strict";pt();ep();Nf();Mf();Ra();Ntt=o(async(t,e,r,n)=>{X.debug(`Rendering mindmap diagram +`+t);let i=n.db,a=i.getData(),s=Vo(e,a.config.securityLevel);a.type=n.type,a.layoutAlgorithm=$c(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,i.getMindmap()&&(a.nodes.forEach(u=>{u.shape==="rounded"?(u.radius=15,u.taper=15,u.stroke="none",u.width=0,u.padding=15):u.shape==="circle"?u.padding=10:u.shape==="rect"&&(u.width=0,u.padding=10)}),await Qo(a,s),Ws(s,a.config.mindmap?.padding??ur.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??ur.mindmap.useMaxWidth))},"draw"),Z2e={draw:Ntt}});var Mtt,Itt,exe,txe=M(()=>{"use strict";eo();Mtt=o(t=>{let e="";for(let r=0;r` + .edge { + stroke-width: 3; + } + ${Mtt(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: ${t.gitBranchLabel0}; + } + .section-2 span { + color: ${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; + } +`,"getStyles"),exe=Itt});var rxe={};dr(rxe,{diagram:()=>Ott});var Ott,nxe=M(()=>{"use strict";H2e();Q2e();J2e();txe();Ott={get db(){return new TC},renderer:Z2e,parser:U2e,styles:exe}});var X$,sxe,oxe=M(()=>{"use strict";X$=(function(){var t=o(function(C,A,L,I){for(L=L||{},I=C.length;I--;L[C[I]]=A);return L},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],T=[1,38],S={trace:o(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:o(function(A,L,I,R,E,_,D){var O=_.length-1;switch(E){case 6:case 7:return R;case 8:R.getLogger().trace("Stop NL ");break;case 9:R.getLogger().trace("Stop EOF ");break;case 11:R.getLogger().trace("Stop NL2 ");break;case 12:R.getLogger().trace("Stop EOF2 ");break;case 15:R.getLogger().info("Node: ",_[O-1].id),R.addNode(_[O-2].length,_[O-1].id,_[O-1].descr,_[O-1].type,_[O]);break;case 16:R.getLogger().info("Node: ",_[O].id),R.addNode(_[O-1].length,_[O].id,_[O].descr,_[O].type);break;case 17:R.getLogger().trace("Icon: ",_[O]),R.decorateNode({icon:_[O]});break;case 18:case 23:R.decorateNode({class:_[O]});break;case 19:R.getLogger().trace("SPACELIST");break;case 20:R.getLogger().trace("Node: ",_[O-1].id),R.addNode(0,_[O-1].id,_[O-1].descr,_[O-1].type,_[O]);break;case 21:R.getLogger().trace("Node: ",_[O].id),R.addNode(0,_[O].id,_[O].descr,_[O].type);break;case 22:R.decorateNode({icon:_[O]});break;case 27:R.getLogger().trace("node found ..",_[O-2]),this.$={id:_[O-1],descr:_[O-1],type:R.getType(_[O-2],_[O])};break;case 28:this.$={id:_[O],descr:_[O],type:0};break;case 29:R.getLogger().trace("node found ..",_[O-3]),this.$={id:_[O-3],descr:_[O-1],type:R.getType(_[O-2],_[O])};break;case 30:this.$=_[O-1]+_[O];break;case 31:this.$=_[O];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:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:h,7:f,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:m}),t(p,[2,22]),t(p,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:f,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(y,[2,14],{7:v,11:x}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(p,[2,16],{15:37,24:m}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:T}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(y,[2,13],{7:v,11:x}),t(b,[2,11]),t(b,[2,12]),t(p,[2,15],{24:T}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(A,L){if(L.recoverable)this.trace(A);else{var I=new Error(A);throw I.hash=L,I}},"parseError"),parse:o(function(A){var L=this,I=[0],R=[],E=[null],_=[],D=this.table,O="",N=0,P=0,B=0,F=2,V=1,$=_.slice.call(arguments,1),U=Object.create(this.lexer),j={yy:{}};for(var ee in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ee)&&(j.yy[ee]=this.yy[ee]);U.setInput(A,j.yy),j.yy.lexer=U,j.yy.parser=this,typeof U.yylloc>"u"&&(U.yylloc={});var q=U.yylloc;_.push(q);var oe=U.options&&U.options.ranges;typeof j.yy.parseError=="function"?this.parseError=j.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Q(Be){I.length=I.length-2*Be,E.length=E.length-Be,_.length=_.length-Be}o(Q,"popStack");function ue(){var Be;return Be=R.pop()||U.lex()||V,typeof Be!="number"&&(Be instanceof Array&&(R=Be,Be=R.pop()),Be=L.symbols_[Be]||Be),Be}o(ue,"lex");for(var te,re,J,K,ae,Z,de={},ne,Te,W,Ve;;){if(J=I[I.length-1],this.defaultActions[J]?K=this.defaultActions[J]:((te===null||typeof te>"u")&&(te=ue()),K=D[J]&&D[J][te]),typeof K>"u"||!K.length||!K[0]){var pe="";Ve=[];for(ne in D[J])this.terminals_[ne]&&ne>F&&Ve.push("'"+this.terminals_[ne]+"'");U.showPosition?pe="Parse error on line "+(N+1)+`: +`+U.showPosition()+` +Expecting `+Ve.join(", ")+", got '"+(this.terminals_[te]||te)+"'":pe="Parse error on line "+(N+1)+": Unexpected "+(te==V?"end of input":"'"+(this.terminals_[te]||te)+"'"),this.parseError(pe,{text:U.match,token:this.terminals_[te]||te,line:U.yylineno,loc:q,expected:Ve})}if(K[0]instanceof Array&&K.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+te);switch(K[0]){case 1:I.push(te),E.push(U.yytext),_.push(U.yylloc),I.push(K[1]),te=null,re?(te=re,re=null):(P=U.yyleng,O=U.yytext,N=U.yylineno,q=U.yylloc,B>0&&B--);break;case 2:if(Te=this.productions_[K[1]][1],de.$=E[E.length-Te],de._$={first_line:_[_.length-(Te||1)].first_line,last_line:_[_.length-1].last_line,first_column:_[_.length-(Te||1)].first_column,last_column:_[_.length-1].last_column},oe&&(de._$.range=[_[_.length-(Te||1)].range[0],_[_.length-1].range[1]]),Z=this.performAction.apply(de,[O,P,N,j.yy,K[1],E,_].concat($)),typeof Z<"u")return Z;Te&&(I=I.slice(0,-1*Te*2),E=E.slice(0,-1*Te),_=_.slice(0,-1*Te)),I.push(this.productions_[K[1]][0]),E.push(de.$),_.push(de._$),W=D[I[I.length-2]][I[I.length-1]],I.push(W);break;case 3:return!0}}return!0},"parse")},w=(function(){var C={EOF:1,parseError:o(function(L,I){if(this.yy.parser)this.yy.parser.parseError(L,I);else throw new Error(L)},"parseError"),setInput:o(function(A,L){return this.yy=L||this.yy||{},this._input=A,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var L=A.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),A},"input"),unput:o(function(A){var L=A.length,I=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.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:I?(I.length===R.length?this.yylloc.first_column:0)+R[R.length-I.length].length-I[0].length:this.yylloc.first_column-L},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-L]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(A){this.unput(this.match.slice(A))},"less"),pastInput:o(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var A=this.pastInput(),L=new Array(A.length+1).join("-");return A+this.upcomingInput()+` +`+L+"^"},"showPosition"),test_match:o(function(A,L){var I,R,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))),R=A[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(A[0].length),this.matched+=A[0],I=this.performAction.call(this,this.yy,this,L,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var _ in E)this[_]=E[_];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,L,I,R;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),_=0;_L[0].length)){if(L=I,R=_,this.options.backtrack_lexer){if(A=this.test_match(I,E[_]),A!==!1)return A;if(this._backtrack){L=!1;continue}else return!1}else if(!this.options.flex)break}return L?(A=this.test_match(L,E[R]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var L=this.next();return L||this.lex()},"lex"),begin:o(function(L){this.conditionStack.push(L)},"begin"),popState:o(function(){var L=this.conditionStack.length-1;return L>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(L){return L=this.conditionStack.length-1-Math.abs(L||0),L>=0?this.conditionStack[L]:"INITIAL"},"topState"),pushState:o(function(L){this.begin(L)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(L,I,R,E){var _=E;switch(R){case 0:return this.pushState("shapeData"),I.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let D=/\n\s*/g;return I.yytext=I.yytext.replace(D,"
    "),24;break;case 4:return 24;case 5:this.popState();break;case 6:return L.getLogger().trace("Found comment",I.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:L.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return L.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:L.getLogger().trace("end icon"),this.popState();break;case 16:return L.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return L.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return L.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return L.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;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:L.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return L.getLogger().trace("description:",I.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),L.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),L.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),L.getLogger().trace("node end ...",I.yytext),"NODE_DEND";break;case 36:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return L.getLogger().trace("Long description:",I.yytext),21;break;case 42:return L.getLogger().trace("Long description:",I.yytext),21;break}},"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})();S.lexer=w;function k(){this.yy={}}return o(k,"Parser"),k.prototype=S,S.Parser=k,new k})();X$.parser=X$;sxe=X$});var ol,K$,j$,Q$,$tt,ztt,lxe,Gtt,Vtt,Ui,Utt,Htt,qtt,Wtt,Ytt,Xtt,jtt,cxe,uxe=M(()=>{"use strict";Xt();gr();pt();Ra();k2();ol=[],K$=[],j$=0,Q$={},$tt=o(()=>{ol=[],K$=[],j$=0,Q$={}},"clear"),ztt=o(t=>{if(ol.length===0)return null;let e=ol[0].level,r=null;for(let n=ol.length-1;n>=0;n--)if(ol[n].level===e&&!r&&(r=ol[n]),ol[n].levell.parentId===i.id);for(let l of s){let u={id:l.id,parentId:i.id,label:sr(l.label??"",n),isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(u)}}return{nodes:e,edges:t,other:{},config:ge()}},"getData"),Vtt=o((t,e,r,n,i)=>{let a=ge(),s=a.mindmap?.padding??ur.mindmap.padding;switch(n){case Ui.ROUNDED_RECT:case Ui.RECT:case Ui.HEXAGON:s*=2}let l={id:sr(e,a)||"kbn"+j$++,level:t,label:sr(r,a),width:a.mindmap?.maxNodeWidth??ur.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let h;i.includes(` +`)?h=i+` +`:h=`{ +`+i+` +}`;let f=Kh(h,{schema:jh});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?.shape&&f.shape==="kanbanItem"&&(l.shape=f?.shape),f?.label&&(l.label=f?.label),f?.icon&&(l.icon=f?.icon.toString()),f?.assigned&&(l.assigned=f?.assigned.toString()),f?.ticket&&(l.ticket=f?.ticket.toString()),f?.priority&&(l.priority=f?.priority)}let u=ztt(t);u?l.parentId=u.id||"kbn"+j$++:K$.push(l),ol.push(l)},"addNode"),Ui={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Utt=o((t,e)=>{switch(X.debug("In get type",t,e),t){case"[":return Ui.RECT;case"(":return e===")"?Ui.ROUNDED_RECT:Ui.CLOUD;case"((":return Ui.CIRCLE;case")":return Ui.CLOUD;case"))":return Ui.BANG;case"{{":return Ui.HEXAGON;default:return Ui.DEFAULT}},"getType"),Htt=o((t,e)=>{Q$[t]=e},"setElementForId"),qtt=o(t=>{if(!t)return;let e=ge(),r=ol[ol.length-1];t.icon&&(r.icon=sr(t.icon,e)),t.class&&(r.cssClasses=sr(t.class,e))},"decorateNode"),Wtt=o(t=>{switch(t){case Ui.DEFAULT:return"no-border";case Ui.RECT:return"rect";case Ui.ROUNDED_RECT:return"rounded-rect";case Ui.CIRCLE:return"circle";case Ui.CLOUD:return"cloud";case Ui.BANG:return"bang";case Ui.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Ytt=o(()=>X,"getLogger"),Xtt=o(t=>Q$[t],"getElementById"),jtt={clear:$tt,addNode:Vtt,getSections:lxe,getData:Gtt,nodeType:Ui,getType:Utt,setElementForId:Htt,decorateNode:qtt,type2Str:Wtt,getLogger:Ytt,getElementById:Xtt},cxe=jtt});var Ktt,hxe,fxe=M(()=>{"use strict";Xt();pt();tu();Ei();Ra();uw();Tw();Ktt=o(async(t,e,r,n)=>{X.debug(`Rendering kanban diagram +`+t);let a=n.db.getData(),s=ge();s.htmlLabels=!1;let l=aa(e),u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let f=a.nodes.filter(v=>v.isGroup),d=0,p=10,m=[],g=25;for(let v of f){let x=s?.kanban?.sectionWidth||200;d=d+1,v.x=x*d+(d-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+d;let b=await Sm(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of f){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,T=-b*3/2+g,S=T,w=a.nodes.filter(A=>A.parentId===v.id);for(let A of w){if(A.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");A.x=v.x,A.width=b-1.5*p;let I=(await Cm(h,A,{config:s})).node().getBBox();A.y=S+I.height/2,await B2(A),S=A.y+I.height/2+p/2}let k=x.cluster.select("rect"),C=Math.max(S-T+3*p,50)+(g-25);k.attr("height",C)}ic(void 0,l,s.mindmap?.padding??ur.kanban.padding,s.mindmap?.useMaxWidth??ur.kanban.useMaxWidth)},"draw"),hxe={draw:Ktt}});var Qtt,Ztt,dxe,pxe=M(()=>{"use strict";eo();yg();Qtt=o(t=>{let e="";for(let n=0;nt.darkMode?Pt(n,i):Rt(n,i),"adjuster");for(let n=0;n` + .edge { + stroke-width: 3; + } + ${Qtt(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; + } + ${zc()} +`,"getStyles"),dxe=Ztt});var mxe={};dr(mxe,{diagram:()=>Jtt});var Jtt,gxe=M(()=>{"use strict";oxe();uxe();fxe();pxe();Jtt={db:cxe,renderer:hxe,parser:sxe,styles:dxe}});var Z$,_4,xxe=M(()=>{"use strict";Z$=(function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:o(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:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-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:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,T=2,S=1,w=m.slice.call(arguments,1),k=Object.create(this.lexer),C={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(C.yy[A]=this.yy[A]);k.setInput(u,C.yy),C.yy.lexer=k,C.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var L=k.yylloc;m.push(L);var I=k.options&&k.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(q){f.length=f.length-2*q,p.length=p.length-q,m.length=m.length-q}o(R,"popStack");function E(){var q;return q=d.pop()||k.lex()||S,typeof q!="number"&&(q instanceof Array&&(d=q,q=d.pop()),q=h.symbols_[q]||q),q}o(E,"lex");for(var _,D,O,N,P,B,F={},V,$,U,j;;){if(O=f[f.length-1],this.defaultActions[O]?N=this.defaultActions[O]:((_===null||typeof _>"u")&&(_=E()),N=g[O]&&g[O][_]),typeof N>"u"||!N.length||!N[0]){var ee="";j=[];for(V in g[O])this.terminals_[V]&&V>T&&j.push("'"+this.terminals_[V]+"'");k.showPosition?ee="Parse error on line "+(v+1)+`: +`+k.showPosition()+` +Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":ee="Parse error on line "+(v+1)+": Unexpected "+(_==S?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(ee,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:L,expected:j})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+_);switch(N[0]){case 1:f.push(_),p.push(k.yytext),m.push(k.yylloc),f.push(N[1]),_=null,D?(_=D,D=null):(x=k.yyleng,y=k.yytext,v=k.yylineno,L=k.yylloc,b>0&&b--);break;case 2:if($=this.productions_[N[1]][1],F.$=p[p.length-$],F._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},I&&(F._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),B=this.performAction.apply(F,[y,x,v,C.yy,N[1],p,m].concat(w)),typeof B<"u")return B;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[N[1]][0]),p.push(F.$),m.push(F._$),U=g[f[f.length-2]][f[f.length-1]],f.push(U);break;case 3:return!0}}return!0},"parse")},a=(function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;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),f.length-1&&(this.yylineno-=f.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:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(u){this.unput(this.match.slice(u))},"less"),pastInput:o(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` +`+h+"^"},"showPosition"),test_match:o(function(u,h){var f,d,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))),d=u[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+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;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 l})();i.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=i,i.Parser=s,new s})();Z$.parser=Z$;_4=Z$});var kC,EC,wC,nrt,J$,irt,ez,art,srt,ort,lrt,bxe,Txe=M(()=>{"use strict";Xt();gr();ci();kC=[],EC=[],wC=new Map,nrt=o(()=>{kC=[],EC=[],wC=new Map,Sr()},"clear"),J$=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{o(this,"SankeyLink")}},irt=o((t,e,r)=>{kC.push(new J$(t,e,r))},"addLink"),ez=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},art=o(t=>{t=tt.sanitizeText(t,ge());let e=wC.get(t);return e===void 0&&(e=new ez(t),wC.set(t,e),EC.push(e)),e},"findOrCreateNode"),srt=o(()=>EC,"getNodes"),ort=o(()=>kC,"getLinks"),lrt=o(()=>({nodes:EC.map(t=>({id:t.ID})),links:kC.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),bxe={nodesMap:wC,getConfig:o(()=>ge().sankey,"getConfig"),getNodes:srt,getLinks:ort,getGraph:lrt,addLink:irt,findOrCreateNode:art,getAccTitle:Mr,setAccTitle:Rr,getAccDescription:Or,setAccDescription:Ir,getDiagramTitle:Pr,setDiagramTitle:$r,clear:nrt}});function D4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var wxe=M(()=>{"use strict";o(D4,"max")});function py(t,e){let r;if(e===void 0)for(let 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}var kxe=M(()=>{"use strict";o(py,"min")});function my(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}var Exe=M(()=>{"use strict";o(my,"sum")});var tz=M(()=>{"use strict";wxe();kxe();Exe()});function crt(t){return t.target.depth}function rz(t){return t.depth}function nz(t,e){return e-1-t.height}function L4(t,e){return t.sourceLinks.length?t.depth:e-1}function iz(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?py(t.sourceLinks,crt)-1:0}var az=M(()=>{"use strict";tz();o(crt,"targetDepth");o(rz,"left");o(nz,"right");o(L4,"justify");o(iz,"center")});function gy(t){return function(){return t}}var Sxe=M(()=>{"use strict";o(gy,"constant")});function Cxe(t,e){return SC(t.source,e.source)||t.index-e.index}function Axe(t,e){return SC(t.target,e.target)||t.index-e.index}function SC(t,e){return t.y0-e.y0}function sz(t){return t.value}function urt(t){return t.index}function hrt(t){return t.nodes}function frt(t){return t.links}function _xe(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function Dxe({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function CC(){let t=0,e=0,r=1,n=1,i=24,a=8,s,l=urt,u=L4,h,f,d=hrt,p=frt,m=6;function g(){let O={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(O),v(O),x(O),b(O),w(O),Dxe(O),O}o(g,"sankey"),g.update=function(O){return Dxe(O),O},g.nodeId=function(O){return arguments.length?(l=typeof O=="function"?O:gy(O),g):l},g.nodeAlign=function(O){return arguments.length?(u=typeof O=="function"?O:gy(O),g):u},g.nodeSort=function(O){return arguments.length?(h=O,g):h},g.nodeWidth=function(O){return arguments.length?(i=+O,g):i},g.nodePadding=function(O){return arguments.length?(a=s=+O,g):a},g.nodes=function(O){return arguments.length?(d=typeof O=="function"?O:gy(O),g):d},g.links=function(O){return arguments.length?(p=typeof O=="function"?O:gy(O),g):p},g.linkSort=function(O){return arguments.length?(f=O,g):f},g.size=function(O){return arguments.length?(t=e=0,r=+O[0],n=+O[1],g):[r-t,n-e]},g.extent=function(O){return arguments.length?(t=+O[0][0],r=+O[1][0],e=+O[0][1],n=+O[1][1],g):[[t,e],[r,n]]},g.iterations=function(O){return arguments.length?(m=+O,g):m};function y({nodes:O,links:N}){for(let[B,F]of O.entries())F.index=B,F.sourceLinks=[],F.targetLinks=[];let P=new Map(O.map((B,F)=>[l(B,F,O),B]));for(let[B,F]of N.entries()){F.index=B;let{source:V,target:$}=F;typeof V!="object"&&(V=F.source=_xe(P,V)),typeof $!="object"&&($=F.target=_xe(P,$)),V.sourceLinks.push(F),$.targetLinks.push(F)}if(f!=null)for(let{sourceLinks:B,targetLinks:F}of O)B.sort(f),F.sort(f)}o(y,"computeNodeLinks");function v({nodes:O}){for(let N of O)N.value=N.fixedValue===void 0?Math.max(my(N.sourceLinks,sz),my(N.targetLinks,sz)):N.fixedValue}o(v,"computeNodeValues");function x({nodes:O}){let N=O.length,P=new Set(O),B=new Set,F=0;for(;P.size;){for(let V of P){V.depth=F;for(let{target:$}of V.sourceLinks)B.add($)}if(++F>N)throw new Error("circular link");P=B,B=new Set}}o(x,"computeNodeDepths");function b({nodes:O}){let N=O.length,P=new Set(O),B=new Set,F=0;for(;P.size;){for(let V of P){V.height=F;for(let{source:$}of V.targetLinks)B.add($)}if(++F>N)throw new Error("circular link");P=B,B=new Set}}o(b,"computeNodeHeights");function T({nodes:O}){let N=D4(O,F=>F.depth)+1,P=(r-t-i)/(N-1),B=new Array(N);for(let F of O){let V=Math.max(0,Math.min(N-1,Math.floor(u.call(null,F,N))));F.layer=V,F.x0=t+V*P,F.x1=F.x0+i,B[V]?B[V].push(F):B[V]=[F]}if(h)for(let F of B)F.sort(h);return B}o(T,"computeNodeLayers");function S(O){let N=py(O,P=>(n-e-(P.length-1)*s)/my(P,sz));for(let P of O){let B=e;for(let F of P){F.y0=B,F.y1=B+F.value*N,B=F.y1+s;for(let V of F.sourceLinks)V.width=V.value*N}B=(n-B+s)/(P.length+1);for(let F=0;FP.length)-1)),S(N);for(let P=0;P0))continue;let ee=(U/j-$.y0)*N;$.y0+=ee,$.y1+=ee,R($)}h===void 0&&V.sort(SC),A(V,P)}}o(k,"relaxLeftToRight");function C(O,N,P){for(let B=O.length,F=B-2;F>=0;--F){let V=O[F];for(let $ of V){let U=0,j=0;for(let{target:q,value:oe}of $.sourceLinks){let Q=oe*(q.layer-$.layer);U+=D($,q)*Q,j+=Q}if(!(j>0))continue;let ee=(U/j-$.y0)*N;$.y0+=ee,$.y1+=ee,R($)}h===void 0&&V.sort(SC),A(V,P)}}o(C,"relaxRightToLeft");function A(O,N){let P=O.length>>1,B=O[P];I(O,B.y0-s,P-1,N),L(O,B.y1+s,P+1,N),I(O,n,O.length-1,N),L(O,e,0,N)}o(A,"resolveCollisions");function L(O,N,P,B){for(;P1e-6&&(F.y0+=V,F.y1+=V),N=F.y1+s}}o(L,"resolveCollisionsTopToBottom");function I(O,N,P,B){for(;P>=0;--P){let F=O[P],V=(F.y1-N)*B;V>1e-6&&(F.y0-=V,F.y1-=V),N=F.y0-s}}o(I,"resolveCollisionsBottomToTop");function R({sourceLinks:O,targetLinks:N}){if(f===void 0){for(let{source:{sourceLinks:P}}of N)P.sort(Axe);for(let{target:{targetLinks:P}}of O)P.sort(Cxe)}}o(R,"reorderNodeLinks");function E(O){if(f===void 0)for(let{sourceLinks:N,targetLinks:P}of O)N.sort(Axe),P.sort(Cxe)}o(E,"reorderLinks");function _(O,N){let P=O.y0-(O.sourceLinks.length-1)*s/2;for(let{target:B,width:F}of O.sourceLinks){if(B===N)break;P+=F+s}for(let{source:B,width:F}of N.targetLinks){if(B===O)break;P-=F}return P}o(_,"targetTop");function D(O,N){let P=N.y0-(N.targetLinks.length-1)*s/2;for(let{source:B,width:F}of N.targetLinks){if(B===O)break;P+=F+s}for(let{target:B,width:F}of O.sourceLinks){if(B===N)break;P-=F}return P}return o(D,"sourceTop"),g}var Lxe=M(()=>{"use strict";tz();az();Sxe();o(Cxe,"ascendingSourceBreadth");o(Axe,"ascendingTargetBreadth");o(SC,"ascendingBreadth");o(sz,"value");o(urt,"defaultId");o(hrt,"defaultNodes");o(frt,"defaultLinks");o(_xe,"find");o(Dxe,"computeLinkBreadths");o(CC,"Sankey")});function cz(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Rxe(){return new cz}var oz,lz,f0,drt,uz,Nxe=M(()=>{"use strict";oz=Math.PI,lz=2*oz,f0=1e-6,drt=lz-f0;o(cz,"Path");o(Rxe,"path");cz.prototype=Rxe.prototype={constructor:cz,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,l=r-t,u=n-e,h=a-t,f=s-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>f0)if(!(Math.abs(f*l-u*h)>f0)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((oz-Math.acos((g+d-y)/(2*v*x)))/2),T=b/x,S=b/v;Math.abs(T-1)>f0&&(this._+="L"+(t+T*h)+","+(e+T*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+S*l)+","+(this._y1=e+S*u)}},"arcTo"),arc:o(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),l=r*Math.sin(n),u=t+s,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>f0||Math.abs(this._y1-h)>f0)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%lz+lz),d>drt?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>f0&&(this._+="A"+r+","+r+",0,"+ +(d>=oz)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:o(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};uz=Rxe});var Mxe=M(()=>{"use strict";Nxe()});function AC(t){return o(function(){return t},"constant")}var Ixe=M(()=>{"use strict";o(AC,"default")});function Oxe(t){return t[0]}function Pxe(t){return t[1]}var Bxe=M(()=>{"use strict";o(Oxe,"x");o(Pxe,"y")});var Fxe,$xe=M(()=>{"use strict";Fxe=Array.prototype.slice});function prt(t){return t.source}function mrt(t){return t.target}function grt(t){var e=prt,r=mrt,n=Oxe,i=Pxe,a=null;function s(){var l,u=Fxe.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=uz()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(n=typeof l=="function"?l:AC(+l),s):n},s.y=function(l){return arguments.length?(i=typeof l=="function"?l:AC(+l),s):i},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function yrt(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function hz(){return grt(yrt)}var zxe=M(()=>{"use strict";Mxe();$xe();Ixe();Bxe();o(prt,"linkSource");o(mrt,"linkTarget");o(grt,"link");o(yrt,"curveHorizontal");o(hz,"linkHorizontal")});var Gxe=M(()=>{"use strict";zxe()});function vrt(t){return[t.source.x1,t.y0]}function xrt(t){return[t.target.x0,t.y1]}function _C(){return hz().source(vrt).target(xrt)}var Vxe=M(()=>{"use strict";Gxe();o(vrt,"horizontalSource");o(xrt,"horizontalTarget");o(_C,"default")});var Uxe=M(()=>{"use strict";Lxe();az();Vxe()});var R4,Hxe=M(()=>{"use strict";R4=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var brt,Trt,qxe,Wxe=M(()=>{"use strict";Xt();yr();Uxe();Ei();Hxe();brt={left:rz,right:nz,center:iz,justify:L4},Trt=o(function(t,e,r,n){let{securityLevel:i,sankey:a}=ge(),s=V3.sankey,l;i==="sandbox"&&(l=qe("#i"+e));let u=i==="sandbox"?qe(l.nodes()[0].contentDocument.body):qe("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):qe(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=n.db.getGraph(),b=brt[m];CC().nodeId(I=>I.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let w=no(YD);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",I=>(I.uid=R4.next("node-")).id).attr("transform",function(I){return"translate("+I.x0+","+I.y0+")"}).attr("x",I=>I.x0).attr("y",I=>I.y0).append("rect").attr("height",I=>I.y1-I.y0).attr("width",I=>I.x1-I.x0).attr("fill",I=>w(I.id));let k=o(({id:I,value:R})=>v?`${I} +${g}${Math.round(R*100)/100}${y}`:I,"getText");h.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",I=>I.x0(I.y1+I.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",I=>I.x0(R.uid=R4.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",R=>R.source.x1).attr("x2",R=>R.target.x0);I.append("stop").attr("offset","0%").attr("stop-color",R=>w(R.source.id)),I.append("stop").attr("offset","100%").attr("stop-color",R=>w(R.target.id))}let L;switch(A){case"gradient":L=o(I=>I.uid,"coloring");break;case"source":L=o(I=>w(I.source.id),"coloring");break;case"target":L=o(I=>w(I.target.id),"coloring");break;default:L=A}C.append("path").attr("d",_C()).attr("stroke",L).attr("stroke-width",I=>Math.max(1,I.width)),ic(void 0,h,0,p)},"draw"),qxe={draw:Trt}});var Yxe,Xxe=M(()=>{"use strict";Yxe=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing")});var wrt,jxe,Kxe=M(()=>{"use strict";wrt=o(t=>`.label { + font-family: ${t.fontFamily}; + }`,"getStyles"),jxe=wrt});var Qxe={};dr(Qxe,{diagram:()=>Ert});var krt,Ert,Zxe=M(()=>{"use strict";xxe();Txe();Wxe();Xxe();Kxe();krt=_4.parse.bind(_4);_4.parse=t=>krt(Yxe(t));Ert={styles:jxe,parser:_4,db:bxe,renderer:qxe}});var _rt,yy,fz=M(()=>{"use strict";qn();Ra();tr();ci();_rt=ur.packet,yy=class{constructor(){this.packet=[];this.setAccTitle=Rr;this.getAccTitle=Mr;this.setDiagramTitle=$r;this.getDiagramTitle=Pr;this.getAccDescription=Or;this.setAccDescription=Ir}static{o(this,"PacketDB")}getConfig(){let e=Vn({..._rt,...Qt().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Sr(),this.packet=[]}}});var Drt,Lrt,Rrt,dz,tbe=M(()=>{"use strict";Uf();pt();r0();fz();Drt=1e4,Lrt=o((t,e)=>{nl(t,e);let r=-1,n=[],i=1,{bitsPerRow:a}=e.getConfig();for(let{start:s,end:l,bits:u,label:h}of t.blocks){if(s!==void 0&&l!==void 0&&l{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];let 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"),dz={parser:{yy:void 0},parse:o(async t=>{let e=await bs("packet",t),r=dz.parser?.yy;if(!(r instanceof yy))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.");X.debug(e),Lrt(e,r)},"parse")}});var Nrt,Mrt,rbe,nbe=M(()=>{"use strict";tu();Ei();Nrt=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=aa(e);y.attr("viewbox",`0 0 ${g} ${m}`),mn(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())Mrt(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),Mrt=o((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),rbe={draw:Nrt}});var Irt,ibe,abe=M(()=>{"use strict";tr();Irt={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},ibe=o(({packet:t}={})=>{let e=Vn(Irt,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")});var sbe={};dr(sbe,{diagram:()=>Ort});var Ort,obe=M(()=>{"use strict";fz();tbe();nbe();abe();Ort={parser:dz,get db(){return new yy},renderer:rbe,styles:ibe}});var vy,ube,d0,Frt,$rt,hbe,zrt,Grt,Vrt,Urt,Hrt,qrt,Wrt,p0,pz=M(()=>{"use strict";qn();Ra();tr();ci();vy={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},ube={axes:[],curves:[],options:vy},d0=structuredClone(ube),Frt=ur.radar,$rt=o(()=>Vn({...Frt,...Qt().radar}),"getConfig"),hbe=o(()=>d0.axes,"getAxes"),zrt=o(()=>d0.curves,"getCurves"),Grt=o(()=>d0.options,"getOptions"),Vrt=o(t=>{d0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),Urt=o(t=>{d0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:Hrt(e.entries)}))},"setCurves"),Hrt=o(t=>{if(t[0].axis==null)return t.map(r=>r.value);let e=hbe();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{let n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),qrt=o(t=>{let e=t.reduce((r,n)=>(r[n.name]=n,r),{});d0.options={showLegend:e.showLegend?.value??vy.showLegend,ticks:e.ticks?.value??vy.ticks,max:e.max?.value??vy.max,min:e.min?.value??vy.min,graticule:e.graticule?.value??vy.graticule}},"setOptions"),Wrt=o(()=>{Sr(),d0=structuredClone(ube)},"clear"),p0={getAxes:hbe,getCurves:zrt,getOptions:Grt,setAxes:Vrt,setCurves:Urt,setOptions:qrt,getConfig:$rt,clear:Wrt,setAccTitle:Rr,getAccTitle:Mr,setDiagramTitle:$r,getDiagramTitle:Pr,getAccDescription:Or,setAccDescription:Ir}});var Yrt,fbe,dbe=M(()=>{"use strict";Uf();pt();r0();pz();Yrt=o(t=>{nl(t,p0);let{axes:e,curves:r,options:n}=t;p0.setAxes(e),p0.setCurves(r),p0.setOptions(n)},"populate"),fbe={parse:o(async t=>{let e=await bs("radar",t);X.debug(e),Yrt(e)},"parse")}});function Zrt(t,e,r,n,i,a,s){let l=e.length,u=Math.min(s.width,s.height)/2;r.forEach((h,f)=>{if(h.entries.length!==l)return;let d=h.entries.map((p,m)=>{let g=2*Math.PI*m/l-Math.PI/2,y=Jrt(p,n,i,u),v=y*Math.cos(g),x=y*Math.sin(g);return{x:v,y:x}});a==="circle"?t.append("path").attr("d",ent(d,s.curveTension)).attr("class",`radarCurve-${f}`):a==="polygon"&&t.append("polygon").attr("points",d.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${f}`)})}function Jrt(t,e,r,n){let i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}function ent(t,e){let r=t.length,n=`M${t[0].x},${t[0].y}`;for(let i=0;i{let h=t.append("g").attr("transform",`translate(${i}, ${a+u*s})`);h.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${u}`),h.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(l.label)})}var Xrt,jrt,Krt,Qrt,pbe,mbe=M(()=>{"use strict";tu();Xrt=o((t,e,r,n)=>{let i=n.db,a=i.getAxes(),s=i.getCurves(),l=i.getOptions(),u=i.getConfig(),h=i.getDiagramTitle(),f=aa(e),d=jrt(f,u),p=l.max??Math.max(...s.map(y=>Math.max(...y.entries))),m=l.min,g=Math.min(u.width,u.height)/2;Krt(d,a,g,l.ticks,l.graticule),Qrt(d,a,g,u),Zrt(d,a,s,m,p,l.graticule,u),tnt(d,s,l.showLegend,u),d.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-u.height/2-u.marginTop)},"draw"),jrt=o((t,e)=>{let 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 t.attr("viewbox",`0 0 ${r} ${n}`).attr("width",r).attr("height",n),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),Krt=o((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{let d=2*f*Math.PI/a-Math.PI/2,p=l*Math.cos(d),m=l*Math.sin(d);return`${p},${m}`}).join(" ");t.append("polygon").attr("points",u).attr("class","radarGraticule")}}},"drawGraticule"),Qrt=o((t,e,r,n)=>{let i=e.length;for(let a=0;a{"use strict";tr();Py();qn();rnt=o((t,e)=>{let r="";for(let n=0;n{let e=mh(),r=Qt(),n=Vn(e,r.themeVariables),i=Vn(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),gbe=o(({radar:t}={})=>{let{themeVariables:e,radarOptions:r}=nnt(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 { + dominant-baseline: middle; + text-anchor: middle; + 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; + } + ${rnt(e,r)} + `},"styles")});var vbe={};dr(vbe,{diagram:()=>int});var int,xbe=M(()=>{"use strict";pz();dbe();mbe();ybe();int={parser:fbe,db:p0,renderer:pbe,styles:gbe}});var mz,wbe,kbe=M(()=>{"use strict";mz=(function(){var t=o(function(T,S,w,k){for(w=w||{},k=T.length;k--;w[T[k]]=S);return w},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,10,21,28,29,30,31,39,43,46],d=[1,23],p=[1,24],m=[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],y=[1,49],v={trace:o(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:o(function(S,w,k,C,A,L,I){var R=L.length-1;switch(A){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: ",L[R-1]),C.setHierarchy(L[R-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: ",L[R]),typeof L[R].length=="number"?this.$=L[R]:this.$=[L[R]];break;case 13:C.getLogger().debug("Rule: statement #2: ",L[R-1]),this.$=[L[R-1]].concat(L[R]);break;case 14:C.getLogger().debug("Rule: link: ",L[R],S),this.$={edgeTypeStr:L[R],label:""};break;case 15:C.getLogger().debug("Rule: LABEL link: ",L[R-3],L[R-1],L[R]),this.$={edgeTypeStr:L[R],label:L[R-1]};break;case 18:let E=parseInt(L[R]),_=C.generateId();this.$={id:_,type:"space",label:"",width:E,children:[]};break;case 23:C.getLogger().debug("Rule: (nodeStatement link node) ",L[R-2],L[R-1],L[R]," typestr: ",L[R-1].edgeTypeStr);let D=C.edgeStrToEdgeData(L[R-1].edgeTypeStr);this.$=[{id:L[R-2].id,label:L[R-2].label,type:L[R-2].type,directions:L[R-2].directions},{id:L[R-2].id+"-"+L[R].id,start:L[R-2].id,end:L[R].id,label:L[R-1].label,type:"edge",directions:L[R].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:L[R].id,label:L[R].label,type:C.typeStr2Type(L[R].typeStr),directions:L[R].directions}];break;case 24:C.getLogger().debug("Rule: nodeStatement (abc88 node size) ",L[R-1],L[R]),this.$={id:L[R-1].id,label:L[R-1].label,type:C.typeStr2Type(L[R-1].typeStr),directions:L[R-1].directions,widthInColumns:parseInt(L[R],10)};break;case 25:C.getLogger().debug("Rule: nodeStatement (node) ",L[R]),this.$={id:L[R].id,label:L[R].label,type:C.typeStr2Type(L[R].typeStr),directions:L[R].directions,widthInColumns:1};break;case 26:C.getLogger().debug("APA123",this?this:"na"),C.getLogger().debug("COLUMNS: ",L[R]),this.$={type:"column-setting",columns:L[R]==="auto"?-1:parseInt(L[R])};break;case 27:C.getLogger().debug("Rule: id-block statement : ",L[R-2],L[R-1]);let O=C.generateId();this.$={...L[R-2],type:"composite",children:L[R-1]};break;case 28:C.getLogger().debug("Rule: blockStatement : ",L[R-2],L[R-1],L[R]);let N=C.generateId();this.$={id:N,type:"composite",label:"",children:L[R-1]};break;case 29:C.getLogger().debug("Rule: node (NODE_ID separator): ",L[R]),this.$={id:L[R]};break;case 30:C.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",L[R-1],L[R]),this.$={id:L[R-1],label:L[R].label,typeStr:L[R].typeStr,directions:L[R].directions};break;case 31:C.getLogger().debug("Rule: dirList: ",L[R]),this.$=[L[R]];break;case 32:C.getLogger().debug("Rule: dirList: ",L[R-1],L[R]),this.$=[L[R-1]].concat(L[R]);break;case 33:C.getLogger().debug("Rule: nodeShapeNLabel: ",L[R-2],L[R-1],L[R]),this.$={typeStr:L[R-2]+L[R],label:L[R-1]};break;case 34:C.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",L[R-3],L[R-2]," #3:",L[R-1],L[R]),this.$={typeStr:L[R-3]+L[R],label:L[R-2],directions:L[R-1]};break;case 35:case 36:this.$={type:"classDef",id:L[R-1].trim(),css:L[R].trim()};break;case 37:this.$={type:"applyClass",id:L[R-1].trim(),styleClass:L[R].trim()};break;case 38:this.$={type:"applyStyles",id:L[R-1].trim(),stylesStr:L[R].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:l,46:u},{8:[1,20]},t(h,[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:l,46:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[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:l,46:u},{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(h,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(m,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:p,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:l,46:u},{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(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{36:[1,47]},{33:48,34:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{38:[1,51]},{33:52,34:y,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:o(function(S,w){if(w.recoverable)this.trace(S);else{var k=new Error(S);throw k.hash=w,k}},"parseError"),parse:o(function(S){var w=this,k=[0],C=[],A=[null],L=[],I=this.table,R="",E=0,_=0,D=0,O=2,N=1,P=L.slice.call(arguments,1),B=Object.create(this.lexer),F={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(F.yy[V]=this.yy[V]);B.setInput(S,F.yy),F.yy.lexer=B,F.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var $=B.yylloc;L.push($);var U=B.options&&B.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(Te){k.length=k.length-2*Te,A.length=A.length-Te,L.length=L.length-Te}o(j,"popStack");function ee(){var Te;return Te=C.pop()||B.lex()||N,typeof Te!="number"&&(Te instanceof Array&&(C=Te,Te=C.pop()),Te=w.symbols_[Te]||Te),Te}o(ee,"lex");for(var q,oe,Q,ue,te,re,J={},K,ae,Z,de;;){if(Q=k[k.length-1],this.defaultActions[Q]?ue=this.defaultActions[Q]:((q===null||typeof q>"u")&&(q=ee()),ue=I[Q]&&I[Q][q]),typeof ue>"u"||!ue.length||!ue[0]){var ne="";de=[];for(K in I[Q])this.terminals_[K]&&K>O&&de.push("'"+this.terminals_[K]+"'");B.showPosition?ne="Parse error on line "+(E+1)+`: +`+B.showPosition()+` +Expecting `+de.join(", ")+", got '"+(this.terminals_[q]||q)+"'":ne="Parse error on line "+(E+1)+": Unexpected "+(q==N?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(ne,{text:B.match,token:this.terminals_[q]||q,line:B.yylineno,loc:$,expected:de})}if(ue[0]instanceof Array&&ue.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+q);switch(ue[0]){case 1:k.push(q),A.push(B.yytext),L.push(B.yylloc),k.push(ue[1]),q=null,oe?(q=oe,oe=null):(_=B.yyleng,R=B.yytext,E=B.yylineno,$=B.yylloc,D>0&&D--);break;case 2:if(ae=this.productions_[ue[1]][1],J.$=A[A.length-ae],J._$={first_line:L[L.length-(ae||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(ae||1)].first_column,last_column:L[L.length-1].last_column},U&&(J._$.range=[L[L.length-(ae||1)].range[0],L[L.length-1].range[1]]),re=this.performAction.apply(J,[R,_,E,F.yy,ue[1],A,L].concat(P)),typeof re<"u")return re;ae&&(k=k.slice(0,-1*ae*2),A=A.slice(0,-1*ae),L=L.slice(0,-1*ae)),k.push(this.productions_[ue[1]][0]),A.push(J.$),L.push(J._$),Z=I[k[k.length-2]][k[k.length-1]],k.push(Z);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:o(function(w,k){if(this.yy.parser)this.yy.parser.parseError(w,k);else throw new Error(w)},"parseError"),setInput:o(function(S,w){return this.yy=w||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var w=S.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),S},"input"),unput:o(function(S){var w=S.length,k=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;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),k.length-1&&(this.yylineno-=k.length-1);var A=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:k?(k.length===C.length?this.yylloc.first_column:0)+C[C.length-k.length].length-k[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(S){this.unput(this.match.slice(S))},"less"),pastInput:o(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var S=this.pastInput(),w=new Array(S.length+1).join("-");return S+this.upcomingInput()+` +`+w+"^"},"showPosition"),test_match:o(function(S,w){var k,C,A;if(this.options.backtrack_lexer&&(A={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&&(A.yylloc.range=this.yylloc.range.slice(0))),C=S[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+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],k=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var L in A)this[L]=A[L];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,w,k,C;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),L=0;Lw[0].length)){if(w=k,C=L,this.options.backtrack_lexer){if(S=this.test_match(k,A[L]),S!==!1)return S;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(S=this.test_match(w,A[C]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var w=this.next();return w||this.lex()},"lex"),begin:o(function(w){this.conditionStack.push(w)},"begin"),popState:o(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:o(function(w){this.begin(w)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(w,k,C,A){var L=A;switch(C){case 0:return w.getLogger().debug("Found block-beta"),10;break;case 1:return w.getLogger().debug("Found id-block"),29;break;case 2:return w.getLogger().debug("Found block"),10;break;case 3:w.getLogger().debug(".",k.yytext);break;case 4:w.getLogger().debug("_",k.yytext);break;case 5:return 5;case 6:return k.yytext=-1,28;break;case 7:return k.yytext=k.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",k.yytext),28;break;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:w.getLogger().debug("LEX: POPPING STR:",k.yytext),this.popState();break;case 13:return w.getLogger().debug("LEX: STR end:",k.yytext),"STR";break;case 14:return k.yytext=k.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",k.yytext),21;break;case 15:return k.yytext="1",w.getLogger().debug("COLUMNS (LEX)",k.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;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(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return w.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return w.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return w.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return w.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return w.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return w.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return w.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),w.getLogger().debug("LEX ARR START"),37;break;case 74:return w.getLogger().debug("Lex: NODE_ID",k.yytext),31;break;case 75:return w.getLogger().debug("Lex: EOF",k.yytext),8;break;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:w.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:w.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return w.getLogger().debug("LEX: NODE_DESCR:",k.yytext),"NODE_DESCR";break;case 83:w.getLogger().debug("LEX POPPING"),this.popState();break;case 84:w.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (right): dir:",k.yytext),"DIR";break;case 86:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (left):",k.yytext),"DIR";break;case 87:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (x):",k.yytext),"DIR";break;case 88:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (y):",k.yytext),"DIR";break;case 89:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (up):",k.yytext),"DIR";break;case 90:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (down):",k.yytext),"DIR";break;case 91:return k.yytext="]>",w.getLogger().debug("Lex (ARROW_DIR end):",k.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 93:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 94:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 95:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 96:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 97:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 98:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return w.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 102:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 103:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 104:return w.getLogger().debug("Lex: COLON",k.yytext),k.yytext=k.yytext.slice(1),27;break}},"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 T})();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b})();mz.parser=mz;wbe=mz});function pnt(t){switch(X.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return X.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function mnt(t){switch(X.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function gnt(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}var ql,yz,gz,Ebe,Sbe,ont,Abe,lnt,DC,cnt,unt,hnt,fnt,_be,vz,N4,dnt,Cbe,ynt,vnt,xnt,bnt,Tnt,wnt,knt,Ent,Snt,Cnt,Ant,Dbe,Lbe=M(()=>{"use strict";hR();qn();Xt();pt();gr();ci();ql=new Map,yz=[],gz=new Map,Ebe="color",Sbe="fill",ont="bgFill",Abe=",",lnt=ge(),DC=new Map,cnt=o(t=>tt.sanitizeText(t,lnt),"sanitizeText"),unt=o(function(t,e=""){let r=DC.get(t);r||(r={id:t,styles:[],textStyles:[]},DC.set(t,r)),e?.split(Abe).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(Ebe).exec(n)){let s=i.replace(Sbe,ont).replace(Ebe,Sbe);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),hnt=o(function(t,e=""){let r=ql.get(t);e!=null&&(r.styles=e.split(Abe))},"addStyle2Node"),fnt=o(function(t,e){t.split(",").forEach(function(r){let n=ql.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},ql.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),_be=o((t,e)=>{let r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(let s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&X.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=cnt(s.label)),s.type==="classDef"){unt(s.id,s.css);continue}if(s.type==="applyClass"){fnt(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&hnt(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){let l=(gz.get(s.id)??0)+1;gz.set(s.id,l),s.id=l+"-"+s.id,yz.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);let l=ql.get(s.id);if(l===void 0?ql.set(s.id,s):(s.type!=="na"&&(l.type=s.type),s.label!==s.id&&(l.label=s.label)),s.children&&_be(s.children,s),s.type==="space"){let u=s.width??1;for(let h=0;h{X.debug("Clear called"),Sr(),N4={id:"root",type:"composite",children:[],columns:-1},ql=new Map([["root",N4]]),vz=[],DC=new Map,yz=[],gz=new Map},"clear");o(pnt,"typeStr2Type");o(mnt,"edgeTypeStr2Type");o(gnt,"edgeStrToEdgeData");Cbe=0,ynt=o(()=>(Cbe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Cbe),"generateId"),vnt=o(t=>{N4.children=t,_be(t,N4),vz=N4.children},"setHierarchy"),xnt=o(t=>{let e=ql.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),bnt=o(()=>[...ql.values()],"getBlocksFlat"),Tnt=o(()=>vz||[],"getBlocks"),wnt=o(()=>yz,"getEdges"),knt=o(t=>ql.get(t),"getBlock"),Ent=o(t=>{ql.set(t.id,t)},"setBlock"),Snt=o(()=>X,"getLogger"),Cnt=o(function(){return DC},"getClasses"),Ant={getConfig:o(()=>Qt().block,"getConfig"),typeStr2Type:pnt,edgeTypeStr2Type:mnt,edgeStrToEdgeData:gnt,getLogger:Snt,getBlocksFlat:bnt,getBlocks:Tnt,getEdges:wnt,setHierarchy:vnt,getBlock:knt,setBlock:Ent,getColumns:xnt,getClasses:Cnt,clear:dnt,generateId:ynt},Dbe=Ant});var LC,_nt,Rbe,Nbe=M(()=>{"use strict";eo();yg();LC=o((t,e)=>{let r=ld,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ka(n,i,a,e)},"fade"),_nt=o(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}; + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${LC(t.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${LC(t.mainBkg,.5)}; + fill: ${LC(t.clusterBkg,.5)}; + stroke: ${LC(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}; + } + ${zc()} +`,"getStyles"),Rbe=_nt});var Dnt,Lnt,Rnt,Nnt,Mnt,Int,Ont,Pnt,Bnt,Fnt,$nt,Mbe,Ibe=M(()=>{"use strict";pt();Dnt=o((t,e,r,n)=>{e.forEach(i=>{$nt[i](t,r,n)})},"insertMarkers"),Lnt=o((t,e,r)=>{X.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"),Rnt=o((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"),Nnt=o((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"),Mnt=o((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"),Int=o((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"),Ont=o((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"),Pnt=o((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"),Bnt=o((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"),Fnt=o((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"),$nt={extension:Lnt,composition:Rnt,aggregation:Nnt,dependency:Mnt,lollipop:Int,point:Ont,circle:Pnt,cross:Bnt,barb:Fnt},Mbe=Dnt});function znt(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};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function xz(t,e,r=0,n=0){X.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)xz(m,e);let s=Gnt(t);i=s.width,a=s.height,X.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(X.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+Ti*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,X.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)xz(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*Ti-Ti)/m;X.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}X.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function Obe(t,e){X.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(X.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Ti;X.debug("widthOfChildren 88",i,"posX");let a=0;X.debug("abc91 block?.size?.x",t.id,t?.size?.x);let s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ti,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=znt(r,a);if(m!=l&&(l=m,s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Ti,X.debug("New row in layout for block",t.id," and child ",u.id,l)),X.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${Ti}`),h.size){let y=f/2;u.size.x=s+Ti+y,X.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${u.size.x} ${y} padding=${Ti} width=${f} halfWidth=${y} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),s=u.size.x+y,u.size.y=h.size.y-h.size.height/2+m*(d+Ti)+d/2+Ti,X.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${Ti}${y}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&Obe(u,e);let g=u?.widthInColumns??1;r>0&&(g=Math.min(g,r-a%r)),a+=g,X.debug("abc88 columnsPos",u,a)}}X.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function Pbe(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),s+u/2>i&&(i=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=Pbe(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function Bbe(t){let e=t.getBlock("root");if(!e)return;xz(e,t,0,0),Obe(e,t),X.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=Pbe(e),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}var Ti,Gnt,Fbe=M(()=>{"use strict";pt();Xt();Ti=ge()?.block?.padding??8;o(znt,"calculateBlockPosition");Gnt=o(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};X.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(t.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(xz,"setBlockSizes");o(Obe,"layoutBlocks");o(Pbe,"findBounds");o(Bbe,"layout")});function $be(t,e){e&&t.attr("style",e)}function Vnt(t,e){let r=qe(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=r.append("xhtml:div"),i=t.label,a=t.isNode?"nodeLabel":"edgeLabel",s=n.append("span");return s.html(sr(i,e)),$be(s,t.labelStyle),s.attr("class",a),$be(n,t.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),r.node()}var Unt,ks,RC=M(()=>{"use strict";yr();Xt();gr();pt();zo();tr();o($be,"applyStyle");o(Vnt,"addHtmlLabel");Unt=o(async(t,e,r,n)=>{let i=t||"";typeof i=="object"&&(i=i[0]);let a=ge();if(vr(a.flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),X.debug("vertexText"+i);let s=await k9(Ji(i)),l={isNode:n,label:s,labelStyle:e.replace("fill:","color:")};return Vnt(l,a)}else{let s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",e.replace("color:","fill:"));let l=[];typeof i=="string"?l=i.split(/\\n|\n|/gi):Array.isArray(i)?l=i:l=[];for(let u of l){let h=document.createElementNS("http://www.w3.org/2000/svg","tspan");h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),h.setAttribute("dy","1em"),h.setAttribute("x","0"),r?h.setAttribute("class","title-row"):h.setAttribute("class","row"),h.textContent=u.trim(),s.appendChild(h)}return s}},"createLabel"),ks=Unt});var Gbe,Hnt,zbe,Vbe=M(()=>{"use strict";pt();Gbe=o((t,e,r,n,i)=>{e.arrowTypeStart&&zbe(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&zbe(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Hnt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},zbe=o((t,e,r,n,i,a)=>{let s=Hnt[r];if(!s){X.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function NC(t,e){ge().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var bz,Ya,Hbe,qbe,qnt,Wnt,Ube,Wbe,Ybe=M(()=>{"use strict";pt();RC();zo();yr();Xt();tr();gr();X9();P2();Vbe();bz={},Ya={},Hbe=o(async(t,e)=>{let r=ge(),n=vr(r.flowchart.htmlLabels),i=e.labelType==="markdown"?di(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):await ks(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(i);let l=i.getBBox();if(n){let h=i.children[0],f=qe(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),bz[e.id]=a,e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=await ks(e.startLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Ya[e.id]||(Ya[e.id]={}),Ya[e.id].startLeft=f,NC(u,e.startLabelLeft)}if(e.startLabelRight){let h=await ks(e.startLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Ya[e.id]||(Ya[e.id]={}),Ya[e.id].startRight=f,NC(u,e.startLabelRight)}if(e.endLabelLeft){let h=await ks(e.endLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Ya[e.id]||(Ya[e.id]={}),Ya[e.id].endLeft=f,NC(u,e.endLabelLeft)}if(e.endLabelRight){let h=await ks(e.endLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Ya[e.id]||(Ya[e.id]={}),Ya[e.id].endRight=f,NC(u,e.endLabelRight)}return i},"insertEdgeLabel");o(NC,"setTerminalWidth");qbe=o((t,e)=>{X.debug("Moving label abc88 ",t.id,t.label,bz[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=ge(),{subGraphTitleTotalMargin:i}=Pu(n);if(t.label){let a=bz[t.id],s=t.x,l=t.y;if(r){let u=qt.calcLabelPosition(r);X.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=Ya[t.id].startLeft,s=t.x,l=t.y;if(r){let u=qt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=Ya[t.id].startRight,s=t.x,l=t.y;if(r){let u=qt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=Ya[t.id].endLeft,s=t.x,l=t.y;if(r){let u=qt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=Ya[t.id].endRight,s=t.x,l=t.y;if(r){let u=qt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),qnt=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),Wnt=o((t,e,r)=>{X.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}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{X.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!qnt(e,a)&&!i){let s=Wnt(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),Wbe=o(function(t,e,r,n,i,a,s){let l=r.points;X.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(X.debug("to cluster abc88",n[r.toCluster]),l=Ube(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(X.debug("from cluster abc88",n[r.fromCluster]),l=Ube(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(S=>!Number.isNaN(S.y)),p=No;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=fw(r),y=Cl().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(ge().flowchart.arrowMarkerAbsolute||ge().state.arrowMarkerAbsolute)&&(b=md(!0)),Gbe(x,r,b,s,i);let T={};return u&&(T.updatedPath=l),T.originalPath=r.points,T},"insertEdge")});var Ynt,Xbe,jbe=M(()=>{"use strict";Ynt=o(t=>{let e=new Set;for(let 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"),Xbe=o((t,e,r)=>{let n=Ynt(t),i=2,a=e.height+2*r.padding,s=a/i,l=e.width+2*s+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function Xnt(t,e){return t.intersect(e)}var Kbe,Qbe=M(()=>{"use strict";o(Xnt,"intersectNode");Kbe=Xnt});function jnt(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(jnt,"intersectEllipse");MC=jnt});function Knt(t,e,r){return MC(t,e,e,r)}var Zbe,Jbe=M(()=>{"use strict";Tz();o(Knt,"intersectCircle");Zbe=Knt});function Qnt(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&e4e(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&e4e(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function e4e(t,e){return t*e>0}var t4e,r4e=M(()=>{"use strict";o(Qnt,"intersectLine");o(e4e,"sameSign");t4e=Qnt});function Znt(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-s,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),T=y.x-r.x,S=y.y-r.y,w=Math.sqrt(T*T+S*S);return b{"use strict";r4e();n4e=Znt;o(Znt,"intersectPolygon")});var Jnt,a4e,s4e=M(()=>{"use strict";Jnt=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),a4e=Jnt});var $n,wz=M(()=>{"use strict";Qbe();Jbe();Tz();i4e();s4e();$n={node:Kbe,circle:Zbe,ellipse:MC,polygon:n4e,rect:a4e}});function Wl(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+")")}var Li,ti,kz=M(()=>{"use strict";RC();zo();Xt();yr();gr();tr();Li=o(async(t,e,r,n)=>{let i=ge(),a,s=e.useHtmlLabels||vr(i.flowchart.htmlLabels);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f=u.node(),d;e.labelType==="markdown"?d=di(u,sr(Ji(h),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=f.appendChild(await ks(sr(Ji(h),i),e.labelStyle,!1,n));let p=d.getBBox(),m=e.padding/2;if(vr(i.flowchart.htmlLabels)){let g=d.children[0],y=qe(d),v=g.getElementsByTagName("img");if(v){let x=h.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(b=>new Promise(T=>{function S(){if(b.style.display="flex",b.style.flexDirection="column",x){let w=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,C=parseInt(w,10)*5+"px";b.style.minWidth=C,b.style.maxWidth=C}else b.style.width="100%";T(b)}o(S,"setupImage"),setTimeout(()=>{b.complete&&S()}),b.addEventListener("error",S),b.addEventListener("load",S)})))}p=g.getBoundingClientRect(),y.attr("width",p.width),y.attr("height",p.height)}return s?u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):u.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:p,halfPadding:m,label:u}},"labelHelper"),ti=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(Wl,"insertPolygonShape")});var eit,o4e,l4e=M(()=>{"use strict";kz();pt();Xt();wz();eit=o(async(t,e)=>{e.useHtmlLabels||ge().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await Li(t,e,"node "+e.classes,!0);X.info("Classes = ",e.classes);let 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),ti(e,s),e.intersect=function(l){return $n.rect(e,l)},n},"note"),o4e=eit});function Ez(t,e,r,n){let i=[],a=o(l=>{i.push(l,0)},"addBorder"),s=o(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(X.debug("add top border"),a(r)):s(r),e.includes("r")?(X.debug("add right border"),a(n)):s(n),e.includes("b")?(X.debug("add bottom border"),a(r)):s(r),e.includes("l")?(X.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}var c4e,To,u4e,tit,rit,nit,iit,ait,sit,oit,lit,cit,uit,hit,fit,dit,pit,mit,git,yit,vit,xit,h4e,bit,Tit,f4e,IC,Sz,d4e,p4e=M(()=>{"use strict";yr();Xt();gr();pt();jbe();RC();wz();l4e();kz();c4e=o(t=>t?" "+t:"","formatClass"),To=o((t,e)=>`${e||"node default"}${c4e(t.classes)} ${c4e(t.class)}`,"getClassesFromNode"),u4e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];X.info("Question main (Circle)");let u=Wl(r,s,s,l);return u.attr("style",e.style),ti(e,u),e.intersect=function(h){return X.warn("Intersect called"),$n.polygon(e,l,h)},r},"question"),tit=o((t,e)=>{let 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 $n.circle(e,14,s)},r},"choice"),rit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,l=n.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=Wl(r,l,a,u);return h.attr("style",e.style),ti(e,h),e.intersect=function(f){return $n.polygon(e,u,f)},r},"hexagon"),nit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,l=n.width+2*s+e.padding,u=Xbe(e.directions,n,e),h=Wl(r,l,a,u);return h.attr("style",e.style),ti(e,h),e.intersect=function(f){return $n.polygon(e,u,f)},r},"block_arrow"),iit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(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 Wl(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return $n.polygon(e,s,u)},r},"rect_left_inv_arrow"),ait=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(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}],l=Wl(r,i,a,s);return l.attr("style",e.style),ti(e,l),e.intersect=function(u){return $n.polygon(e,s,u)},r},"lean_right"),sit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(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}],l=Wl(r,i,a,s);return l.attr("style",e.style),ti(e,l),e.intersect=function(u){return $n.polygon(e,s,u)},r},"lean_left"),oit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(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}],l=Wl(r,i,a,s);return l.attr("style",e.style),ti(e,l),e.intersect=function(u){return $n.polygon(e,s,u)},r},"trapezoid"),lit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(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}],l=Wl(r,i,a,s);return l.attr("style",e.style),ti(e,l),e.intersect=function(u){return $n.polygon(e,s,u)},r},"inv_trapezoid"),cit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(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}],l=Wl(r,i,a,s);return l.attr("style",e.style),ti(e,l),e.intersect=function(u){return $n.polygon(e,s,u)},r},"rect_right_inv_arrow"),uit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return ti(e,h),e.intersect=function(f){let d=$n.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),hit=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Li(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/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",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(Ez(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{X.warn(`Unknown node property ${d}`)})}return ti(e,a),e.intersect=function(f){return $n.rect(e,f)},r},"rect"),fit=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Li(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/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",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(Ez(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{X.warn(`Unknown node property ${d}`)})}return ti(e,a),e.intersect=function(f){return $n.rect(e,f)},r},"composite"),dit=o(async(t,e)=>{let{shapeSvg:r}=await Li(t,e,"label",!0);X.trace("Classes = ",e.class);let 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){let s=new Set(Object.keys(e.props));e.props.borders&&(Ez(n,e.props.borders,i,a),s.delete("borders")),s.forEach(l=>{X.warn(`Unknown node property ${l}`)})}return ti(e,n),e.intersect=function(s){return $n.rect(e,s)},r},"labelRect");o(Ez,"applyNodePropertyBorders");pit=o(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let 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"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,X.info("Label text abc79",u,l,typeof l=="object");let h=s.node().appendChild(await ks(u,e.labelStyle,!0,!0)),f={width:0,height:0};if(vr(ge().flowchart.htmlLabels)){let y=h.children[0],v=qe(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}X.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=s.node().appendChild(await ks(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(vr(ge().flowchart.htmlLabels)){let y=m.children[0],v=qe(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return qe(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),qe(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await Li(t,e,To(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 ti(e,s),e.intersect=function(l){return $n.rect(e,l)},r},"stadium"),git=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Li(t,e,To(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),X.info("Circle main"),ti(e,a),e.intersect=function(s){return X.info("Circle intersect",e,n.width/2+i,s),$n.circle(e,n.width/2+i,s)},r},"circle"),yit=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Li(t,e,To(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.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),u.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),X.info("DoubleCircle main"),ti(e,l),e.intersect=function(h){return X.info("DoubleCircle intersect",e,n.width/2+i+a,h),$n.circle(e,n.width/2+i+a,h)},r},"doublecircle"),vit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Li(t,e,To(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}],l=Wl(r,i,a,s);return l.attr("style",e.style),ti(e,l),e.intersect=function(u){return $n.polygon(e,s,u)},r},"subroutine"),xit=o((t,e)=>{let 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),ti(e,n),e.intersect=function(i){return $n.circle(e,7,i)},r},"start"),h4e=o((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let 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 ti(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return $n.rect(e,l)},n},"forkJoin"),bit=o((t,e)=>{let 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),ti(e,i),e.intersect=function(a){return $n.circle(e,7,a)},r},"end"),Tit=o(async(t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=n,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=p.node().appendChild(await ks(y,e.labelStyle,!0,!0)),x=v.getBBox();if(vr(ge().flowchart.htmlLabels)){let A=v.children[0],L=qe(v);x=A.getBoundingClientRect(),L.attr("width",x.width),L.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(ge().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let T=p.node().appendChild(await ks(b,e.labelStyle,!0,!0));qe(T).attr("class","classTitle");let S=T.getBBox();if(vr(ge().flowchart.htmlLabels)){let A=T.children[0],L=qe(T);S=A.getBoundingClientRect(),L.attr("width",S.width),L.attr("height",S.height)}d+=S.height+n,S.width>f&&(f=S.width);let w=[];e.classData.members.forEach(async A=>{let L=A.getDisplayDetails(),I=L.displayText;ge().flowchart.htmlLabels&&(I=I.replace(//g,">"));let R=p.node().appendChild(await ks(I,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0)),E=R.getBBox();if(vr(ge().flowchart.htmlLabels)){let _=R.children[0],D=qe(R);E=_.getBoundingClientRect(),D.attr("width",E.width),D.attr("height",E.height)}E.width>f&&(f=E.width),d+=E.height+n,w.push(R)}),d+=i;let k=[];if(e.classData.methods.forEach(async A=>{let L=A.getDisplayDetails(),I=L.displayText;ge().flowchart.htmlLabels&&(I=I.replace(//g,">"));let R=p.node().appendChild(await ks(I,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0)),E=R.getBBox();if(vr(ge().flowchart.htmlLabels)){let _=R.children[0],D=qe(R);E=_.getBoundingClientRect(),D.attr("width",E.width),D.attr("height",E.height)}E.width>f&&(f=E.width),d+=E.height+n,k.push(R)}),d+=i,g){let A=(f-x.width)/2;qe(v).attr("transform","translate( "+(-1*f/2+A)+", "+-1*d/2+")"),m=x.height+n}let C=(f-S.width)/2;return qe(T).attr("transform","translate( "+(-1*f/2+C)+", "+(-1*d/2+m)+")"),m+=S.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,w.forEach(A=>{qe(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let L=A?.getBBox();m+=(L?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,k.forEach(A=>{qe(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let L=A?.getBBox();m+=(L?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),ti(e,l),e.intersect=function(A){return $n.rect(e,A)},s},"class_box"),f4e={rhombus:u4e,composite:fit,question:u4e,rect:hit,labelRect:dit,rectWithTitle:pit,choice:tit,circle:git,doublecircle:yit,stadium:mit,hexagon:rit,block_arrow:nit,rect_left_inv_arrow:iit,lean_right:ait,lean_left:sit,trapezoid:oit,inv_trapezoid:lit,rect_right_inv_arrow:cit,cylinder:uit,start:xit,end:bit,note:o4e,subroutine:vit,fork:h4e,join:h4e,class_box:Tit},IC={},Sz=o(async(t,e,r)=>{let n,i;if(e.link){let a;ge().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 f4e[e.shape](n,e,r)}else i=await f4e[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),IC[e.id]=n,e.haveCallback&&IC[e.id].attr("class",IC[e.id].attr("class")+" clickable"),n},"insertNode"),d4e=o(t=>{let e=IC[t.id];X.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let 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 m4e(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=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"}let u=zL(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??Qt()?.block?.padding??0}}async function wit(t,e,r){let n=m4e(e,r,!1);if(n.type==="group")return;let i=Qt(),a=await Sz(t,n,{config:i}),s=a.node().getBBox(),l=r.getBlock(n.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function kit(t,e,r){let n=m4e(e,r,!0);if(r.getBlock(n.id).type!=="space"){let a=Qt();await Sz(t,n,{config:a}),e.intersect=n?.intersect,d4e(n)}}async function Cz(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await Cz(t,i.children,r,n)}async function g4e(t,e,r){await Cz(t,e,r,wit)}async function y4e(t,e,r){await Cz(t,e,r,kit)}async function v4e(t,e,r,n,i){let a=new cn({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=n.getBlock(s.start),u=n.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];Wbe(t,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await Hbe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),qbe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var x4e=M(()=>{"use strict";qo();qn();Ybe();p4e();tr();o(m4e,"getNodeFromBlock");o(wit,"calculateBlockSize");o(kit,"insertBlockPositioned");o(Cz,"performOperations");o(g4e,"calculateBlockSizes");o(y4e,"insertBlocks");o(v4e,"insertEdges")});var Eit,Sit,b4e,T4e=M(()=>{"use strict";yr();qn();Ibe();pt();Ei();Fbe();x4e();Eit=o(function(t,e){return e.db.getClasses()},"getClasses"),Sit=o(async function(t,e,r,n){let{securityLevel:i,block:a}=Qt(),s=n.db,l;i==="sandbox"&&(l=qe("#i"+e));let u=i==="sandbox"?qe(l.nodes()[0].contentDocument.body):qe("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):qe(`[id="${e}"]`);Mbe(h,["point","circle","cross"],n.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await g4e(g,d,s);let y=Bbe(s);if(await y4e(g,d,s),await v4e(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,T=v.width+10,{useMaxWidth:S}=a;mn(h,b,T,!!S),X.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),b4e={draw:Sit,getClasses:Eit}});var w4e={};dr(w4e,{diagram:()=>Cit});var Cit,k4e=M(()=>{"use strict";kbe();Lbe();Nbe();T4e();Cit={parser:wbe,db:Dbe,renderer:b4e,styles:Rbe}});var Az,_z,M4,C4e,Dz,Xa,nu,I4,A4e,Lit,O4,_4e,D4e,L4e,R4e,N4e,OC,td,PC=M(()=>{"use strict";Az={L:"left",R:"right",T:"top",B:"bottom"},_z={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},M4={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},C4e=o(function(t){return Xa(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),Dz=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),Xa=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),nu=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),I4=o(function(t,e){let r=Xa(t)&&nu(e),n=nu(t)&&Xa(e);return r||n},"isArchitectureDirectionXY"),A4e=o(function(t){let e=t[0],r=t[1],n=Xa(e)&&nu(r),i=nu(e)&&Xa(r);return n||i},"isArchitecturePairXY"),Lit=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),O4=o(function(t,e){let r=`${t}${e}`;return Lit(r)?r:void 0},"getArchitectureDirectionPair"),_4e=o(function([t,e],r){let n=r[0],i=r[1];return Xa(n)?nu(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:Xa(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),D4e=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),L4e=o(function(t,e){return I4(t,e)?"bend":Xa(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),R4e=o(function(t){return t.type==="service"},"isArchitectureService"),N4e=o(function(t){return t.type==="junction"},"isArchitectureJunction"),OC=o(t=>t.data(),"edgeData"),td=o(t=>t.data(),"nodeData")});var Rit,xy,Lz=M(()=>{"use strict";qn();Ra();tr();ci();PC();Rit=ur.architecture,xy=class{constructor(){this.nodes={};this.groups={};this.edges=[];this.registeredIds={};this.elements={};this.setAccTitle=Rr;this.getAccTitle=Mr;this.setDiagramTitle=$r;this.getDiagramTitle=Pr;this.getAccDescription=Or;this.setAccDescription=Ir;this.clear()}static{o(this,"ArchitectureDB")}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},Sr()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(R4e)}addJunction({id:e,in:r}){this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(N4e)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:l,rhsGroup:u,title:h}){if(!Dz(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!Dz(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[e]===void 0&&this.groups[e]===void 0)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[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);let f=this.nodes[e].in,d=this.nodes[r].in;if(l&&f&&d&&f==d)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(u&&f&&d&&f==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let p={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:l,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:u,title:h};this.edges.push(p),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let e={},r=Object.entries(this.nodes).reduce((u,[h,f])=>(u[h]=f.edges.reduce((d,p)=>{let m=this.getNode(p.lhsId)?.in,g=this.getNode(p.rhsId)?.in;if(m&&g&&m!==g){let y=L4e(p.lhsDir,p.rhsDir);y!=="bend"&&(e[m]??={},e[m][g]=y,e[g]??={},e[g][m]=y)}if(p.lhsId===h){let y=O4(p.lhsDir,p.rhsDir);y&&(d[y]=p.rhsId)}else{let y=O4(p.rhsDir,p.lhsDir);y&&(d[y]=p.lhsId)}return d},{}),u),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((u,h)=>h===n?u:{...u,[h]:1},{}),s=o(u=>{let h={[u]:[0,0]},f=[u];for(;f.length>0;){let d=f.shift();if(d){i[d]=1,delete a[d];let p=r[d],[m,g]=h[d];Object.entries(p).forEach(([y,v])=>{i[v]||(h[v]=_4e([m,g],y),f.push(v))})}}return h},"BFS"),l=[s(n)];for(;Object.keys(a).length>0;)l.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:l,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Vn({...Rit,...Qt().architecture})}getConfigField(e){return this.getConfig()[e]}}});var Nit,Rz,M4e=M(()=>{"use strict";Uf();pt();r0();Lz();Nit=o((t,e)=>{nl(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),Rz={parser:{yy:void 0},parse:o(async t=>{let e=await bs("architecture",t);X.debug(e);let r=Rz.parser?.yy;if(!(r instanceof xy))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.");Nit(e,r)},"parse")}});var Mit,I4e,O4e=M(()=>{"use strict";Mit=o(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"),I4e=Mit});var Mz=sa((P4,Nz)=>{"use strict";o((function(e,r){typeof P4=="object"&&typeof Nz=="object"?Nz.exports=r():typeof define=="function"&&define.amd?define([],r):typeof P4=="object"?P4.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(P4,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=28)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.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=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[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(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},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 u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(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(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+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==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";var n=r(0);function i(){}o(i,"FDLayoutConstants");for(var a in n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=i.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var S=x.source.owner.getEdges().indexOf(x);if(S==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(S,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),S=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,S,w,k,C,A=this.nodes,L=A.length,I=0;IT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var L=0;v.forEach(function(I){I.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,E=!0):(l[0]=g,l[1]=m,E=!0):D===N&&(u>f?(l[0]=p,l[1]=m,E=!0):(l[0]=x,l[1]=v,E=!0)),-O===N?f>u?(l[2]=C,l[3]=A,_=!0):(l[2]=k,l[3]=w,_=!0):O===N&&(f>u?(l[2]=S,l[3]=w,_=!0):(l[2]=L,l[3]=A,_=!0)),E&&_)return!1;if(u>f?h>d?(P=this.getCardinalDirection(D,N,4),B=this.getCardinalDirection(O,N,2)):(P=this.getCardinalDirection(-D,N,3),B=this.getCardinalDirection(-O,N,1)):h>d?(P=this.getCardinalDirection(-D,N,1),B=this.getCardinalDirection(-O,N,3)):(P=this.getCardinalDirection(D,N,2),B=this.getCardinalDirection(O,N,4)),!E)switch(P){case 1:V=m,F=u+-T/N,l[0]=F,l[1]=V;break;case 2:F=x,V=h+b*N,l[0]=F,l[1]=V;break;case 3:V=v,F=u+T/N,l[0]=F,l[1]=V;break;case 4:F=y,V=h+-b*N,l[0]=F,l[1]=V;break}if(!_)switch(B){case 1:U=w,$=f+-R/N,l[2]=$,l[3]=U;break;case 2:$=L,U=d+I*N,l[2]=$,l[3]=U;break;case 3:U=A,$=f+R/N,l[2]=$,l[3]=U;break;case 4:$=C,U=d+-I*N,l[2]=$,l[3]=U;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,S=void 0,w=void 0,k=void 0,C=void 0,A=void 0,L=void 0;return T=p-f,w=h-d,C=d*f-h*p,S=v-g,k=m-y,A=y*g-m*v,L=T*k-S*w,L===0?null:(x=(w*A-k*C)/L,b=(S*C-T*A)/L,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i}),(function(t,e,r){"use strict";function n(){}o(n,"IMath"),n.sign=function(i){return i>0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var C=k.getEdges(),x=0;x-1&&w.splice(R,1)}b=new Set,S=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var L=S.getNeighborsList();L.forEach(function(E){if(y.indexOf(E)<0){var _=v.get(E),D=_-1;D==1&&k.push(E),v.set(E,D)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(5);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var S=0;Sh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";function n(){}o(n,"SVD"),n.svd=function(i){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=i.length,this.n=i[0].length;var a=Math.min(this.m,this.n);this.s=(function(dt){for(var nt=[];dt-- >0;)nt.push(0);return nt})(Math.min(this.m+1,this.n)),this.U=(function(dt){var nt=o(function bt(wt){if(wt.length==0)return 0;for(var yt=[],ft=0;ft0;)nt.push(0);return nt})(this.n),l=(function(dt){for(var nt=[];dt-- >0;)nt.push(0);return nt})(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;N--)if(this.s[N]!==0){for(var P=N+1;P=0;ee--){if((function(dt,nt){return dt&&nt})(ee0;){var Z=void 0,de=void 0;for(Z=_-2;Z>=-1&&Z!==-1;Z--)if(Math.abs(s[Z])<=ae+K*(Math.abs(this.s[Z])+Math.abs(this.s[Z+1]))){s[Z]=0;break}if(Z===_-2)de=4;else{var ne=void 0;for(ne=_-1;ne>=Z&&ne!==Z;ne--){var Te=(ne!==_?Math.abs(s[ne]):0)+(ne!==Z+1?Math.abs(s[ne-1]):0);if(Math.abs(this.s[ne])<=ae+K*Te){this.s[ne]=0;break}}ne===Z?de=3:ne===_-1?de=1:(de=2,Z=ne)}switch(Z++,de){case 1:{var W=s[_-2];s[_-2]=0;for(var Ve=_-2;Ve>=Z;Ve--){var pe=n.hypot(this.s[Ve],W),Be=this.s[Ve]/pe,Ye=W/pe;if(this.s[Ve]=pe,Ve!==Z&&(W=-Ye*s[Ve-1],s[Ve-1]=Be*s[Ve-1]),h)for(var He=0;He=this.s[Z+1]);){var lt=this.s[Z];if(this.s[Z]=this.s[Z+1],this.s[Z+1]=lt,h&&ZMath.abs(a)?(s=a/i,s=Math.abs(i)*Math.sqrt(1+s*s)):a!=0?(s=i/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof B4=="object"&&typeof Iz=="object"?Iz.exports=r(Mz()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof B4=="object"?B4.coseBase=r(Mz()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(B4,function(t){return(()=>{"use strict";var e={45:((a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u}),806:((a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.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,a.exports=h}),767:((a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),880:((a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),578:((a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),765:((a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,T=l(551).DimensionD,S=l(551).Layout,w=l(551).Integer,k=l(551).IGeometry,C=l(551).LGraph,A=l(551).Transform,L=l(551).LinkedList;function I(){u.call(this),this.toBeTiled={},this.constraints={}}o(I,"CoSELayout"),I.prototype=Object.create(u.prototype);for(var R in u)I[R]=u[R];I.prototype.newGraphManager=function(){var E=new h(this);return this.graphManager=E,E},I.prototype.newGraph=function(E){return new f(null,this.graphManager,E)},I.prototype.newNode=function(E){return new d(this.graphManager,E)},I.prototype.newEdge=function(E){return new p(null,null,E)},I.prototype.initParameters=function(){u.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)},I.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},I.prototype.layout=function(){var E=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return E&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},I.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 _=new Set(this.getAllNodes()),D=this.nodesWithGravity.filter(function(P){return _.has(P)});this.graphManager.setAllNodesToApplyGravitation(D)}}else{var E=this.getFlatForest();if(E.length>0)this.positionNodesRadially(E);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),D=this.nodesWithGravity.filter(function(O){return _.has(O)});this.graphManager.setAllNodesToApplyGravitation(D),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},I.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 E=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(N){return E.has(N)});this.graphManager.setAllNodesToApplyGravitation(_),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 D=!this.isTreeGrowing&&!this.isGrowthFinished,O=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(D,O),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},I.prototype.getPositionsData=function(){for(var E=this.graphManager.getAllNodes(),_={},D=0;D0&&this.updateDisplacements();for(var D=0;D0&&(O.fixedNodeWeight=P)}}if(this.constraints.relativePlacementConstraint){var B=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Q){E.fixedNodesOnHorizontal.add(Q),E.fixedNodesOnVertical.add(Q)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var V=this.constraints.alignmentConstraint.vertical,D=0;D=2*Q.length/3;re--)ue=Math.floor(Math.random()*(re+1)),te=Q[re],Q[re]=Q[ue],Q[ue]=te;return Q},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(Q){if(Q.left){var ue=B.has(Q.left)?B.get(Q.left):Q.left,te=B.has(Q.right)?B.get(Q.right):Q.right;E.nodesInRelativeHorizontal.includes(ue)||(E.nodesInRelativeHorizontal.push(ue),E.nodeToRelativeConstraintMapHorizontal.set(ue,[]),E.dummyToNodeForVerticalAlignment.has(ue)?E.nodeToTempPositionMapHorizontal.set(ue,E.idToNodeMap.get(E.dummyToNodeForVerticalAlignment.get(ue)[0]).getCenterX()):E.nodeToTempPositionMapHorizontal.set(ue,E.idToNodeMap.get(ue).getCenterX())),E.nodesInRelativeHorizontal.includes(te)||(E.nodesInRelativeHorizontal.push(te),E.nodeToRelativeConstraintMapHorizontal.set(te,[]),E.dummyToNodeForVerticalAlignment.has(te)?E.nodeToTempPositionMapHorizontal.set(te,E.idToNodeMap.get(E.dummyToNodeForVerticalAlignment.get(te)[0]).getCenterX()):E.nodeToTempPositionMapHorizontal.set(te,E.idToNodeMap.get(te).getCenterX())),E.nodeToRelativeConstraintMapHorizontal.get(ue).push({right:te,gap:Q.gap}),E.nodeToRelativeConstraintMapHorizontal.get(te).push({left:ue,gap:Q.gap})}else{var re=F.has(Q.top)?F.get(Q.top):Q.top,J=F.has(Q.bottom)?F.get(Q.bottom):Q.bottom;E.nodesInRelativeVertical.includes(re)||(E.nodesInRelativeVertical.push(re),E.nodeToRelativeConstraintMapVertical.set(re,[]),E.dummyToNodeForHorizontalAlignment.has(re)?E.nodeToTempPositionMapVertical.set(re,E.idToNodeMap.get(E.dummyToNodeForHorizontalAlignment.get(re)[0]).getCenterY()):E.nodeToTempPositionMapVertical.set(re,E.idToNodeMap.get(re).getCenterY())),E.nodesInRelativeVertical.includes(J)||(E.nodesInRelativeVertical.push(J),E.nodeToRelativeConstraintMapVertical.set(J,[]),E.dummyToNodeForHorizontalAlignment.has(J)?E.nodeToTempPositionMapVertical.set(J,E.idToNodeMap.get(E.dummyToNodeForHorizontalAlignment.get(J)[0]).getCenterY()):E.nodeToTempPositionMapVertical.set(J,E.idToNodeMap.get(J).getCenterY())),E.nodeToRelativeConstraintMapVertical.get(re).push({bottom:J,gap:Q.gap}),E.nodeToRelativeConstraintMapVertical.get(J).push({top:re,gap:Q.gap})}});else{var U=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(Q){if(Q.left){var ue=B.has(Q.left)?B.get(Q.left):Q.left,te=B.has(Q.right)?B.get(Q.right):Q.right;U.has(ue)?U.get(ue).push(te):U.set(ue,[te]),U.has(te)?U.get(te).push(ue):U.set(te,[ue])}else{var re=F.has(Q.top)?F.get(Q.top):Q.top,J=F.has(Q.bottom)?F.get(Q.bottom):Q.bottom;j.has(re)?j.get(re).push(J):j.set(re,[J]),j.has(J)?j.get(J).push(re):j.set(J,[re])}});var ee=o(function(ue,te){var re=[],J=[],K=new L,ae=new Set,Z=0;return ue.forEach(function(de,ne){if(!ae.has(ne)){re[Z]=[],J[Z]=!1;var Te=ne;for(K.push(Te),ae.add(Te),re[Z].push(Te);K.length!=0;){Te=K.shift(),te.has(Te)&&(J[Z]=!0);var W=ue.get(Te);W.forEach(function(Ve){ae.has(Ve)||(K.push(Ve),ae.add(Ve),re[Z].push(Ve))})}Z++}}),{components:re,isFixed:J}},"constructComponents"),q=ee(U,E.fixedNodesOnHorizontal);this.componentsOnHorizontal=q.components,this.fixedComponentsOnHorizontal=q.isFixed;var oe=ee(j,E.fixedNodesOnVertical);this.componentsOnVertical=oe.components,this.fixedComponentsOnVertical=oe.isFixed}}},I.prototype.updateDisplacements=function(){var E=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(oe){var Q=E.idToNodeMap.get(oe.nodeId);Q.displacementX=0,Q.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var _=this.constraints.alignmentConstraint.vertical,D=0;D<_.length;D++){for(var O=0,N=0;N<_[D].length;N++){if(this.fixedNodeSet.has(_[D][N])){O=0;break}O+=this.idToNodeMap.get(_[D][N]).displacementX}for(var P=O/_[D].length,N=0;N<_[D].length;N++)this.idToNodeMap.get(_[D][N]).displacementX=P}if(this.constraints.alignmentConstraint.horizontal)for(var B=this.constraints.alignmentConstraint.horizontal,D=0;D1){var F;for(F=0;FO&&(O=Math.floor(B.y)),P=Math.floor(B.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-B.x/2,v.WORLD_CENTER_Y-B.y/2))},I.radialLayout=function(E,_,D){var O=Math.max(this.maxDiagonalInTree(E),m.DEFAULT_RADIAL_SEPARATION);I.branchRadialLayout(_,null,0,359,0,O);var N=C.calculateBounds(E),P=new A;P.setDeviceOrgX(N.getMinX()),P.setDeviceOrgY(N.getMinY()),P.setWorldOrgX(D.x),P.setWorldOrgY(D.y);for(var B=0;B1;){var re=te[0];te.splice(0,1);var J=ee.indexOf(re);J>=0&&ee.splice(J,1),Q--,q--}_!=null?ue=(ee.indexOf(te[0])+1)%Q:ue=0;for(var K=Math.abs(O-D)/q,ae=ue;oe!=q;ae=++ae%Q){var Z=ee[ae].getOtherEnd(E);if(Z!=_){var de=(D+oe*K)%360,ne=(de+K)%360;I.branchRadialLayout(Z,E,de,ne,N+P,P),oe++}}},I.maxDiagonalInTree=function(E){for(var _=w.MIN_VALUE,D=0;D_&&(_=N)}return _},I.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},I.prototype.groupZeroDegreeMembers=function(){var E=this,_={};this.memberGroups={},this.idToDummyNode={};for(var D=[],O=this.graphManager.getAllNodes(),N=0;N"u"&&(_[F]=[]),_[F]=_[F].concat(P)}Object.keys(_).forEach(function(V){if(_[V].length>1){var $="DummyCompound_"+V;E.memberGroups[$]=_[V];var U=_[V][0].getParent(),j=new d(E.graphManager);j.id=$,j.paddingLeft=U.paddingLeft||0,j.paddingRight=U.paddingRight||0,j.paddingBottom=U.paddingBottom||0,j.paddingTop=U.paddingTop||0,E.idToDummyNode[$]=j;var ee=E.getGraphManager().add(E.newGraph(),j),q=U.getChild();q.add(j);for(var oe=0;oe<_[V].length;oe++){var Q=_[V][oe];q.remove(Q),ee.add(Q)}}})},I.prototype.clearCompounds=function(){var E={},_={};this.performDFSOnCompounds();for(var D=0;DN?(O.rect.x-=(O.labelWidth-N)/2,O.setWidth(O.labelWidth),O.labelMarginLeft=(O.labelWidth-N)/2):O.labelPosHorizontal=="right"&&O.setWidth(N+O.labelWidth)),O.labelHeight&&(O.labelPosVertical=="top"?(O.rect.y-=O.labelHeight,O.setHeight(P+O.labelHeight),O.labelMarginTop=O.labelHeight):O.labelPosVertical=="center"&&O.labelHeight>P?(O.rect.y-=(O.labelHeight-P)/2,O.setHeight(O.labelHeight),O.labelMarginTop=(O.labelHeight-P)/2):O.labelPosVertical=="bottom"&&O.setHeight(P+O.labelHeight))}})},I.prototype.repopulateCompounds=function(){for(var E=this.compoundOrder.length-1;E>=0;E--){var _=this.compoundOrder[E],D=_.id,O=_.paddingLeft,N=_.paddingTop,P=_.labelMarginLeft,B=_.labelMarginTop;this.adjustLocations(this.tiledMemberPack[D],_.rect.x,_.rect.y,O,N,P,B)}},I.prototype.repopulateZeroDegreeMembers=function(){var E=this,_=this.tiledZeroDegreePack;Object.keys(_).forEach(function(D){var O=E.idToDummyNode[D],N=O.paddingLeft,P=O.paddingTop,B=O.labelMarginLeft,F=O.labelMarginTop;E.adjustLocations(_[D],O.rect.x,O.rect.y,N,P,B,F)})},I.prototype.getToBeTiled=function(E){var _=E.id;if(this.toBeTiled[_]!=null)return this.toBeTiled[_];var D=E.getChild();if(D==null)return this.toBeTiled[_]=!1,!1;for(var O=D.getNodes(),N=0;N0)return this.toBeTiled[_]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[_]=!1,!1}return this.toBeTiled[_]=!0,!0},I.prototype.getNodeDegree=function(E){for(var _=E.id,D=E.getEdges(),O=0,N=0;NU&&(U=ee.rect.height)}D+=U+E.verticalPadding}},I.prototype.tileCompoundMembers=function(E,_){var D=this;this.tiledMemberPack=[],Object.keys(E).forEach(function(O){var N=_[O];if(D.tiledMemberPack[O]=D.tileNodes(E[O],N.paddingLeft+N.paddingRight),N.rect.width=D.tiledMemberPack[O].width,N.rect.height=D.tiledMemberPack[O].height,N.setCenter(D.tiledMemberPack[O].centerX,D.tiledMemberPack[O].centerY),N.labelMarginLeft=0,N.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var P=N.rect.width,B=N.rect.height;N.labelWidth&&(N.labelPosHorizontal=="left"?(N.rect.x-=N.labelWidth,N.setWidth(P+N.labelWidth),N.labelMarginLeft=N.labelWidth):N.labelPosHorizontal=="center"&&N.labelWidth>P?(N.rect.x-=(N.labelWidth-P)/2,N.setWidth(N.labelWidth),N.labelMarginLeft=(N.labelWidth-P)/2):N.labelPosHorizontal=="right"&&N.setWidth(P+N.labelWidth)),N.labelHeight&&(N.labelPosVertical=="top"?(N.rect.y-=N.labelHeight,N.setHeight(B+N.labelHeight),N.labelMarginTop=N.labelHeight):N.labelPosVertical=="center"&&N.labelHeight>B?(N.rect.y-=(N.labelHeight-B)/2,N.setHeight(N.labelHeight),N.labelMarginTop=(N.labelHeight-B)/2):N.labelPosVertical=="bottom"&&N.setHeight(B+N.labelHeight))}})},I.prototype.tileNodes=function(E,_){var D=this.tileNodesByFavoringDim(E,_,!0),O=this.tileNodesByFavoringDim(E,_,!1),N=this.getOrgRatio(D),P=this.getOrgRatio(O),B;return PF&&(F=oe.getWidth())});var V=P/N,$=B/N,U=Math.pow(D-O,2)+4*(V+O)*($+D)*N,j=(O-D+Math.sqrt(U))/(2*(V+O)),ee;_?(ee=Math.ceil(j),ee==j&&ee++):ee=Math.floor(j);var q=ee*(V+O)-O;return F>q&&(q=F),q+=O*2,q},I.prototype.tileNodesByFavoringDim=function(E,_,D){var O=m.TILING_PADDING_VERTICAL,N=m.TILING_PADDING_HORIZONTAL,P=m.TILING_COMPARE_BY,B={rows:[],rowWidth:[],rowHeight:[],width:0,height:_,verticalPadding:O,horizontalPadding:N,centerX:0,centerY:0};P&&(B.idealRowWidth=this.calcIdealRowWidth(E,D));var F=o(function(Q){return Q.rect.width*Q.rect.height},"getNodeArea"),V=o(function(Q,ue){return F(ue)-F(Q)},"areaCompareFcn");E.sort(function(oe,Q){var ue=V;return B.idealRowWidth?(ue=P,ue(oe.id,Q.id)):ue(oe,Q)});for(var $=0,U=0,j=0;j0&&(B+=E.horizontalPadding),E.rowWidth[D]=B,E.width0&&(F+=E.verticalPadding);var V=0;F>E.rowHeight[D]&&(V=E.rowHeight[D],E.rowHeight[D]=F,V=E.rowHeight[D]-V),E.height+=V,E.rows[D].push(_)},I.prototype.getShortestRowIndex=function(E){for(var _=-1,D=Number.MAX_VALUE,O=0;OD&&(_=O,D=E.rowWidth[O]);return _},I.prototype.canAddHorizontal=function(E,_,D){if(E.idealRowWidth){var O=E.rows.length-1,N=E.rowWidth[O];return N+_+E.horizontalPadding<=E.idealRowWidth}var P=this.getShortestRowIndex(E);if(P<0)return!0;var B=E.rowWidth[P];if(B+E.horizontalPadding+_<=E.width)return!0;var F=0;E.rowHeight[P]0&&(F=D+E.verticalPadding-E.rowHeight[P]);var V;E.width-B>=_+E.horizontalPadding?V=(E.height+F)/(B+_+E.horizontalPadding):V=(E.height+F)/E.width,F=D+E.verticalPadding;var $;return E.width<_?$=(E.height+F)/_:$=(E.height+F)/E.width,$<1&&($=1/$),V<1&&(V=1/V),V<$},I.prototype.shiftToLastRow=function(E){var _=this.getLongestRowIndex(E),D=E.rowWidth.length-1,O=E.rows[_],N=O[O.length-1],P=N.width+E.horizontalPadding;if(E.width-E.rowWidth[D]>P&&_!=D){O.splice(-1,1),E.rows[D].push(N),E.rowWidth[_]=E.rowWidth[_]-P,E.rowWidth[D]=E.rowWidth[D]+P,E.width=E.rowWidth[instance.getLongestRowIndex(E)];for(var B=Number.MIN_VALUE,F=0;FB&&(B=O[F].height);_>0&&(B+=E.verticalPadding);var V=E.rowHeight[_]+E.rowHeight[D];E.rowHeight[_]=B,E.rowHeight[D]0)for(var q=N;q<=P;q++)ee[0]+=this.grid[q][B-1].length+this.grid[q][B].length-1;if(P0)for(var q=B;q<=F;q++)ee[3]+=this.grid[N-1][q].length+this.grid[N][q].length-1;for(var oe=w.MAX_VALUE,Q,ue,te=0;te{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var et=0;Oe.forEach(function(lt){he=="horizontal"?(ye.set(lt,x.has(lt)?b[x.get(lt)]:se.get(lt)),et+=ye.get(lt)):(ye.set(lt,x.has(lt)?T[x.get(lt)]:se.get(lt)),et+=ye.get(lt))}),et=et/Oe.length,We.forEach(function(lt){z.has(lt)||ye.set(lt,et)})}else{var Ue=0;We.forEach(function(lt){he=="horizontal"?Ue+=x.has(lt)?b[x.get(lt)]:se.get(lt):Ue+=x.has(lt)?T[x.get(lt)]:se.get(lt)}),Ue=Ue/We.length,We.forEach(function(lt){ye.set(lt,Ue)})}});for(var ze=o(function(){var Oe=_e.shift(),et=Y.get(Oe);et.forEach(function(Ue){if(ye.get(Ue.id)lt&&(lt=yt),ftGt&&(Gt=ft)}}catch(Ct){Lt=!0,dt=Ct}finally{try{!vt&&nt.return&&nt.return()}finally{if(Lt)throw dt}}var Ur=(et+lt)/2-(Ue+Gt)/2,_t=!0,bn=!1,Br=void 0;try{for(var cr=We[Symbol.iterator](),ar;!(_t=(ar=cr.next()).done);_t=!0){var _r=ar.value;ye.set(_r,ye.get(_r)+Ur)}}catch(Ct){bn=!0,Br=Ct}finally{try{!_t&&cr.return&&cr.return()}finally{if(bn)throw Br}}})}return ye},"findAppropriatePositionForRelativePlacement"),R=o(function(Y){var he=0,z=0,se=0,le=0;if(Y.forEach(function(Re){Re.left?b[x.get(Re.left)]-b[x.get(Re.right)]>=0?he++:z++:T[x.get(Re.top)]-T[x.get(Re.bottom)]>=0?se++:le++}),he>z&&se>le)for(var ke=0;kez)for(var ve=0;vele)for(var ye=0;ye1)y.fixedNodeConstraint.forEach(function(xe,Y){O[Y]=[xe.position.x,xe.position.y],N[Y]=[b[x.get(xe.nodeId)],T[x.get(xe.nodeId)]]}),P=!0;else if(y.alignmentConstraint)(function(){var xe=0;if(y.alignmentConstraint.vertical){for(var Y=y.alignmentConstraint.vertical,he=o(function(ye){var Re=new Set;Y[ye].forEach(function(Ke){Re.add(Ke)});var _e=new Set([].concat(u(Re)).filter(function(Ke){return F.has(Ke)})),ze=void 0;_e.size>0?ze=b[x.get(_e.values().next().value)]:ze=L(Re).x,Y[ye].forEach(function(Ke){O[xe]=[ze,T[x.get(Ke)]],N[xe]=[b[x.get(Ke)],T[x.get(Ke)]],xe++})},"_loop2"),z=0;z0?ze=b[x.get(_e.values().next().value)]:ze=L(Re).y,se[ye].forEach(function(Ke){O[xe]=[b[x.get(Ke)],ze],N[xe]=[b[x.get(Ke)],T[x.get(Ke)]],xe++})},"_loop3"),ke=0;kej&&(j=U[q].length,ee=q);if(j<$.size/2)R(y.relativePlacementConstraint),P=!1,B=!1;else{var oe=new Map,Q=new Map,ue=[];U[ee].forEach(function(xe){V.get(xe).forEach(function(Y){Y.direction=="horizontal"?(oe.has(xe)?oe.get(xe).push(Y):oe.set(xe,[Y]),oe.has(Y.id)||oe.set(Y.id,[]),ue.push({left:xe,right:Y.id})):(Q.has(xe)?Q.get(xe).push(Y):Q.set(xe,[Y]),Q.has(Y.id)||Q.set(Y.id,[]),ue.push({top:xe,bottom:Y.id}))})}),R(ue),B=!1;var te=I(oe,"horizontal"),re=I(Q,"vertical");U[ee].forEach(function(xe,Y){N[Y]=[b[x.get(xe)],T[x.get(xe)]],O[Y]=[],te.has(xe)?O[Y][0]=te.get(xe):O[Y][0]=b[x.get(xe)],re.has(xe)?O[Y][1]=re.get(xe):O[Y][1]=T[x.get(xe)]}),P=!0}}if(P){for(var J=void 0,K=d.transpose(O),ae=d.transpose(N),Z=0;Z0){var Be={x:0,y:0};y.fixedNodeConstraint.forEach(function(xe,Y){var he={x:b[x.get(xe.nodeId)],y:T[x.get(xe.nodeId)]},z=xe.position,se=A(z,he);Be.x+=se.x,Be.y+=se.y}),Be.x/=y.fixedNodeConstraint.length,Be.y/=y.fixedNodeConstraint.length,b.forEach(function(xe,Y){b[Y]+=Be.x}),T.forEach(function(xe,Y){T[Y]+=Be.y}),y.fixedNodeConstraint.forEach(function(xe){b[x.get(xe.nodeId)]=xe.position.x,T[x.get(xe.nodeId)]=xe.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Ye=y.alignmentConstraint.vertical,He=o(function(Y){var he=new Set;Ye[Y].forEach(function(le){he.add(le)});var z=new Set([].concat(u(he)).filter(function(le){return F.has(le)})),se=void 0;z.size>0?se=b[x.get(z.values().next().value)]:se=L(he).x,he.forEach(function(le){F.has(le)||(b[x.get(le)]=se)})},"_loop4"),Le=0;Le0?se=T[x.get(z.values().next().value)]:se=L(he).y,he.forEach(function(le){F.has(le)||(T[x.get(le)]=se)})},"_loop5"),Ce=0;Ce{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(45);return i})()})});var P4e=sa((F4,Pz)=>{"use strict";o((function(e,r){typeof F4=="object"&&typeof Pz=="object"?Pz.exports=r(Oz()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof F4=="object"?F4.cytoscapeFcose=r(Oz()):e.cytoscapeFcose=r(e.coseBase)}),"webpackUniversalModuleDefinition")(F4,function(t){return(()=>{"use strict";var e={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=(function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),T;!(y=(T=b.next()).done)&&(g.push(T.value),!(m&&g.length===m));y=!0);}catch(S){v=!0,x=S}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&P.merge($)});for(var B=0;B1){T=x[0],S=T.connectedEdges().length,x.forEach(function(N){N.connectedEdges().length0&&g.set("dummy"+(g.size+1),C),A},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,T=!1,S=void 0;try{for(var w=p.nodeIndexes[Symbol.iterator](),k;!(b=(k=w.next()).done);b=!0){var C=k.value,A=u(C,2),L=A[0],I=A[1],R=m.cy.getElementById(L);if(R){var E=R.boundingBox(),_=p.xCoords[I]-E.w/2,D=p.xCoords[I]+E.w/2,O=p.yCoords[I]-E.h/2,N=p.yCoords[I]+E.h/2;_y&&(y=D),Ox&&(x=N)}}}catch($){T=!0,S=$}finally{try{!b&&w.return&&w.return()}finally{if(T)throw S}}var P=d.x-(y+g)/2,B=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function($){return $+P}),p.yCoords=p.yCoords.map(function($){return $+B})}else{Object.keys(p).forEach(function($){var U=p[$],j=U.getRect().x,ee=U.getRect().x+U.getRect().width,q=U.getRect().y,oe=U.getRect().y+U.getRect().height;jy&&(y=ee),qx&&(x=oe)});var F=d.x-(y+g)/2,V=d.y-(x+v)/2;Object.keys(p).forEach(function($){var U=p[$];U.setCenter(U.getCenterX()+F,U.getCenterY()+V)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,T=void 0,S=void 0,w=void 0,k=void 0,C=d.descendants().not(":parent"),A=C.length,L=0;LT&&(y=T),vw&&(x=w),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,T){var S=b.cy,w=b.eles,k=w.nodes(),C=w.edges(),A=void 0,L=void 0,I=void 0,R={};b.randomize&&(A=T.nodeIndexes,L=T.xCoords,I=T.yCoords);var E=o(function($){return typeof $=="function"},"isFn"),_=o(function($,U){return E($)?$(U):$},"optFn"),D=u.calcParentsWithoutChildren(S,w),O=o(function V($,U,j,ee){for(var q=U.length,oe=0;oe0){var K=void 0;K=j.getGraphManager().add(j.newGraph(),te),V(K,ue,j,ee)}}},"processChildrenList"),N=o(function($,U,j){for(var ee=0,q=0,oe=0;oe0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=ee/q:E(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),P=o(function($,U){U.fixedNodeConstraint&&($.constraints.fixedNodeConstraint=U.fixedNodeConstraint),U.alignmentConstraint&&($.constraints.alignmentConstraint=U.alignmentConstraint),U.relativePlacementConstraint&&($.constraints.relativePlacementConstraint=U.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var B=new h,F=B.newGraphManager();return O(F.addRoot(),u.getTopMostNodes(k),B,b),N(B,F,C),P(B,b),B.runLayout(),R},"coseLayout");a.exports={coseLayout:v}}),212:((a,s,l)=>{var u=(function(){function b(T,S){for(var w=0;w0)if(N){var F=d.getTopMostNodes(w.eles.nodes());if(E=d.connectComponents(k,w.eles,F),E.forEach(function(Te){var W=Te.boundingBox();_.push({x:W.x1+W.w/2,y:W.y1+W.h/2})}),w.randomize&&E.forEach(function(Te){w.eles=Te,A.push(m(w))}),w.quality=="default"||w.quality=="proof"){var V=k.collection();if(w.tile){var $=new Map,U=[],j=[],ee=0,q={nodeIndexes:$,xCoords:U,yCoords:j},oe=[];if(E.forEach(function(Te,W){Te.edges().length==0&&(Te.nodes().forEach(function(Ve,pe){V.merge(Te.nodes()[pe]),Ve.isParent()||(q.nodeIndexes.set(Te.nodes()[pe].id(),ee++),q.xCoords.push(Te.nodes()[0].position().x),q.yCoords.push(Te.nodes()[0].position().y))}),oe.push(W))}),V.length>1){var Q=V.boundingBox();_.push({x:Q.x1+Q.w/2,y:Q.y1+Q.h/2}),E.push(V),A.push(q);for(var ue=oe.length-1;ue>=0;ue--)E.splice(oe[ue],1),A.splice(oe[ue],1),_.splice(oe[ue],1)}}E.forEach(function(Te,W){w.eles=Te,R.push(y(w,A[W])),d.relocateComponent(_[W],R[W],w)})}else E.forEach(function(Te,W){d.relocateComponent(_[W],A[W],w)});var te=new Set;if(E.length>1){var re=[],J=C.filter(function(Te){return Te.css("display")=="none"});E.forEach(function(Te,W){var Ve=void 0;if(w.quality=="draft"&&(Ve=A[W].nodeIndexes),Te.nodes().not(J).length>0){var pe={};pe.edges=[],pe.nodes=[];var Be=void 0;Te.nodes().not(J).forEach(function(Ye){if(w.quality=="draft")if(!Ye.isParent())Be=Ve.get(Ye.id()),pe.nodes.push({x:A[W].xCoords[Be]-Ye.boundingbox().w/2,y:A[W].yCoords[Be]-Ye.boundingbox().h/2,width:Ye.boundingbox().w,height:Ye.boundingbox().h});else{var He=d.calcBoundingBox(Ye,A[W].xCoords,A[W].yCoords,Ve);pe.nodes.push({x:He.topLeftX,y:He.topLeftY,width:He.width,height:He.height})}else R[W][Ye.id()]&&pe.nodes.push({x:R[W][Ye.id()].getLeft(),y:R[W][Ye.id()].getTop(),width:R[W][Ye.id()].getWidth(),height:R[W][Ye.id()].getHeight()})}),Te.edges().forEach(function(Ye){var He=Ye.source(),Le=Ye.target();if(He.css("display")!="none"&&Le.css("display")!="none")if(w.quality=="draft"){var Ie=Ve.get(He.id()),Ne=Ve.get(Le.id()),Ce=[],Fe=[];if(He.isParent()){var fe=d.calcBoundingBox(He,A[W].xCoords,A[W].yCoords,Ve);Ce.push(fe.topLeftX+fe.width/2),Ce.push(fe.topLeftY+fe.height/2)}else Ce.push(A[W].xCoords[Ie]),Ce.push(A[W].yCoords[Ie]);if(Le.isParent()){var xe=d.calcBoundingBox(Le,A[W].xCoords,A[W].yCoords,Ve);Fe.push(xe.topLeftX+xe.width/2),Fe.push(xe.topLeftY+xe.height/2)}else Fe.push(A[W].xCoords[Ne]),Fe.push(A[W].yCoords[Ne]);pe.edges.push({startX:Ce[0],startY:Ce[1],endX:Fe[0],endY:Fe[1]})}else R[W][He.id()]&&R[W][Le.id()]&&pe.edges.push({startX:R[W][He.id()].getCenterX(),startY:R[W][He.id()].getCenterY(),endX:R[W][Le.id()].getCenterX(),endY:R[W][Le.id()].getCenterY()})}),pe.nodes.length>0&&(re.push(pe),te.add(W))}});var K=O.packComponents(re,w.randomize).shifts;if(w.quality=="draft")A.forEach(function(Te,W){var Ve=Te.xCoords.map(function(Be){return Be+K[W].dx}),pe=Te.yCoords.map(function(Be){return Be+K[W].dy});Te.xCoords=Ve,Te.yCoords=pe});else{var ae=0;te.forEach(function(Te){Object.keys(R[Te]).forEach(function(W){var Ve=R[Te][W];Ve.setCenter(Ve.getCenterX()+K[ae].dx,Ve.getCenterY()+K[ae].dy)}),ae++})}}}else{var P=w.eles.boundingBox();if(_.push({x:P.x1+P.w/2,y:P.y1+P.h/2}),w.randomize){var B=m(w);A.push(B)}w.quality=="default"||w.quality=="proof"?(R.push(y(w,A[0])),d.relocateComponent(_[0],R[0],w)):d.relocateComponent(_[0],A[0],w)}var Z=o(function(W,Ve){if(w.quality=="default"||w.quality=="proof"){typeof W=="number"&&(W=Ve);var pe=void 0,Be=void 0,Ye=W.data("id");return R.forEach(function(Le){Ye in Le&&(pe={x:Le[Ye].getRect().getCenterX(),y:Le[Ye].getRect().getCenterY()},Be=Le[Ye])}),w.nodeDimensionsIncludeLabels&&(Be.labelWidth&&(Be.labelPosHorizontal=="left"?pe.x+=Be.labelWidth/2:Be.labelPosHorizontal=="right"&&(pe.x-=Be.labelWidth/2)),Be.labelHeight&&(Be.labelPosVertical=="top"?pe.y+=Be.labelHeight/2:Be.labelPosVertical=="bottom"&&(pe.y-=Be.labelHeight/2))),pe==null&&(pe={x:W.position("x"),y:W.position("y")}),{x:pe.x,y:pe.y}}else{var He=void 0;return A.forEach(function(Le){var Ie=Le.nodeIndexes.get(W.id());Ie!=null&&(He={x:Le.xCoords[Ie],y:Le.yCoords[Ie]})}),He==null&&(He={x:W.position("x"),y:W.position("y")}),{x:He.x,y:He.y}}},"getPositions");if(w.quality=="default"||w.quality=="proof"||w.randomize){var de=d.calcParentsWithoutChildren(k,C),ne=C.filter(function(Te){return Te.css("display")=="none"});w.eles=C.not(ne),C.nodes().not(":parent").not(ne).layoutPositions(S,w,Z),de.length>0&&de.forEach(function(Te){Te.position(Z(Te))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b})();a.exports=x}),657:((a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,T=new Map,S=new Map,w=[],k=[],C=[],A=[],L=[],I=[],R=[],E=[],_=void 0,D=void 0,O=1e8,N=1e-9,P=m.piTol,B=m.samplingType,F=m.nodeSeparation,V=void 0,$=o(function(){for(var he=0,z=0,se=!1;z=ke;){ye=le[ke++];for(var We=w[ye],Oe=0;Oeze&&(ze=L[Ue],Ke=Ue)}return Ke},"BFS"),j=o(function(he){var z=void 0;if(he){z=Math.floor(Math.random()*D),_=z;for(var le=0;le=1)break;ze=_e}for(var We=0;We=1)break;ze=_e}for(var et=0;et0&&(z.isParent()?w[he].push(S.get(z.id())):w[he].push(z.id()))})});var de=o(function(he){var z=T.get(he),se=void 0;b.get(he).forEach(function(le){g.getElementById(le).isParent()?se=S.get(le):se=le,w[z].push(se),w[T.get(se)].push(he)})},"_loop"),ne=!0,Te=!1,W=void 0;try{for(var Ve=b.keys()[Symbol.iterator](),pe;!(ne=(pe=Ve.next()).done);ne=!0){var Be=pe.value;de(Be)}}catch(Y){Te=!0,W=Y}finally{try{!ne&&Ve.return&&Ve.return()}finally{if(Te)throw W}}D=T.size;var Ye=void 0;if(D>2){V=D{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h}),140:(a=>{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(579);return i})()})});var by,m0,Bz=M(()=>{"use strict";nc();by=o(t=>`${t}`,"wrapIcon"),m0={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:by('')},server:{body:by('')},disk:{body:by('')},internet:{body:by('')},cloud:{body:by('')},unknown:AA,blank:{body:by("")}}}});var B4e,F4e,$4e,z4e,G4e=M(()=>{"use strict";Xt();zo();nc();gr();Bz();PC();tr();B4e=o(async function(t,e,r){let n=r.getConfigField("padding"),i=r.getConfigField("iconSize"),a=i/2,s=i/6,l=s/2;await Promise.all(e.edges().map(async u=>{let{source:h,sourceDir:f,sourceArrow:d,sourceGroup:p,target:m,targetDir:g,targetArrow:y,targetGroup:v,label:x}=OC(u),{x:b,y:T}=u[0].sourceEndpoint(),{x:S,y:w}=u[0].midpoint(),{x:k,y:C}=u[0].targetEndpoint(),A=n+4;if(p&&(Xa(f)?b+=f==="L"?-A:A:T+=f==="T"?-A:A+18),v&&(Xa(g)?k+=g==="L"?-A:A:C+=g==="T"?-A:A+18),!p&&r.getNode(h)?.type==="junction"&&(Xa(f)?b+=f==="L"?a:-a:T+=f==="T"?a:-a),!v&&r.getNode(m)?.type==="junction"&&(Xa(g)?k+=g==="L"?a:-a:C+=g==="T"?a:-a),u[0]._private.rscratch){let L=t.insert("g");if(L.insert("path").attr("d",`M ${b},${T} L ${S},${w} L${k},${C} `).attr("class","edge").attr("id",xc(h,m,{prefix:"L"})),d){let I=Xa(f)?M4[f](b,s):b-l,R=nu(f)?M4[f](T,s):T-l;L.insert("polygon").attr("points",_z[f](s)).attr("transform",`translate(${I},${R})`).attr("class","arrow")}if(y){let I=Xa(g)?M4[g](k,s):k-l,R=nu(g)?M4[g](C,s):C-l;L.insert("polygon").attr("points",_z[g](s)).attr("transform",`translate(${I},${R})`).attr("class","arrow")}if(x){let I=I4(f,g)?"XY":Xa(f)?"X":"Y",R=0;I==="X"?R=Math.abs(b-k):I==="Y"?R=Math.abs(T-C)/1.5:R=Math.abs(b-k)/2;let E=L.append("g");if(await di(E,x,{useHtmlLabels:!1,width:R,classes:"architecture-service-label"},ge()),E.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),I==="X")E.attr("transform","translate("+S+", "+w+")");else if(I==="Y")E.attr("transform","translate("+S+", "+w+") rotate(-90)");else if(I==="XY"){let _=O4(f,g);if(_&&A4e(_)){let D=E.node().getBoundingClientRect(),[O,N]=D4e(_);E.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*O*N*45})`);let P=E.node().getBoundingClientRect();E.attr("transform",` + translate(${S}, ${w-D.height/2}) + translate(${O*P.width/2}, ${N*P.height/2}) + rotate(${-1*O*N*45}, 0, ${D.height/2}) + `)}}}}}))},"drawEdges"),F4e=o(async function(t,e,r){let i=r.getConfigField("padding")*.75,a=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{let h=td(u);if(h.type==="group"){let{h:f,w:d,x1:p,y1:m}=u.boundingBox(),g=t.append("rect");g.attr("id",`group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",d).attr("height",f).attr("class","node-bkg");let y=t.append("g"),v=p,x=m;if(h.icon){let b=y.append("g");b.html(`${await _s(h.icon,{height:i,width:i,fallbackPrefix:m0.prefix})}`),b.attr("transform","translate("+(v+l+1)+", "+(x+l+1)+")"),v+=i,x+=a/2-1-2}if(h.label){let b=y.append("g");await di(b,h.label,{useHtmlLabels:!1,width:d,classes:"architecture-service-label"},ge()),b.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),b.attr("transform","translate("+(v+l+4)+", "+(x+l+2)+")")}r.setElementForId(h.id,g)}}))},"drawGroups"),$4e=o(async function(t,e,r){let n=ge();for(let i of r){let a=e.append("g"),s=t.getConfigField("iconSize");if(i.title){let f=a.append("g");await di(f,i.title,{useHtmlLabels:!1,width:s*1.5,classes:"architecture-service-label"},n),f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),f.attr("transform","translate("+s/2+", "+s+")")}let l=a.append("g");if(i.icon)l.html(`${await _s(i.icon,{height:s,width:s,fallbackPrefix:m0.prefix})}`);else if(i.iconText){l.html(`${await _s("blank",{height:s,width:s,fallbackPrefix:m0.prefix})}`);let p=l.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(sr(i.iconText,n)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id","node-"+i.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`);a.attr("id",`service-${i.id}`).attr("class","architecture-service");let{width:u,height:h}=a.node().getBBox();i.width=u,i.height=h,t.setElementForId(i.id,a)}return 0},"drawServices"),z4e=o(function(t,e,r){r.forEach(n=>{let i=e.append("g"),a=t.getConfigField("iconSize");i.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",a).attr("height",a),i.attr("class","architecture-junction");let{width:l,height:u}=i._groups[0][0].getBBox();i.width=l,i.height=u,t.setElementForId(n.id,i)})},"drawJunctions")});function Iit(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"})})}function Oit(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"})})}function Pit(t,e){e.nodes().map(r=>{let n=td(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)+")")})}function Bit(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"})})}function Fit(t,e){t.forEach(r=>{let{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=I4(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${n}-${i}`,label:d,source:n,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:i,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function $it(t,e,r){let n=o((l,u)=>Object.entries(l).reduce((h,[f,d])=>{let p=0,m=Object.entries(d);if(m.length===1)return h[f]=m[0][1],h;for(let g=0;g{let u={},h={};return Object.entries(l).forEach(([f,[d,p]])=>{let m=t.getNode(f)?.in??"default";u[p]??={},u[p][m]??=[],u[p][m].push(f),h[d]??={},h[d][m]??=[],h[d][m].push(f)}),{horiz:Object.values(n(u,"horizontal")).filter(f=>f.length>1),vert:Object.values(n(h,"vertical")).filter(f=>f.length>1)}}),[a,s]=i.reduce(([l,u],{horiz:h,vert:f})=>[[...l,...h],[...u,...f]],[[],[]]);return{horizontal:a,vertical:s}}function zit(t,e){let r=[],n=o(a=>`${a[0]},${a[1]}`,"posToStr"),i=o(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{let s=Object.fromEntries(Object.entries(a).map(([f,d])=>[n(d),f])),l=[n([0,0])],u={},h={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;l.length>0;){let f=l.shift();if(f){u[f]=1;let d=s[f];if(d){let p=i(f);Object.entries(h).forEach(([m,g])=>{let y=n([p[0]+g[0],p[1]+g[1]]),v=s[y];v&&!u[y]&&(l.push(y),r.push({[Az[m]]:v,[Az[C4e(m)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}function Git(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(l=>{let u=qe("body").append("div").attr("id","cy").attr("style","display:none"),h=Ko({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{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}}});u.remove(),Bit(r,h),Iit(t,h,i),Oit(e,h,i),Fit(n,h);let f=$it(i,a,s),d=zit(a,i),p=h.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(m){let[g,y]=m.connectedNodes(),{parent:v}=td(g),{parent:x}=td(y);return v===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(m){let[g,y]=m.connectedNodes(),{parent:v}=td(g),{parent:x}=td(y);return v===x?.45:.001},alignmentConstraint:f,relativePlacementConstraint:d});p.one("layoutstop",()=>{function m(g,y,v,x){let b,T,{x:S,y:w}=g,{x:k,y:C}=y;T=(x-w+(S-v)*(w-C)/(S-k))/Math.sqrt(1+Math.pow((w-C)/(S-k),2)),b=Math.sqrt(Math.pow(x-w,2)+Math.pow(v-S,2)-Math.pow(T,2));let A=Math.sqrt(Math.pow(k-S,2)+Math.pow(C-w,2));b=b/A;let L=(k-S)*(x-w)-(C-w)*(v-S);switch(!0){case L>=0:L=1;break;case L<0:L=-1;break}let I=(k-S)*(v-S)+(C-w)*(x-w);switch(!0){case I>=0:I=1;break;case I<0:I=-1;break}return T=Math.abs(T)*L,b=b*I,{distances:T,weights:b}}o(m,"getSegmentWeights"),h.startBatch();for(let g of Object.values(h.edges()))if(g.data?.()){let{x:y,y:v}=g.source().position(),{x,y:b}=g.target().position();if(y!==x&&v!==b){let T=g.sourceEndpoint(),S=g.targetEndpoint(),{sourceDir:w}=OC(g),[k,C]=nu(w)?[T.x,S.y]:[S.x,T.y],{weights:A,distances:L}=m(T,S,k,C);g.style("segment-distances",L),g.style("segment-weights",A)}}h.endBatch(),p.run()}),p.run(),h.ready(m=>{X.info("Ready",m),l(h)})})}var V4e,Vit,U4e,H4e=M(()=>{"use strict";II();V4e=La(P4e(),1);yr();pt();nc();tu();Ei();Bz();PC();G4e();P3([{name:m0.prefix,icons:m0}]);Ko.use(V4e.default);o(Iit,"addServices");o(Oit,"addJunctions");o(Pit,"positionNodes");o(Bit,"addGroups");o(Fit,"addEdges");o($it,"getAlignments");o(zit,"getRelativeConstraints");o(Git,"layoutArchitecture");Vit=o(async(t,e,r,n)=>{let i=n.db,a=i.getServices(),s=i.getJunctions(),l=i.getGroups(),u=i.getEdges(),h=i.getDataStructures(),f=aa(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await $4e(i,p,a),z4e(i,p,s);let g=await Git(a,s,l,u,i,h);await B4e(d,g,i),await F4e(m,g,i),Pit(i,g),ic(void 0,f,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),U4e={draw:Vit}});var q4e={};dr(q4e,{diagram:()=>Uit});var Uit,W4e=M(()=>{"use strict";M4e();Lz();O4e();H4e();Uit={parser:Rz,get db(){return new xy},renderer:U4e,styles:I4e}});var Ty,Fz=M(()=>{"use strict";Ra();qn();tr();$t();ci();Ty=class{constructor(){this.nodes=[];this.levels=new Map;this.outerNodes=[];this.classes=new Map;this.setAccTitle=Rr;this.getAccTitle=Mr;this.setDiagramTitle=$r;this.getDiagramTitle=Pr;this.getAccDescription=Or;this.setAccDescription=Ir}static{o(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=ur,r=Qt();return Vn({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{D2(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Sr(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}}});function j4e(t){if(!t.length)return[];let e=[],r=[];return t.forEach(n=>{let i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,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{let 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}var K4e=M(()=>{"use strict";o(j4e,"buildHierarchy")});var Yit,Xit,$z,Q4e=M(()=>{"use strict";Uf();pt();r0();K4e();Fz();Yit=o((t,e)=>{nl(t,e);let r=[];for(let a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(let a of t.TreemapRows??[]){let s=a.item;if(!s)continue;let l=a.indent?parseInt(a.indent):0,u=Xit(s),h=s.classSelector?e.getStylesForClass(s.classSelector):[],f=h.length>0?h.join(";"):void 0,d={level:l,name:u,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:f};r.push(d)}let n=j4e(r),i=o((a,s)=>{for(let l of a)e.addNode(l,s),l.children&&l.children.length>0&&i(l.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Xit=o(t=>t.name?String(t.name):"","getItemName"),$z={parser:{yy:void 0},parse:o(async t=>{try{let r=await bs("treemap",t);X.debug("Treemap AST:",r);let n=$z.parser?.yy;if(!(n instanceof Ty))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.");Yit(r,n)}catch(e){throw X.error("Error parsing treemap:",e),e}},"parse")}});var jit,wy,$4,Kit,Qit,Z4e,J4e=M(()=>{"use strict";tu();Mf();Ei();yr();$t();qn();pt();jit=10,wy=10,$4=25,Kit=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),s=a.padding??jit,l=i.getDiagramTitle(),u=i.getRoot(),{themeVariables:h}=Qt();if(!u)return;let f=l?30:0,d=aa(e),p=a.nodeWidth?a.nodeWidth*wy:960,m=a.nodeHeight?a.nodeHeight*wy:500,g=p,y=m+f;d.attr("viewBox",`0 0 ${g} ${y}`),mn(d,y,g,a.useMaxWidth);let v;try{let D=a.valueFormat||",";if(D==="$0,0")v=o(O=>"$"+cc(",")(O),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){let O=/\.\d+/.exec(D),N=O?O[0]:"";v=o(P=>"$"+cc(","+N)(P),"valueFormat")}else if(D.startsWith("$")){let O=D.substring(1);v=o(N=>"$"+cc(O||"")(N),"valueFormat")}else v=cc(D)}catch(D){X.error("Error creating format function:",D),v=cc(",")}let x=no().range(["transparent",h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),b=no().range(["transparent",h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),T=no().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);l&&d.append("text").attr("x",g/2).attr("y",f/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(l);let S=d.append("g").attr("transform",`translate(0, ${f})`).attr("class","treemapContainer"),w=U0(u).sum(D=>D.value??0).sort((D,O)=>(O.value??0)-(D.value??0)),C=N5().size([p,m]).paddingTop(D=>D.children&&D.children.length>0?$4+wy:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?wy:0).paddingRight(D=>D.children&&D.children.length>0?wy:0).paddingBottom(D=>D.children&&D.children.length>0?wy:0).round(!0)(w),A=C.descendants().filter(D=>D.children&&D.children.length>0),L=S.selectAll(".treemapSection").data(A).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);L.append("rect").attr("width",D=>D.x1-D.x0).attr("height",$4).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),L.append("clipPath").attr("id",(D,O)=>`clip-section-${e}-${O}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",$4),L.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,O)=>`treemapSection section${O}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>b(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";let O=je({cssCompiledStyles:D.data.cssCompiledStyles});return O.nodeStyles+";"+O.borderStyles.join(";")}),L.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",$4/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";let O="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=je({cssCompiledStyles:D.data.cssCompiledStyles});return O+N.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;let O=qe(this),N=D.data.name;O.text(N);let P=D.x1-D.x0,B=6,F;a.showValues!==!1&&D.value?F=P-10-30-10-B:F=P-B-6;let $=Math.max(15,F),U=O.node();if(U.getComputedTextLength()>$){let q=N;for(;q.length>0;){if(q=N.substring(0,q.length-1),q.length===0){O.text("..."),U.getComputedTextLength()>$&&O.text("");break}if(O.text(q+"..."),U.getComputedTextLength()<=$)break}}}),a.showValues!==!1&&L.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",$4/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?v(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";let O="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",N=je({cssCompiledStyles:D.data.cssCompiledStyles});return O+N.labelStyles.replace("color:","fill:")});let I=C.leaves(),R=S.selectAll(".treemapLeafGroup").data(I).enter().append("g").attr("class",(D,O)=>`treemapNode treemapLeafGroup leaf${O}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);R.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>je({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),R.append("clipPath").attr("id",(D,O)=>`clip-${e}-${O}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),R.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{let O="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",N=je({cssCompiledStyles:D.data.cssCompiledStyles});return O+N.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,O)=>`url(#clip-${e}-${O})`).text(D=>D.data.name).each(function(D){let O=qe(this),N=D.x1-D.x0,P=D.y1-D.y0,B=O.node(),F=4,V=N-2*F,$=P-2*F;if(V<10||$<10){O.style("display","none");return}let U=parseInt(O.style("font-size"),10),j=8,ee=28,q=.6,oe=6,Q=2;for(;B.getComputedTextLength()>V&&U>j;)U--,O.style("font-size",`${U}px`);let ue=Math.max(oe,Math.min(ee,Math.round(U*q))),te=U+Q+ue;for(;te>$&&U>j&&(U--,ue=Math.max(oe,Math.min(ee,Math.round(U*q))),!(ue$;O.style("font-size",`${U}px`),(B.getComputedTextLength()>V||U(O.x1-O.x0)/2).attr("y",function(O){return(O.y1-O.y0)/2}).attr("style",O=>{let N="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(O.data.name)+";",P=je({cssCompiledStyles:O.data.cssCompiledStyles});return N+P.labelStyles.replace("color:","fill:")}).attr("clip-path",(O,N)=>`url(#clip-${e}-${N})`).text(O=>O.value?v(O.value):"").each(function(O){let N=qe(this),P=this.parentNode;if(!P){N.style("display","none");return}let B=qe(P).select(".treemapLabel");if(B.empty()||B.style("display")==="none"){N.style("display","none");return}let F=parseFloat(B.style("font-size")),V=28,$=.6,U=6,j=2,ee=Math.max(U,Math.min(V,Math.round(F*$)));N.style("font-size",`${ee}px`);let oe=(O.y1-O.y0)/2+F/2+j;N.attr("y",oe);let Q=O.x1-O.x0,re=O.y1-O.y0-4,J=Q-8;N.node().getComputedTextLength()>J||oe+ee>re||ee{"use strict";tr();Zit={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},Jit=o(({treemap:t}={})=>{let e=Vn(Zit,t);return` + .treemapNode.section { + stroke: ${e.sectionStrokeColor}; + stroke-width: ${e.sectionStrokeWidth}; + fill: ${e.sectionFillColor}; + } + .treemapNode.leaf { + stroke: ${e.leafStrokeColor}; + stroke-width: ${e.leafStrokeWidth}; + fill: ${e.leafFillColor}; + } + .treemapLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .treemapValue { + fill: ${e.valueColor}; + font-size: ${e.valueFontSize}; + } + .treemapTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + `},"getStyles"),e3e=Jit});var r3e={};dr(r3e,{diagram:()=>eat});var eat,n3e=M(()=>{"use strict";Fz();Q4e();J4e();t3e();eat={parser:$z,get db(){return new Ty},renderer:Z4e,styles:e3e}});var zat={};dr(zat,{default:()=>$at});nc();_A();vd();var z_e=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),G_e=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(OQ(),IQ));return{id:"c4",diagram:t}},"loader"),V_e={id:"c4",detector:z_e,loader:G_e},PQ=V_e;var bfe="flowchart",oWe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),lWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_E(),AE));return{id:bfe,diagram:t}},"loader"),cWe={id:bfe,detector:oWe,loader:lWe},Tfe=cWe;var wfe="flowchart-v2",uWe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),hWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_E(),AE));return{id:wfe,diagram:t}},"loader"),fWe={id:wfe,detector:uWe,loader:hWe},kfe=fWe;var yWe=o(t=>/^\s*erDiagram/.test(t),"detector"),vWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Rfe(),Lfe));return{id:"er",diagram:t}},"loader"),xWe={id:"er",detector:yWe,loader:vWe},Nfe=xWe;var $ge="gitGraph",jKe=o(t=>/^\s*gitGraph/.test(t),"detector"),KKe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Fge(),Bge));return{id:$ge,diagram:t}},"loader"),QKe={id:$ge,detector:jKe,loader:KKe},zge=QKe;var v1e="gantt",FQe=o(t=>/^\s*gantt/.test(t),"detector"),$Qe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(y1e(),g1e));return{id:v1e,diagram:t}},"loader"),zQe={id:v1e,detector:FQe,loader:$Qe},x1e=zQe;var _1e="info",WQe=o(t=>/^\s*info/.test(t),"detector"),YQe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(A1e(),C1e));return{id:_1e,diagram:t}},"loader"),D1e={id:_1e,detector:WQe,loader:YQe};var sZe=o(t=>/^\s*pie/.test(t),"detector"),oZe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(F1e(),B1e));return{id:"pie",diagram:t}},"loader"),$1e={id:"pie",detector:sZe,loader:oZe};var Z1e="quadrantChart",SZe=o(t=>/^\s*quadrantChart/.test(t),"detector"),CZe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Q1e(),K1e));return{id:Z1e,diagram:t}},"loader"),AZe={id:Z1e,detector:SZe,loader:CZe},J1e=AZe;var Cye="xychart",HZe=o(t=>/^\s*xychart(-beta)?/.test(t),"detector"),qZe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Sye(),Eye));return{id:Cye,diagram:t}},"loader"),WZe={id:Cye,detector:HZe,loader:qZe},Aye=WZe;var Pye="requirement",KZe=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),QZe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Oye(),Iye));return{id:Pye,diagram:t}},"loader"),ZZe={id:Pye,detector:KZe,loader:QZe},Bye=ZZe;var Jye="sequence",$Je=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),zJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Zye(),Qye));return{id:Jye,diagram:t}},"loader"),GJe={id:Jye,detector:$Je,loader:zJe},eve=GJe;var sve="class",YJe=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),XJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ave(),ive));return{id:sve,diagram:t}},"loader"),jJe={id:sve,detector:YJe,loader:XJe},ove=jJe;var uve="classDiagram",QJe=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),ZJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(cve(),lve));return{id:uve,diagram:t}},"loader"),JJe={id:uve,detector:QJe,loader:ZJe},hve=JJe;var Uve="state",Aet=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),_et=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Vve(),Gve));return{id:Uve,diagram:t}},"loader"),Det={id:Uve,detector:Aet,loader:_et},Hve=Det;var Yve="stateDiagram",Ret=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),Net=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Wve(),qve));return{id:Yve,diagram:t}},"loader"),Met={id:Yve,detector:Ret,loader:Net},Xve=Met;var u2e="journey",ett=o(t=>/^\s*journey/.test(t),"detector"),ttt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(c2e(),l2e));return{id:u2e,diagram:t}},"loader"),rtt={id:u2e,detector:ett,loader:ttt},h2e=rtt;pt();tu();Ei();var ntt=o((t,e,r)=>{X.debug(`rendering svg for syntax error +`);let n=aa(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),mn(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"),F$={draw:ntt},f2e=F$;var itt={db:{},renderer:F$,parser:{parse:o(()=>{},"parse")}},d2e=itt;var p2e="flowchart-elk",att=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),stt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_E(),AE));return{id:p2e,diagram:t}},"loader"),ott={id:p2e,detector:att,loader:stt},m2e=ott;var G2e="timeline",Ctt=o(t=>/^\s*timeline/.test(t),"detector"),Att=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(z2e(),$2e));return{id:G2e,diagram:t}},"loader"),_tt={id:G2e,detector:Ctt,loader:Att},V2e=_tt;var ixe="mindmap",Ptt=o(t=>/^\s*mindmap/.test(t),"detector"),Btt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(nxe(),rxe));return{id:ixe,diagram:t}},"loader"),Ftt={id:ixe,detector:Ptt,loader:Btt},axe=Ftt;var yxe="kanban",ert=o(t=>/^\s*kanban/.test(t),"detector"),trt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(gxe(),mxe));return{id:yxe,diagram:t}},"loader"),rrt={id:yxe,detector:ert,loader:trt},vxe=rrt;var Jxe="sankey",Srt=o(t=>/^\s*sankey(-beta)?/.test(t),"detector"),Crt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Zxe(),Qxe));return{id:Jxe,diagram:t}},"loader"),Art={id:Jxe,detector:Srt,loader:Crt},ebe=Art;var lbe="packet",Prt=o(t=>/^\s*packet(-beta)?/.test(t),"detector"),Brt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(obe(),sbe));return{id:lbe,diagram:t}},"loader"),cbe={id:lbe,detector:Prt,loader:Brt};var bbe="radar",ant=o(t=>/^\s*radar-beta/.test(t),"detector"),snt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(xbe(),vbe));return{id:bbe,diagram:t}},"loader"),Tbe={id:bbe,detector:ant,loader:snt};var E4e="block",Ait=o(t=>/^\s*block(-beta)?/.test(t),"detector"),_it=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(k4e(),w4e));return{id:E4e,diagram:t}},"loader"),Dit={id:E4e,detector:Ait,loader:_it},S4e=Dit;var Y4e="architecture",Hit=o(t=>/^\s*architecture/.test(t),"detector"),qit=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(W4e(),q4e));return{id:Y4e,diagram:t}},"loader"),Wit={id:Y4e,detector:Hit,loader:qit},X4e=Wit;vd();Xt();var i3e="treemap",tat=o(t=>/^\s*treemap/.test(t),"detector"),rat=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(n3e(),r3e));return{id:i3e,diagram:t}},"loader"),a3e={id:i3e,detector:tat,loader:rat};var s3e=!1,ky=o(()=>{s3e||(s3e=!0,xd("error",d2e,t=>t.toLowerCase().trim()==="error"),xd("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{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:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),tv(m2e,axe,X4e),tv(PQ,vxe,hve,ove,Nfe,x1e,D1e,$1e,Bye,eve,kfe,Tfe,V2e,zge,Xve,Hve,h2e,J1e,ebe,cbe,Aye,S4e,Tbe,a3e))},"addDiagrams");pt();vd();Xt();var o3e=o(async()=>{X.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(gu).map(async([r,{detector:n,loader:i}])=>{if(i)try{sv(r)}catch{try{let{diagram:a,id:s}=await i();xd(s,a,n)}catch(a){throw X.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete gu[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){X.error(`Failed to load ${e.length} external diagrams`);for(let r of e)X.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");pt();yr();var BC="comm",FC="rule",$C="decl";var l3e="@import";var c3e="@namespace",u3e="@keyframes";var h3e="@layer";var zz=Math.abs,z4=String.fromCharCode;function zC(t){return t.trim()}o(zC,"trim");function G4(t,e,r){return t.replace(e,r)}o(G4,"replace");function f3e(t,e,r){return t.indexOf(e,r)}o(f3e,"indexof");function rd(t,e){return t.charCodeAt(e)|0}o(rd,"charat");function nd(t,e,r){return t.slice(e,r)}o(nd,"substr");function wo(t){return t.length}o(wo,"strlen");function d3e(t){return t.length}o(d3e,"sizeof");function Ey(t,e){return e.push(t),t}o(Ey,"append");var GC=1,Sy=1,p3e=0,ll=0,Ri=0,Ay="";function VC(t,e,r,n,i,a,s,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:GC,column:Sy,length:s,return:"",siblings:l}}o(VC,"node");function m3e(){return Ri}o(m3e,"char");function g3e(){return Ri=ll>0?rd(Ay,--ll):0,Sy--,Ri===10&&(Sy=1,GC--),Ri}o(g3e,"prev");function cl(){return Ri=ll2||Cy(Ri)>3?"":" "}o(x3e,"whitespace");function b3e(t,e){for(;--e&&cl()&&!(Ri<48||Ri>102||Ri>57&&Ri<65||Ri>70&&Ri<97););return UC(t,V4()+(e<6&&uh()==32&&cl()==32))}o(b3e,"escaping");function Gz(t){for(;cl();)switch(Ri){case t:return ll;case 34:case 39:t!==34&&t!==39&&Gz(Ri);break;case 40:t===41&&Gz(t);break;case 92:cl();break}return ll}o(Gz,"delimiter");function T3e(t,e){for(;cl()&&t+Ri!==57;)if(t+Ri===84&&uh()===47)break;return"/*"+UC(e,ll-1)+"*"+z4(t===47?t:cl())}o(T3e,"commenter");function w3e(t){for(;!Cy(uh());)cl();return UC(t,ll)}o(w3e,"identifier");function S3e(t){return v3e(qC("",null,null,null,[""],t=y3e(t),0,[0],t))}o(S3e,"compile");function qC(t,e,r,n,i,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,T="",S=i,w=a,k=n,C=T;v;)switch(g=b,b=cl()){case 40:if(g!=108&&rd(C,d-1)==58){f3e(C+=G4(HC(b),"&","&\f"),"&\f",zz(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:C+=HC(b);break;case 9:case 10:case 13:case 32:C+=x3e(g);break;case 92:C+=b3e(V4()-1,7);continue;case 47:switch(uh()){case 42:case 47:Ey(nat(T3e(cl(),V4()),e,r,u),u),(Cy(g||1)==5||Cy(uh()||1)==5)&&wo(C)&&nd(C,-1,void 0)!==" "&&(C+=" ");break;default:C+="/"}break;case 123*y:l[h++]=wo(C)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(C=G4(C,/\f/g,"")),m>0&&(wo(C)-d||y===0&&g===47)&&Ey(m>32?E3e(C+";",n,r,d-1,u):E3e(G4(C," ","")+";",n,r,d-2,u),u);break;case 59:C+=";";default:if(Ey(k=k3e(C,e,r,h,f,i,l,T,S=[],w=[],d,a),a),b===123)if(f===0)qC(C,e,k,k,S,a,d,l,w);else{switch(p){case 99:if(rd(C,3)===110)break;case 108:if(rd(C,2)===97)break;default:f=0;case 100:case 109:case 115:}f?qC(t,k,k,n&&Ey(k3e(t,k,k,0,0,i,l,T,i,S=[],d,w),w),i,w,d,l,n?S:w):qC(C,k,k,k,[""],w,0,l,w)}}h=f=m=0,y=x=1,T=C="",d=s;break;case 58:d=1+wo(C),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&g3e()==125)continue}switch(C+=z4(b),b*y){case 38:x=f>0?1:(C+="\f",-1);break;case 44:l[h++]=(wo(C)-1)*x,x=1;break;case 64:uh()===45&&(C+=HC(cl())),p=uh(),f=d=wo(T=C+=w3e(V4())),b++;break;case 45:g===45&&wo(C)==2&&(y=0)}}return a}o(qC,"parse");function k3e(t,e,r,n,i,a,s,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=d3e(m),y=0,v=0,x=0;y0?m[b]+" "+T:G4(T,/&\f/g,m[b])))&&(u[x++]=S);return VC(t,e,r,i===0?FC:l,u,h,f,d)}o(k3e,"ruleset");function nat(t,e,r,n){return VC(t,e,r,BC,z4(m3e()),nd(t,2,-2),0,n)}o(nat,"comment");function E3e(t,e,r,n,i){return VC(t,e,r,$C,nd(t,0,n),nd(t,n+1,-1),n,i)}o(E3e,"declaration");function WC(t,e){for(var r="",n=0;n{D3e.forEach(t=>{t()}),D3e=[]},"attachFunctions");pt();var R3e=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");$3();k2();function N3e(t){let e=t.match(F3);if(!e)return{text:t,metadata:{}};let r=Kh(e[1],{schema:jh})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}o(N3e,"extractFrontMatter");tr();var aat=o(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),sat=o(t=>{let{text:e,metadata:r}=N3e(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"),oat=o(t=>{let e=qt.detectInit(t)??{},r=qt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:kQ(t),directive:e}},"processDirectives");function Vz(t){let e=aat(t),r=sat(e),n=oat(r.text),i=Vn(r.config,n.directive);return t=R3e(n.text),{code:t,title:r.title,config:i}}o(Vz,"preprocessDiagram");NA();t3();tr();function M3e(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}o(M3e,"toBase64");var lat=5e4,cat="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",uat="sandbox",hat="loose",fat="http://www.w3.org/2000/svg",dat="http://www.w3.org/1999/xlink",pat="http://www.w3.org/1999/xhtml",mat="100%",gat="100%",yat="border:0;margin:0;",vat="margin:0",xat="allow-top-navigation-by-user-activation allow-popups",bat='The "iframe" tag is not supported by your browser.',Tat=["foreignobject"],wat=["dominant-baseline"];function B3e(t){let e=Vz(t);return Fy(),tV(e.config??{}),e}o(B3e,"processAndSetConfigs");async function kat(t,e){ky();try{let{code:r,config:n}=B3e(t);return{diagramType:(await F3e(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(kat,"parse");var I3e=o((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),Eat=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` +${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` +:root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{mr(l.styles)||s.forEach(u=>{r+=I3e(l.id,u,l.styles)}),mr(l.textStyles)||(r+=I3e(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),Sat=o((t,e,r,n)=>{let i=Eat(t,r),a=lH(e,i,t.themeVariables);return WC(S3e(`${n}{${a}}`),C3e)},"createUserStyles"),Cat=o((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Ji(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),Aat=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":gat,n=M3e(`${t}`);return``},"putIntoIFrame"),O3e=o((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",fat);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function P3e(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(P3e,"sandboxedIframe");var _at=o((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),Dat=o(async function(t,e,r){ky();let n=B3e(e);e=n.code;let i=Qt();X.debug(i),e.length>(i?.maxTextSize??lat)&&(e=cat);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let _=qe(p?l:h).node();_&&"remove"in _&&_.remove()},"removeTempElements"),d=qe("body"),p=i.securityLevel===uat,m=i.securityLevel===hat,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let E=P3e(qe(r),s);d=qe(E.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=qe(r);O3e(d,t,u,`font-family: ${g}`,dat)}else{if(_at(document,t,u,s),p){let E=P3e(qe("body"),s);d=qe(E.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=qe("body");O3e(d,t,u)}let y,v;try{y=await _y.fromText(e,{title:n.title})}catch(E){if(i.suppressErrorRendering)throw f(),E;y=await _y.fromText("error"),v=E}let x=d.select(h).node(),b=y.type,T=x.firstChild,S=T.firstChild,w=y.renderer.getClasses?.(e,y),k=Sat(i,b,w,a),C=document.createElement("style");C.innerHTML=k,T.insertBefore(C,S);try{await y.renderer.draw(e,t,y4.version,y)}catch(E){throw i.suppressErrorRendering?f():f2e.draw(e,t,y4.version),E}let A=d.select(`${h} svg`),L=y.db.getAccTitle?.(),I=y.db.getAccDescription?.();Rat(b,A,L,I),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",pat);let R=d.select(h).node().innerHTML;if(X.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),R=Cat(R,p,vr(i.arrowMarkerAbsolute)),p){let E=d.select(h+" svg").node();R=Aat(R,E)}else m||(R=yh.sanitize(R,{ADD_TAGS:Tat,ADD_ATTR:wat,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(L3e(),v)throw v;return f(),{diagramType:b,svg:R,bindFunctions:y.db.bindFunctions}},"render");function Lat(t={}){let e=Rn({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),ZG(e),e?.theme&&e.theme in So?e.themeVariables=So[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=So.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?C7(e):A7();Ly(r.logLevel),ky()}o(Lat,"initialize");var F3e=o((t,e={})=>{let{code:r}=Vz(t);return _y.fromText(r,e)},"getDiagramFromText");function Rat(t,e,r,n){A3e(e,t),_3e(e,r,n,e.attr("id"))}o(Rat,"addA11yInfo");var id=Object.freeze({render:Dat,parse:kat,getDiagramFromText:F3e,initialize:Lat,getConfig:Qt,setConfig:i3,getSiteConfig:A7,updateSiteConfig:JG,reset:o(()=>{Fy()},"reset"),globalReset:o(()=>{Fy(gh)},"globalReset"),defaultConfig:gh});Ly(Qt().logLevel);Fy(Qt());Nf();tr();var Nat=o((t,e,r)=>{X.warn(t),qL(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"),$3e=o(async function(t={querySelector:".mermaid"}){try{await Mat(t)}catch(e){if(qL(e)&&X.error(e.str),hh.parseError&&hh.parseError(e),!t.suppressErrors)throw X.error("Use the suppressErrors option to suppress these errors"),e}},"run"),Mat=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=id.getConfig();X.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");X.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(X.debug("Start On Load: "+n?.startOnLoad),id.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new qt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,l=[];for(let u of Array.from(i)){X.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=B3(qt.entityDecode(s)).trim().replace(//gi,"
    ");let f=qt.detectInit(s);f&&X.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await U3e(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){Nat(d,l,hh.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),z3e=o(function(t){id.initialize(t)},"initialize"),Iat=o(async function(t,e,r){X.warn("mermaid.init is deprecated. Please use run instead."),t&&z3e(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await $3e(n)},"init"),Oat=o(async(t,{lazyLoad:e=!0}={})=>{ky(),tv(...t),e===!1&&await o3e()},"registerExternalDiagrams"),G3e=o(function(){if(hh.startOnLoad){let{startOnLoad:t}=id.getConfig();t&&hh.run().catch(e=>X.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",G3e,!1)}var Pat=o(function(t){hh.parseError=t},"setParseErrorHandler"),YC=[],Uz=!1,V3e=o(async()=>{if(!Uz){for(Uz=!0;YC.length>0;){let t=YC.shift();if(t)try{await t()}catch(e){X.error("Error executing queue",e)}}Uz=!1}},"executeQueue"),Bat=o(async(t,e)=>new Promise((r,n)=>{let i=o(()=>new Promise((a,s)=>{id.parse(t,e).then(l=>{a(l),r(l)},l=>{X.error("Error parsing",l),hh.parseError?.(l),s(l),n(l)})}),"performCall");YC.push(i),V3e().catch(n)}),"parse"),U3e=o((t,e,r)=>new Promise((n,i)=>{let a=o(()=>new Promise((s,l)=>{id.render(t,e,r).then(u=>{s(u),n(u)},u=>{X.error("Error parsing",u),hh.parseError?.(u),l(u),i(u)})}),"performCall");YC.push(a),V3e().catch(i)}),"render"),Fat=o(()=>Object.keys(gu).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),hh={startOnLoad:!0,mermaidAPI:id,parse:Bat,render:U3e,init:Iat,run:$3e,registerExternalDiagrams:Oat,registerLayoutLoaders:zI,initialize:z3e,parseError:void 0,contentLoaded:G3e,setParseErrorHandler:Pat,detectType:_0,registerIconPacks:P3,getRegisteredDiagramsMetadata:Fat},$at=hh;return Z3e(zat);})(); +/*! Check if previously processed */ +/*! + * Wait for document loaded before starting the execution + */ +/*! Bundled license information: + +dompurify/dist/purify.es.mjs: + (*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE *) + +js-yaml/dist/js-yaml.mjs: + (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +cytoscape/dist/cytoscape.esm.mjs: + (*! + 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) + *) + (*! + 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 + *) + (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *) + (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *) +*/ +globalThis["mermaid"] = globalThis.__esbuild_esm_mermaid_nm["mermaid"].default; diff --git a/0.12.1/assets/images/favicon.png b/0.12.1/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf13b9f9d978896599290a74f77d5dbe7d1655c GIT binary patch literal 1870 zcmV-U2eJ5xP)Gc)JR9QMau)O=X#!i9;T z37kk-upj^(fsR36MHs_+1RCI)NNu9}lD0S{B^g8PN?Ww(5|~L#Ng*g{WsqleV}|#l zz8@ri&cTzw_h33bHI+12+kK6WN$h#n5cD8OQt`5kw6p~9H3()bUQ8OS4Q4HTQ=1Ol z_JAocz`fLbT2^{`8n~UAo=#AUOf=SOq4pYkt;XbC&f#7lb$*7=$na!mWCQ`dBQsO0 zLFBSPj*N?#u5&pf2t4XjEGH|=pPQ8xh7tpx;US5Cx_Ju;!O`ya-yF`)b%TEt5>eP1ZX~}sjjA%FJF?h7cX8=b!DZl<6%Cv z*G0uvvU+vmnpLZ2paivG-(cd*y3$hCIcsZcYOGh{$&)A6*XX&kXZd3G8m)G$Zz-LV z^GF3VAW^Mdv!)4OM8EgqRiz~*Cji;uzl2uC9^=8I84vNp;ltJ|q-*uQwGp2ma6cY7 z;`%`!9UXO@fr&Ebapfs34OmS9^u6$)bJxrucutf>`dKPKT%%*d3XlFVKunp9 zasduxjrjs>f8V=D|J=XNZp;_Zy^WgQ$9WDjgY=z@stwiEBm9u5*|34&1Na8BMjjgf3+SHcr`5~>oz1Y?SW^=K z^bTyO6>Gar#P_W2gEMwq)ot3; zREHn~U&Dp0l6YT0&k-wLwYjb?5zGK`W6S2v+K>AM(95m2C20L|3m~rN8dprPr@t)5lsk9Hu*W z?pS990s;Ez=+Rj{x7p``4>+c0G5^pYnB1^!TL=(?HLHZ+HicG{~4F1d^5Awl_2!1jICM-!9eoLhbbT^;yHcefyTAaqRcY zmuctDopPT!%k+}x%lZRKnzykr2}}XfG_ne?nRQO~?%hkzo;@RN{P6o`&mMUWBYMTe z6i8ChtjX&gXl`nvrU>jah)2iNM%JdjqoaeaU%yVn!^70x-flljp6Q5tK}5}&X8&&G zX3fpb3E(!rH=zVI_9Gjl45w@{(ITqngWFe7@9{mX;tO25Z_8 zQHEpI+FkTU#4xu>RkN>b3Tnc3UpWzPXWm#o55GKF09j^Mh~)K7{QqbO_~(@CVq! zS<8954|P8mXN2MRs86xZ&Q4EfM@JB94b=(YGuk)s&^jiSF=t3*oNK3`rD{H`yQ?d; ztE=laAUoZx5?RC8*WKOj`%LXEkgDd>&^Q4M^z`%u0rg-It=hLCVsq!Z%^6eB-OvOT zFZ28TN&cRmgU}Elrnk43)!>Z1FCPL2K$7}gwzIc48NX}#!A1BpJP?#v5wkNprhV** z?Cpalt1oH&{r!o3eSKc&ap)iz2BTn_VV`4>9M^b3;(YY}4>#ML6{~(4mH+?%07*qo IM6N<$f(jP3KmY&$ literal 0 HcmV?d00001 diff --git a/0.12.1/assets/javascripts/bundle.50899def.min.js b/0.12.1/assets/javascripts/bundle.50899def.min.js new file mode 100644 index 00000000..d75953b9 --- /dev/null +++ b/0.12.1/assets/javascripts/bundle.50899def.min.js @@ -0,0 +1,16 @@ +"use strict";(()=>{var Wi=Object.create;var gr=Object.defineProperty;var Vi=Object.getOwnPropertyDescriptor;var Di=Object.getOwnPropertyNames,Vt=Object.getOwnPropertySymbols,zi=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,ao=Object.prototype.propertyIsEnumerable;var io=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&io(e,r,t[r]);if(Vt)for(var r of Vt(t))ao.call(t,r)&&io(e,r,t[r]);return e};var so=(e,t)=>{var r={};for(var o in e)yr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Vt)for(var o of Vt(e))t.indexOf(o)<0&&ao.call(e,o)&&(r[o]=e[o]);return r};var xr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ni=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Di(t))!yr.call(e,n)&&n!==r&&gr(e,n,{get:()=>t[n],enumerable:!(o=Vi(t,n))||o.enumerable});return e};var Lt=(e,t,r)=>(r=e!=null?Wi(zi(e)):{},Ni(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var co=(e,t,r)=>new Promise((o,n)=>{var i=p=>{try{s(r.next(p))}catch(c){n(c)}},a=p=>{try{s(r.throw(p))}catch(c){n(c)}},s=p=>p.done?o(p.value):Promise.resolve(p.value).then(i,a);s((r=r.apply(e,t)).next())});var lo=xr((Er,po)=>{(function(e,t){typeof Er=="object"&&typeof po!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Er,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(k){return!!(k&&k!==document&&k.nodeName!=="HTML"&&k.nodeName!=="BODY"&&"classList"in k&&"contains"in k.classList)}function p(k){var ft=k.type,qe=k.tagName;return!!(qe==="INPUT"&&a[ft]&&!k.readOnly||qe==="TEXTAREA"&&!k.readOnly||k.isContentEditable)}function c(k){k.classList.contains("focus-visible")||(k.classList.add("focus-visible"),k.setAttribute("data-focus-visible-added",""))}function l(k){k.hasAttribute("data-focus-visible-added")&&(k.classList.remove("focus-visible"),k.removeAttribute("data-focus-visible-added"))}function f(k){k.metaKey||k.altKey||k.ctrlKey||(s(r.activeElement)&&c(r.activeElement),o=!0)}function u(k){o=!1}function d(k){s(k.target)&&(o||p(k.target))&&c(k.target)}function y(k){s(k.target)&&(k.target.classList.contains("focus-visible")||k.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(k.target))}function L(k){document.visibilityState==="hidden"&&(n&&(o=!0),X())}function X(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function ee(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(k){k.target.nodeName&&k.target.nodeName.toLowerCase()==="html"||(o=!1,ee())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",L,!0),X(),r.addEventListener("focus",d,!0),r.addEventListener("blur",y,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var qr=xr((dy,On)=>{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var $a=/["'&<>]/;On.exports=Pa;function Pa(e){var t=""+e,r=$a.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof Rt=="object"&&typeof Yr=="object"?Yr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Rt=="object"?Rt.ClipboardJS=r():t.ClipboardJS=r()})(Rt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Ui}});var a=i(279),s=i.n(a),p=i(370),c=i.n(p),l=i(817),f=i.n(l);function u(D){try{return document.execCommand(D)}catch(A){return!1}}var d=function(A){var M=f()(A);return u("cut"),M},y=d;function L(D){var A=document.documentElement.getAttribute("dir")==="rtl",M=document.createElement("textarea");M.style.fontSize="12pt",M.style.border="0",M.style.padding="0",M.style.margin="0",M.style.position="absolute",M.style[A?"right":"left"]="-9999px";var F=window.pageYOffset||document.documentElement.scrollTop;return M.style.top="".concat(F,"px"),M.setAttribute("readonly",""),M.value=D,M}var X=function(A,M){var F=L(A);M.container.appendChild(F);var V=f()(F);return u("copy"),F.remove(),V},ee=function(A){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},F="";return typeof A=="string"?F=X(A,M):A instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(A==null?void 0:A.type)?F=X(A.value,M):(F=f()(A),u("copy")),F},J=ee;function k(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?k=function(M){return typeof M}:k=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},k(D)}var ft=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=A.action,F=M===void 0?"copy":M,V=A.container,Y=A.target,$e=A.text;if(F!=="copy"&&F!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Y!==void 0)if(Y&&k(Y)==="object"&&Y.nodeType===1){if(F==="copy"&&Y.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(F==="cut"&&(Y.hasAttribute("readonly")||Y.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if($e)return J($e,{container:V});if(Y)return F==="cut"?y(Y):J(Y,{container:V})},qe=ft;function Fe(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Fe=function(M){return typeof M}:Fe=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},Fe(D)}function ki(D,A){if(!(D instanceof A))throw new TypeError("Cannot call a class as a function")}function no(D,A){for(var M=0;M0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof V.action=="function"?V.action:this.defaultAction,this.target=typeof V.target=="function"?V.target:this.defaultTarget,this.text=typeof V.text=="function"?V.text:this.defaultText,this.container=Fe(V.container)==="object"?V.container:document.body}},{key:"listenClick",value:function(V){var Y=this;this.listener=c()(V,"click",function($e){return Y.onClick($e)})}},{key:"onClick",value:function(V){var Y=V.delegateTarget||V.currentTarget,$e=this.action(Y)||"copy",Wt=qe({action:$e,container:this.container,target:this.target(Y),text:this.text(Y)});this.emit(Wt?"success":"error",{action:$e,text:Wt,trigger:Y,clearSelection:function(){Y&&Y.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(V){return vr("action",V)}},{key:"defaultTarget",value:function(V){var Y=vr("target",V);if(Y)return document.querySelector(Y)}},{key:"defaultText",value:function(V){return vr("text",V)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(V){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(V,Y)}},{key:"cut",value:function(V){return y(V)}},{key:"isSupported",value:function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Y=typeof V=="string"?[V]:V,$e=!!document.queryCommandSupported;return Y.forEach(function(Wt){$e=$e&&!!document.queryCommandSupported(Wt)}),$e}}]),M}(s()),Ui=Fi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,p){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(p))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(l,f,u,d,y){var L=c.apply(this,arguments);return l.addEventListener(u,L,y),{destroy:function(){l.removeEventListener(u,L,y)}}}function p(l,f,u,d,y){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(L){return s(L,f,u,d,y)}))}function c(l,f,u,d){return function(y){y.delegateTarget=a(y.target,f),y.delegateTarget&&d.call(l,y)}}o.exports=p},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function p(u,d,y){if(!u&&!d&&!y)throw new Error("Missing required arguments");if(!a.string(d))throw new TypeError("Second argument must be a String");if(!a.fn(y))throw new TypeError("Third argument must be a Function");if(a.node(u))return c(u,d,y);if(a.nodeList(u))return l(u,d,y);if(a.string(u))return f(u,d,y);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(u,d,y){return u.addEventListener(d,y),{destroy:function(){u.removeEventListener(d,y)}}}function l(u,d,y){return Array.prototype.forEach.call(u,function(L){L.addEventListener(d,y)}),{destroy:function(){Array.prototype.forEach.call(u,function(L){L.removeEventListener(d,y)})}}}function f(u,d,y){return s(document.body,u,d,y)}o.exports=p},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var p=window.getSelection(),c=document.createRange();c.selectNodeContents(i),p.removeAllRanges(),p.addRange(c),a=p.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var p=this.e||(this.e={});return(p[i]||(p[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var p=this;function c(){p.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),p=0,c=s.length;for(p;p0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function z(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function q(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||p(d,L)})},y&&(n[d]=y(n[d])))}function p(d,y){try{c(o[d](y))}catch(L){u(i[0][3],L)}}function c(d){d.value instanceof nt?Promise.resolve(d.value.v).then(l,f):u(i[0][2],d)}function l(d){p("next",d)}function f(d){p("throw",d)}function u(d,y){d(y),i.shift(),i.length&&p(i[0][0],i[0][1])}}function uo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof he=="function"?he(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(a){return new Promise(function(s,p){a=e[i](a),n(s,p,a.done,a.value)})}}function n(i,a,s,p){Promise.resolve(p).then(function(c){i({value:c,done:s})},a)}}function H(e){return typeof e=="function"}function ut(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var zt=ut(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Qe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ue=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=he(a),p=s.next();!p.done;p=s.next()){var c=p.value;c.remove(this)}}catch(L){t={error:L}}finally{try{p&&!p.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(H(l))try{l()}catch(L){i=L instanceof zt?L.errors:[L]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=he(f),d=u.next();!d.done;d=u.next()){var y=d.value;try{ho(y)}catch(L){i=i!=null?i:[],L instanceof zt?i=q(q([],z(i)),z(L.errors)):i.push(L)}}}catch(L){o={error:L}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new zt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ho(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Qe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Qe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Tr=Ue.EMPTY;function Nt(e){return e instanceof Ue||e&&"closed"in e&&H(e.remove)&&H(e.add)&&H(e.unsubscribe)}function ho(e){H(e)?e():e.unsubscribe()}var Pe={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var dt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,a=n.isStopped,s=n.observers;return i||a?Tr:(this.currentObservers=null,s.push(r),new Ue(function(){o.currentObservers=null,Qe(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new To(r,o)},t}(j);var To=function(e){oe(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Tr},t}(g);var _r=function(e){oe(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(g);var _t={now:function(){return(_t.delegate||Date).now()},delegate:void 0};var At=function(e){oe(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=_t);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,p=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+p)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),p=0;p0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(gt);var Lo=function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(yt);var kr=new Lo(Oo);var Mo=function(e){oe(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=vt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var a=r.actions;o!=null&&o===r._scheduled&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(vt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(gt);var _o=function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o;r?o=r.id:(o=this._scheduled,this._scheduled=void 0);var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(yt);var me=new _o(Mo);var S=new j(function(e){return e.complete()});function Kt(e){return e&&H(e.schedule)}function Hr(e){return e[e.length-1]}function Xe(e){return H(Hr(e))?e.pop():void 0}function ke(e){return Kt(Hr(e))?e.pop():void 0}function Yt(e,t){return typeof Hr(e)=="number"?e.pop():t}var xt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Bt(e){return H(e==null?void 0:e.then)}function Gt(e){return H(e[bt])}function Jt(e){return Symbol.asyncIterator&&H(e==null?void 0:e[Symbol.asyncIterator])}function Xt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Zi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Zt=Zi();function er(e){return H(e==null?void 0:e[Zt])}function tr(e){return fo(this,arguments,function(){var r,o,n,i;return Dt(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,nt(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,nt(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,nt(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function rr(e){return H(e==null?void 0:e.getReader)}function U(e){if(e instanceof j)return e;if(e!=null){if(Gt(e))return ea(e);if(xt(e))return ta(e);if(Bt(e))return ra(e);if(Jt(e))return Ao(e);if(er(e))return oa(e);if(rr(e))return na(e)}throw Xt(e)}function ea(e){return new j(function(t){var r=e[bt]();if(H(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function ta(e){return new j(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):le,Te(1),r?Ve(t):Qo(function(){return new nr}))}}function jr(e){return e<=0?function(){return S}:E(function(t,r){var o=[];t.subscribe(T(r,function(n){o.push(n),e=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,p=s===void 0?!0:s;return function(c){var l,f,u,d=0,y=!1,L=!1,X=function(){f==null||f.unsubscribe(),f=void 0},ee=function(){X(),l=u=void 0,y=L=!1},J=function(){var k=l;ee(),k==null||k.unsubscribe()};return E(function(k,ft){d++,!L&&!y&&X();var qe=u=u!=null?u:r();ft.add(function(){d--,d===0&&!L&&!y&&(f=Ur(J,p))}),qe.subscribe(ft),!l&&d>0&&(l=new at({next:function(Fe){return qe.next(Fe)},error:function(Fe){L=!0,X(),f=Ur(ee,n,Fe),qe.error(Fe)},complete:function(){y=!0,X(),f=Ur(ee,a),qe.complete()}}),U(k).subscribe(l))})(c)}}function Ur(e,t){for(var r=[],o=2;oe.next(document)),e}function P(e,t=document){return Array.from(t.querySelectorAll(e))}function R(e,t=document){let r=fe(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function fe(e,t=document){return t.querySelector(e)||void 0}function Ie(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var wa=O(h(document.body,"focusin"),h(document.body,"focusout")).pipe(_e(1),Q(void 0),m(()=>Ie()||document.body),G(1));function et(e){return wa.pipe(m(t=>e.contains(t)),K())}function Ht(e,t){return C(()=>O(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?kt(r=>Le(+!r*t)):le,Q(e.matches(":hover"))))}function Jo(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)Jo(e,r)}function x(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)Jo(o,n);return o}function sr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function wt(e){let t=x("script",{src:e});return C(()=>(document.head.appendChild(t),O(h(t,"load"),h(t,"error").pipe(v(()=>$r(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),Te(1))))}var Xo=new g,Ta=C(()=>typeof ResizeObserver=="undefined"?wt("https://unpkg.com/resize-observer-polyfill"):I(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>Xo.next(t)))),v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function ce(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ge(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return Ta.pipe(w(r=>r.observe(t)),v(r=>Xo.pipe(b(o=>o.target===t),_(()=>r.unobserve(t)))),m(()=>ce(e)),Q(ce(e)))}function Tt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function cr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function Zo(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function De(e){return{x:e.offsetLeft,y:e.offsetTop}}function en(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function tn(e){return O(h(window,"load"),h(window,"resize")).pipe(Me(0,me),m(()=>De(e)),Q(De(e)))}function pr(e){return{x:e.scrollLeft,y:e.scrollTop}}function ze(e){return O(h(e,"scroll"),h(window,"scroll"),h(window,"resize")).pipe(Me(0,me),m(()=>pr(e)),Q(pr(e)))}var rn=new g,Sa=C(()=>I(new IntersectionObserver(e=>{for(let t of e)rn.next(t)},{threshold:0}))).pipe(v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function tt(e){return Sa.pipe(w(t=>t.observe(e)),v(t=>rn.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function on(e,t=16){return ze(e).pipe(m(({y:r})=>{let o=ce(e),n=Tt(e);return r>=n.height-o.height-t}),K())}var lr={drawer:R("[data-md-toggle=drawer]"),search:R("[data-md-toggle=search]")};function nn(e){return lr[e].checked}function Je(e,t){lr[e].checked!==t&&lr[e].click()}function Ne(e){let t=lr[e];return h(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function Oa(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function La(){return O(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function an(){let e=h(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:nn("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Ie();if(typeof o!="undefined")return!Oa(o,r)}return!0}),pe());return La().pipe(v(t=>t?S:e))}function ye(){return new URL(location.href)}function lt(e,t=!1){if(B("navigation.instant")&&!t){let r=x("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function sn(){return new g}function cn(){return location.hash.slice(1)}function pn(e){let t=x("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Ma(e){return O(h(window,"hashchange"),e).pipe(m(cn),Q(cn()),b(t=>t.length>0),G(1))}function ln(e){return Ma(e).pipe(m(t=>fe(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function $t(e){let t=matchMedia(e);return ir(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function mn(){let e=matchMedia("print");return O(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function zr(e,t){return e.pipe(v(r=>r?t():S))}function Nr(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function je(e,t){return Nr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),G(1))}function fn(e,t){let r=new DOMParser;return Nr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),G(1))}function un(e,t){let r=new DOMParser;return Nr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),G(1))}function dn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function hn(){return O(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(dn),Q(dn()))}function bn(){return{width:innerWidth,height:innerHeight}}function vn(){return h(window,"resize",{passive:!0}).pipe(m(bn),Q(bn()))}function gn(){return N([hn(),vn()]).pipe(m(([e,t])=>({offset:e,size:t})),G(1))}function mr(e,{viewport$:t,header$:r}){let o=t.pipe(te("size")),n=N([o,r]).pipe(m(()=>De(e)));return N([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:p,y:c}])=>({offset:{x:a.x-p,y:a.y-c+i},size:s})))}function _a(e){return h(e,"message",t=>t.data)}function Aa(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function yn(e,t=new Worker(e)){let r=_a(t),o=Aa(t),n=new g;n.subscribe(o);let i=o.pipe(Z(),ie(!0));return n.pipe(Z(),Re(r.pipe(W(i))),pe())}var Ca=R("#__config"),St=JSON.parse(Ca.textContent);St.base=`${new URL(St.base,ye())}`;function xe(){return St}function B(e){return St.features.includes(e)}function Ee(e,t){return typeof t!="undefined"?St.translations[e].replace("#",t.toString()):St.translations[e]}function Se(e,t=document){return R(`[data-md-component=${e}]`,t)}function ae(e,t=document){return P(`[data-md-component=${e}]`,t)}function ka(e){let t=R(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>R(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function xn(e){if(!B("announce.dismiss")||!e.childElementCount)return S;if(!e.hidden){let t=R(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return C(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),ka(e).pipe(w(r=>t.next(r)),_(()=>t.complete()),m(r=>$({ref:e},r)))})}function Ha(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function En(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),Ha(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))}function Pt(e,t){return t==="inline"?x("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"})):x("div",{class:"md-tooltip",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"}))}function wn(...e){return x("div",{class:"md-tooltip2",role:"tooltip"},x("div",{class:"md-tooltip2__inner md-typeset"},e))}function Tn(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return x("aside",{class:"md-annotation",tabIndex:0},Pt(t),x("a",{href:r,class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}else return x("aside",{class:"md-annotation",tabIndex:0},Pt(t),x("span",{class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}function Sn(e){return x("button",{class:"md-clipboard md-icon",title:Ee("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}var Ln=Lt(qr());function Qr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(p=>!e.terms[p]).reduce((p,c)=>[...p,x("del",null,(0,Ln.default)(c))," "],[]).slice(0,-1),i=xe(),a=new URL(e.location,i.base);B("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,p])=>p).reduce((p,[c])=>`${p} ${c}`.trim(),""));let{tags:s}=xe();return x("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},x("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&x("div",{class:"md-search-result__icon md-icon"}),r>0&&x("h1",null,e.title),r<=0&&x("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&x("nav",{class:"md-tags"},e.tags.map(p=>{let c=s?p in s?`md-tag-icon md-tag--${s[p]}`:"md-tag-icon":"";return x("span",{class:`md-tag ${c}`},p)})),o>0&&n.length>0&&x("p",{class:"md-search-result__terms"},Ee("search.result.term.missing"),": ",...n)))}function Mn(e){let t=e[0].score,r=[...e],o=xe(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.scoreQr(l,1)),...p.length?[x("details",{class:"md-search-result__more"},x("summary",{tabIndex:-1},x("div",null,p.length>0&&p.length===1?Ee("search.result.more.one"):Ee("search.result.more.other",p.length))),...p.map(l=>Qr(l,1)))]:[]];return x("li",{class:"md-search-result__item"},c)}function _n(e){return x("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>x("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?sr(r):r)))}function Kr(e){let t=`tabbed-control tabbed-control--${e}`;return x("div",{class:t,hidden:!0},x("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function An(e){return x("div",{class:"md-typeset__scrollwrap"},x("div",{class:"md-typeset__table"},e))}function Ra(e){var o;let t=xe(),r=new URL(`../${e.version}/`,t.base);return x("li",{class:"md-version__item"},x("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&x("span",{class:"md-version__alias"},e.aliases[0])))}function Cn(e,t){var o;let r=xe();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),x("div",{class:"md-version"},x("button",{class:"md-version__current","aria-label":Ee("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&x("span",{class:"md-version__alias"},t.aliases[0])),x("ul",{class:"md-version__list"},e.map(Ra)))}var Ia=0;function ja(e){let t=N([et(e),Ht(e)]).pipe(m(([o,n])=>o||n),K()),r=C(()=>Zo(e)).pipe(ne(ze),pt(1),He(t),m(()=>en(e)));return t.pipe(Ae(o=>o),v(()=>N([t,r])),m(([o,n])=>({active:o,offset:n})),pe())}function Fa(e,t){let{content$:r,viewport$:o}=t,n=`__tooltip2_${Ia++}`;return C(()=>{let i=new g,a=new _r(!1);i.pipe(Z(),ie(!1)).subscribe(a);let s=a.pipe(kt(c=>Le(+!c*250,kr)),K(),v(c=>c?r:S),w(c=>c.id=n),pe());N([i.pipe(m(({active:c})=>c)),s.pipe(v(c=>Ht(c,250)),Q(!1))]).pipe(m(c=>c.some(l=>l))).subscribe(a);let p=a.pipe(b(c=>c),re(s,o),m(([c,l,{size:f}])=>{let u=e.getBoundingClientRect(),d=u.width/2;if(l.role==="tooltip")return{x:d,y:8+u.height};if(u.y>=f.height/2){let{height:y}=ce(l);return{x:d,y:-16-y}}else return{x:d,y:16+u.height}}));return N([s,i,p]).subscribe(([c,{offset:l},f])=>{c.style.setProperty("--md-tooltip-host-x",`${l.x}px`),c.style.setProperty("--md-tooltip-host-y",`${l.y}px`),c.style.setProperty("--md-tooltip-x",`${f.x}px`),c.style.setProperty("--md-tooltip-y",`${f.y}px`),c.classList.toggle("md-tooltip2--top",f.y<0),c.classList.toggle("md-tooltip2--bottom",f.y>=0)}),a.pipe(b(c=>c),re(s,(c,l)=>l),b(c=>c.role==="tooltip")).subscribe(c=>{let l=ce(R(":scope > *",c));c.style.setProperty("--md-tooltip-width",`${l.width}px`),c.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(K(),ve(me),re(s)).subscribe(([c,l])=>{l.classList.toggle("md-tooltip2--active",c)}),N([a.pipe(b(c=>c)),s]).subscribe(([c,l])=>{l.role==="dialog"?(e.setAttribute("aria-controls",n),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",n)}),a.pipe(b(c=>!c)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),ja(e).pipe(w(c=>i.next(c)),_(()=>i.complete()),m(c=>$({ref:e},c)))})}function mt(e,{viewport$:t},r=document.body){return Fa(e,{content$:new j(o=>{let n=e.title,i=wn(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t})}function Ua(e,t){let r=C(()=>N([tn(e),ze(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=ce(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return et(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),Te(+!o||1/0))))}function kn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return C(()=>{let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),tt(e).pipe(W(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),O(i.pipe(b(({active:s})=>s)),i.pipe(_e(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Me(16,me)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(W(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),h(n,"mousedown").pipe(W(a),re(i)).subscribe(([s,{active:p}])=>{var c;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(p){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(c=Ie())==null||c.blur()}}),r.pipe(W(a),b(s=>s===o),Ge(125)).subscribe(()=>e.focus()),Ua(e,t).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function Wa(e){return e.tagName==="CODE"?P(".c, .c1, .cm",e):[e]}function Va(e){let t=[];for(let r of Wa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,p]=a;if(typeof p=="undefined"){let c=i.splitText(a.index);i=c.splitText(s.length),t.push(c)}else{i.textContent=s,t.push(i);break}}}}return t}function Hn(e,t){t.append(...Array.from(e.childNodes))}function fr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Va(t)){let[,p]=s.textContent.match(/\((\d+)\)/);fe(`:scope > li:nth-child(${p})`,e)&&(a.set(p,Tn(p,i)),s.replaceWith(a.get(p)))}return a.size===0?S:C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=[];for(let[l,f]of a)c.push([R(".md-typeset",f),R(`:scope > li:nth-child(${l})`,e)]);return o.pipe(W(p)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of c)l?Hn(f,u):Hn(u,f)}),O(...[...a].map(([,l])=>kn(l,t,{target$:r}))).pipe(_(()=>s.complete()),pe())})}function $n(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return $n(t)}}function Pn(e,t){return C(()=>{let r=$n(e);return typeof r!="undefined"?fr(r,e,t):S})}var Rn=Lt(Br());var Da=0;function In(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return In(t)}}function za(e){return ge(e).pipe(m(({width:t})=>({scrollable:Tt(e).width>t})),te("scrollable"))}function jn(e,t){let{matches:r}=matchMedia("(hover)"),o=C(()=>{let n=new g,i=n.pipe(jr(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Rn.default.isSupported()&&(e.closest(".copy")||B("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${Da++}`;let l=Sn(c.id);c.insertBefore(l,e),B("content.tooltips")&&a.push(mt(l,{viewport$}))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=In(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||B("content.code.annotate"))){let l=fr(c,e,t);a.push(ge(s).pipe(W(i),m(({width:f,height:u})=>f&&u),K(),v(f=>f?l:S)))}}return P(":scope > span[id]",e).length&&e.classList.add("md-code__content"),za(e).pipe(w(c=>n.next(c)),_(()=>n.complete()),m(c=>$({ref:e},c)),Re(...a))});return B("content.lazy")?tt(e).pipe(b(n=>n),Te(1),v(()=>o)):o}function Na(e,{target$:t,print$:r}){let o=!0;return O(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),w(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Fn(e,t){return C(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Na(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}var Un=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.flowchartTitleText{fill:var(--md-mermaid-label-fg-color)}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}.classDiagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs marker.marker.composition.class path,defs marker.marker.dependency.class path,defs marker.marker.extension.class path{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs marker.marker.aggregation.class path{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}.statediagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}[id^=entity] path,[id^=entity] rect{fill:var(--md-default-bg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs .marker.oneOrMore.er *,defs .marker.onlyOne.er *,defs .marker.zeroOrMore.er *,defs .marker.zeroOrOne.er *{stroke:var(--md-mermaid-edge-color)!important}text:not([class]):last-child{fill:var(--md-mermaid-label-fg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var Gr,Qa=0;function Ka(){return typeof mermaid=="undefined"||mermaid instanceof Element?wt("https://bottom.pages.dev/stable/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js"):I(void 0)}function Wn(e){return e.classList.remove("mermaid"),Gr||(Gr=Ka().pipe(w(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Un,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),G(1))),Gr.subscribe(()=>co(null,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${Qa++}`,r=x("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),Gr.pipe(m(()=>({ref:e})))}var Vn=x("table");function Dn(e){return e.replaceWith(Vn),Vn.replaceWith(An(e)),I({ref:e})}function Ya(e){let t=e.find(r=>r.checked)||e[0];return O(...e.map(r=>h(r,"change").pipe(m(()=>R(`label[for="${r.id}"]`))))).pipe(Q(R(`label[for="${t.id}"]`)),m(r=>({active:r})))}function zn(e,{viewport$:t,target$:r}){let o=R(".tabbed-labels",e),n=P(":scope > input",e),i=Kr("prev");e.append(i);let a=Kr("next");return e.append(a),C(()=>{let s=new g,p=s.pipe(Z(),ie(!0));N([s,ge(e),tt(e)]).pipe(W(p),Me(1,me)).subscribe({next([{active:c},l]){let f=De(c),{width:u}=ce(c);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=pr(o);(f.xd.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),N([ze(o),ge(o)]).pipe(W(p)).subscribe(([c,l])=>{let f=Tt(o);i.hidden=c.x<16,a.hidden=c.x>f.width-l.width-16}),O(h(i,"click").pipe(m(()=>-1)),h(a,"click").pipe(m(()=>1))).pipe(W(p)).subscribe(c=>{let{width:l}=ce(o);o.scrollBy({left:l*c,behavior:"smooth"})}),r.pipe(W(p),b(c=>n.includes(c))).subscribe(c=>c.click()),o.classList.add("tabbed-labels--linked");for(let c of n){let l=R(`label[for="${c.id}"]`);l.replaceChildren(x("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(W(p),b(f=>!(f.metaKey||f.ctrlKey)),w(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return B("content.tabs.link")&&s.pipe(Ce(1),re(t)).subscribe(([{active:c},{offset:l}])=>{let f=c.innerText.trim();if(c.hasAttribute("data-md-switching"))c.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let y of P("[data-tabs]"))for(let L of P(":scope > input",y)){let X=R(`label[for="${L.id}"]`);if(X!==c&&X.innerText.trim()===f){X.setAttribute("data-md-switching",""),L.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),s.pipe(W(p)).subscribe(()=>{for(let c of P("audio, video",e))c.pause()}),Ya(n).pipe(w(c=>s.next(c)),_(()=>s.complete()),m(c=>$({ref:e},c)))}).pipe(Ke(se))}function Nn(e,{viewport$:t,target$:r,print$:o}){return O(...P(".annotate:not(.highlight)",e).map(n=>Pn(n,{target$:r,print$:o})),...P("pre:not(.mermaid) > code",e).map(n=>jn(n,{target$:r,print$:o})),...P("pre.mermaid",e).map(n=>Wn(n)),...P("table:not([class])",e).map(n=>Dn(n)),...P("details",e).map(n=>Fn(n,{target$:r,print$:o})),...P("[data-tabs]",e).map(n=>zn(n,{viewport$:t,target$:r})),...P("[title]",e).filter(()=>B("content.tooltips")).map(n=>mt(n,{viewport$:t})))}function Ba(e,{alert$:t}){return t.pipe(v(r=>O(I(!0),I(!1).pipe(Ge(2e3))).pipe(m(o=>({message:r,active:o})))))}function qn(e,t){let r=R(".md-typeset",e);return C(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Ba(e,t).pipe(w(n=>o.next(n)),_(()=>o.complete()),m(n=>$({ref:e},n)))})}var Ga=0;function Ja(e,t){document.body.append(e);let{width:r}=ce(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=cr(t),n=typeof o!="undefined"?ze(o):I({x:0,y:0}),i=O(et(t),Ht(t)).pipe(K());return N([i,n]).pipe(m(([a,s])=>{let{x:p,y:c}=De(t),l=ce(t),f=t.closest("table");return f&&t.parentElement&&(p+=f.offsetLeft+t.parentElement.offsetLeft,c+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:p-s.x+l.width/2-r/2,y:c-s.y+l.height+8}}}))}function Qn(e){let t=e.title;if(!t.length)return S;let r=`__tooltip_${Ga++}`,o=Pt(r,"inline"),n=R(".md-typeset",o);return n.innerHTML=t,C(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),O(i.pipe(b(({active:a})=>a)),i.pipe(_e(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Me(16,me)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ja(o,e).pipe(w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))}).pipe(Ke(se))}function Xa({viewport$:e}){if(!B("header.autohide"))return I(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Be(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),K()),o=Ne("search");return N([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),K(),v(n=>n?r:I(!1)),Q(!1))}function Kn(e,t){return C(()=>N([ge(e),Xa(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),K((r,o)=>r.height===o.height&&r.hidden===o.hidden),G(1))}function Yn(e,{header$:t,main$:r}){return C(()=>{let o=new g,n=o.pipe(Z(),ie(!0));o.pipe(te("active"),He(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=ue(P("[title]",e)).pipe(b(()=>B("content.tooltips")),ne(a=>Qn(a)));return r.subscribe(o),t.pipe(W(n),m(a=>$({ref:e},a)),Re(i.pipe(W(n))))})}function Za(e,{viewport$:t,header$:r}){return mr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=ce(e);return{active:o>=n}}),te("active"))}function Bn(e,t){return C(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=fe(".md-content h1");return typeof o=="undefined"?S:Za(o,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))})}function Gn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),K()),n=o.pipe(v(()=>ge(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),te("bottom"))));return N([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:p},size:{height:c}}])=>(c=Math.max(0,c-Math.max(0,a-p,i)-Math.max(0,c+p-s)),{offset:a-i,height:c,active:a-i<=p})),K((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function es(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return I(...e).pipe(ne(o=>h(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),G(1))}function Jn(e){let t=P("input",e),r=x("meta",{name:"theme-color"});document.head.appendChild(r);let o=x("meta",{name:"color-scheme"});document.head.appendChild(o);let n=$t("(prefers-color-scheme: light)");return C(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),p=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=p.getAttribute("data-md-color-scheme"),a.color.primary=p.getAttribute("data-md-color-primary"),a.color.accent=p.getAttribute("data-md-color-accent")}for(let[s,p]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,p);for(let s=0;sa.key==="Enter"),re(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Se("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(p=>(+p).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(ve(se)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),es(t).pipe(W(n.pipe(Ce(1))),ct(),w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))})}function Xn(e,{progress$:t}){return C(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(w(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Jr=Lt(Br());function ts(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Zn({alert$:e}){Jr.default.isSupported()&&new j(t=>{new Jr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ts(R(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(w(t=>{t.trigger.focus()}),m(()=>Ee("clipboard.copied"))).subscribe(e)}function ei(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function rs(e,t){let r=new Map;for(let o of P("url",e)){let n=R("loc",o),i=[ei(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of P("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(ei(new URL(s),t))}}return r}function ur(e){return un(new URL("sitemap.xml",e)).pipe(m(t=>rs(t,new URL(e))),de(()=>I(new Map)))}function os(e,t){if(!(e.target instanceof Element))return S;let r=e.target.closest("a");if(r===null)return S;if(r.target||e.metaKey||e.ctrlKey)return S;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),I(new URL(r.href))):S}function ti(e){let t=new Map;for(let r of P(":scope > *",e.head))t.set(r.outerHTML,r);return t}function ri(e){for(let t of P("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return I(e)}function ns(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...B("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=fe(o),i=fe(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=ti(document);for(let[o,n]of ti(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Se("container");return We(P("script",r)).pipe(v(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),S}),Z(),ie(document))}function oi({location$:e,viewport$:t,progress$:r}){let o=xe();if(location.protocol==="file:")return S;let n=ur(o.base);I(document).subscribe(ri);let i=h(document.body,"click").pipe(He(n),v(([p,c])=>os(p,c)),pe()),a=h(window,"popstate").pipe(m(ye),pe());i.pipe(re(t)).subscribe(([p,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",p)}),O(i,a).subscribe(e);let s=e.pipe(te("pathname"),v(p=>fn(p,{progress$:r}).pipe(de(()=>(lt(p,!0),S)))),v(ri),v(ns),pe());return O(s.pipe(re(e,(p,c)=>c)),s.pipe(v(()=>e),te("hash")),e.pipe(K((p,c)=>p.pathname===c.pathname&&p.hash===c.hash),v(()=>i),w(()=>history.back()))).subscribe(p=>{var c,l;history.state!==null||!p.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",pn(p.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(te("offset"),_e(100)).subscribe(({offset:p})=>{history.replaceState(p,"")}),s}var ni=Lt(qr());function ii(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}${a}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,ni.default)(a).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function It(e){return e.type===1}function dr(e){return e.type===3}function ai(e,t){let r=yn(e);return O(I(location.protocol!=="file:"),Ne("search")).pipe(Ae(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:B("search.suggest")}}})),r}function si(e){var l;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:o,currentBaseURL:n}=e,i=(l=Xr(n))==null?void 0:l.pathname;if(i===void 0)return;let a=ss(o.pathname,i);if(a===void 0)return;let s=ps(t.keys());if(!t.has(s))return;let p=Xr(a,s);if(!p||!t.has(p.href))return;let c=Xr(a,r);if(c)return c.hash=o.hash,c.search=o.search,c}function Xr(e,t){try{return new URL(e,t)}catch(r){return}}function ss(e,t){if(e.startsWith(t))return e.slice(t.length)}function cs(e,t){let r=Math.min(e.length,t.length),o;for(o=0;oS)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>h(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),re(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let p=s.href;return!i.target.closest(".md-version")&&n.get(p)===a?S:(i.preventDefault(),I(new URL(p)))}}return S}),v(i=>ur(i).pipe(m(a=>{var s;return(s=si({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:ye(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(n=>lt(n,!0)),N([r,o]).subscribe(([n,i])=>{R(".md-header__topic").appendChild(Cn(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var s;let i=new URL(t.base),a=__md_get("__outdated",sessionStorage,i);if(a===null){a=!0;let p=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(p)||(p=[p]);e:for(let c of p)for(let l of n.aliases.concat(n.version))if(new RegExp(c,"i").test(l)){a=!1;break e}__md_set("__outdated",a,sessionStorage,i)}if(a)for(let p of ae("outdated"))p.hidden=!1})}function ls(e,{worker$:t}){let{searchParams:r}=ye();r.has("q")&&(Je("search",!0),e.value=r.get("q"),e.focus(),Ne("search").pipe(Ae(i=>!i)).subscribe(()=>{let i=ye();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=et(e),n=O(t.pipe(Ae(It)),h(e,"keyup"),o).pipe(m(()=>e.value),K());return N([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),G(1))}function pi(e,{worker$:t}){let r=new g,o=r.pipe(Z(),ie(!0));N([t.pipe(Ae(It)),r],(i,a)=>a).pipe(te("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(te("focus")).subscribe(({focus:i})=>{i&&Je("search",i)}),h(e.form,"reset").pipe(W(o)).subscribe(()=>e.focus());let n=R("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),ls(e,{worker$:t}).pipe(w(i=>r.next(i)),_(()=>r.complete()),m(i=>$({ref:e},i)),G(1))}function li(e,{worker$:t,query$:r}){let o=new g,n=on(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=R(":scope > :first-child",e),s=R(":scope > :last-child",e);Ne("search").subscribe(l=>{s.setAttribute("role",l?"list":"presentation"),s.hidden=!l}),o.pipe(re(r),Wr(t.pipe(Ae(It)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?Ee("search.result.none"):Ee("search.result.placeholder");break;case 1:a.textContent=Ee("search.result.one");break;default:let u=sr(l.length);a.textContent=Ee("search.result.other",u)}});let p=o.pipe(w(()=>s.innerHTML=""),v(({items:l})=>O(I(...l.slice(0,10)),I(...l.slice(10)).pipe(Be(4),Dr(n),v(([f])=>f)))),m(Mn),pe());return p.subscribe(l=>s.appendChild(l)),p.pipe(ne(l=>{let f=fe("details",l);return typeof f=="undefined"?S:h(f,"toggle").pipe(W(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(dr),m(({data:l})=>l)).pipe(w(l=>o.next(l)),_(()=>o.complete()),m(l=>$({ref:e},l)))}function ms(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=ye();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function mi(e,t){let r=new g,o=r.pipe(Z(),ie(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(W(o)).subscribe(n=>n.preventDefault()),ms(e,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))}function fi(e,{worker$:t,keyboard$:r}){let o=new g,n=Se("search-query"),i=O(h(n,"keydown"),h(n,"focus")).pipe(ve(se),m(()=>n.value),K());return o.pipe(He(i),m(([{suggest:s},p])=>{let c=p.split(/([\s-]+)/);if(s!=null&&s.length&&c[c.length-1]){let l=s[s.length-1];l.startsWith(c[c.length-1])&&(c[c.length-1]=l)}else c.length=0;return c})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(dr),m(({data:s})=>s)).pipe(w(s=>o.next(s)),_(()=>o.complete()),m(()=>({ref:e})))}function ui(e,{index$:t,keyboard$:r}){let o=xe();try{let n=ai(o.search,t),i=Se("search-query",e),a=Se("search-result",e);h(e,"click").pipe(b(({target:p})=>p instanceof Element&&!!p.closest("a"))).subscribe(()=>Je("search",!1)),r.pipe(b(({mode:p})=>p==="search")).subscribe(p=>{let c=Ie();switch(p.type){case"Enter":if(c===i){let l=new Map;for(let f of P(":first-child [href]",a)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}p.claim()}break;case"Escape":case"Tab":Je("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof c=="undefined")i.focus();else{let l=[i,...P(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(c))+l.length+(p.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}p.claim();break;default:i!==Ie()&&i.focus()}}),r.pipe(b(({mode:p})=>p==="global")).subscribe(p=>{switch(p.type){case"f":case"s":case"/":i.focus(),i.select(),p.claim();break}});let s=pi(i,{worker$:n});return O(s,li(a,{worker$:n,query$:s})).pipe(Re(...ae("search-share",e).map(p=>mi(p,{query$:s})),...ae("search-suggest",e).map(p=>fi(p,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ye}}function di(e,{index$:t,location$:r}){return N([t,r.pipe(Q(ye()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>ii(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let p=s.textContent,c=o(p);c.length>p.length&&n.set(s,c)}for(let[s,p]of n){let{childNodes:c}=x("span",null,p);s.replaceWith(...Array.from(c))}return{ref:e,nodes:n}}))}function fs(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return N([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),K((i,a)=>i.height===a.height&&i.locked===a.locked))}function Zr(e,o){var n=o,{header$:t}=n,r=so(n,["header$"]);let i=R(".md-sidebar__scrollwrap",e),{y:a}=De(i);return C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=s.pipe(Me(0,me));return c.pipe(re(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),c.pipe(Ae()).subscribe(()=>{for(let l of P(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2})}}}),ue(P("label[tabindex]",e)).pipe(ne(l=>h(l,"click").pipe(ve(se),m(()=>l),W(p)))).subscribe(l=>{let f=R(`[id="${l.htmlFor}"]`);R(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),fs(e,r).pipe(w(l=>s.next(l)),_(()=>s.complete()),m(l=>$({ref:e},l)))})}function hi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return st(je(`${r}/releases/latest`).pipe(de(()=>S),m(o=>({version:o.tag_name})),Ve({})),je(r).pipe(de(()=>S),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),Ve({}))).pipe(m(([o,n])=>$($({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return je(r).pipe(m(o=>({repositories:o.public_repos})),Ve({}))}}function bi(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return st(je(`${r}/releases/permalink/latest`).pipe(de(()=>S),m(({tag_name:o})=>({version:o})),Ve({})),je(r).pipe(de(()=>S),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Ve({}))).pipe(m(([o,n])=>$($({},o),n)))}function vi(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return hi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return bi(r,o)}return S}var us;function ds(e){return us||(us=C(()=>{let t=__md_get("__source",sessionStorage);if(t)return I(t);if(ae("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return S}return vi(e.href).pipe(w(o=>__md_set("__source",o,sessionStorage)))}).pipe(de(()=>S),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),G(1)))}function gi(e){let t=R(":scope > :last-child",e);return C(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(_n(o)),t.classList.add("md-source__repository--active")}),ds(e).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function hs(e,{viewport$:t,header$:r}){return ge(document.body).pipe(v(()=>mr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),te("hidden"))}function yi(e,t){return C(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(B("navigation.tabs.sticky")?I({hidden:!1}):hs(e,t)).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function bs(e,{viewport$:t,header$:r}){let o=new Map,n=P(".md-nav__link",e);for(let s of n){let p=decodeURIComponent(s.hash.substring(1)),c=fe(`[id="${p}"]`);typeof c!="undefined"&&o.set(s,c)}let i=r.pipe(te("height"),m(({height:s})=>{let p=Se("main"),c=R(":scope > :first-child",p);return s+.8*(c.offsetTop-p.offsetTop)}),pe());return ge(document.body).pipe(te("height"),v(s=>C(()=>{let p=[];return I([...o].reduce((c,[l,f])=>{for(;p.length&&o.get(p[p.length-1]).tagName>=f.tagName;)p.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return c.set([...p=[...p,l]].reverse(),u)},new Map))}).pipe(m(p=>new Map([...p].sort(([,c],[,l])=>c-l))),He(i),v(([p,c])=>t.pipe(Fr(([l,f],{offset:{y:u},size:d})=>{let y=u+d.height>=Math.floor(s.height);for(;f.length;){let[,L]=f[0];if(L-c=u&&!y)f=[l.pop(),...f];else break}return[l,f]},[[],[...p]]),K((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,p])=>({prev:s.map(([c])=>c),next:p.map(([c])=>c)})),Q({prev:[],next:[]}),Be(2,1),m(([s,p])=>s.prev.length{let i=new g,a=i.pipe(Z(),ie(!0));if(i.subscribe(({prev:s,next:p})=>{for(let[c]of p)c.classList.remove("md-nav__link--passed"),c.classList.remove("md-nav__link--active");for(let[c,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",c===s.length-1)}),B("toc.follow")){let s=O(t.pipe(_e(1),m(()=>{})),t.pipe(_e(250),m(()=>"smooth")));i.pipe(b(({prev:p})=>p.length>0),He(o.pipe(ve(se))),re(s)).subscribe(([[{prev:p}],c])=>{let[l]=p[p.length-1];if(l.offsetHeight){let f=cr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2,behavior:c})}}})}return B("navigation.tracking")&&t.pipe(W(a),te("offset"),_e(250),Ce(1),W(n.pipe(Ce(1))),ct({delay:250}),re(i)).subscribe(([,{prev:s}])=>{let p=ye(),c=s[s.length-1];if(c&&c.length){let[l]=c,{hash:f}=new URL(l.href);p.hash!==f&&(p.hash=f,history.replaceState({},"",`${p}`))}else p.hash="",history.replaceState({},"",`${p}`)}),bs(e,{viewport$:t,header$:r}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function vs(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Be(2,1),m(([a,s])=>a>s&&s>0),K()),i=r.pipe(m(({active:a})=>a));return N([i,n]).pipe(m(([a,s])=>!(a&&s)),K(),W(o.pipe(Ce(1))),ie(!0),ct({delay:250}),m(a=>({hidden:a})))}function Ei(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(W(a),te("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),h(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),vs(e,{viewport$:t,main$:o,target$:n}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))}function wi({document$:e,viewport$:t}){e.pipe(v(()=>P(".md-ellipsis")),ne(r=>tt(r).pipe(W(e.pipe(Ce(1))),b(o=>o),m(()=>r),Te(1))),b(r=>r.offsetWidth{let o=r.innerText,n=r.closest("a")||r;return n.title=o,B("content.tooltips")?mt(n,{viewport$:t}).pipe(W(e.pipe(Ce(1))),_(()=>n.removeAttribute("title"))):S})).subscribe(),B("content.tooltips")&&e.pipe(v(()=>P(".md-status")),ne(r=>mt(r,{viewport$:t}))).subscribe()}function Ti({document$:e,tablet$:t}){e.pipe(v(()=>P(".md-toggle--indeterminate")),w(r=>{r.indeterminate=!0,r.checked=!1}),ne(r=>h(r,"change").pipe(Vr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),re(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function gs(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Si({document$:e}){e.pipe(v(()=>P("[data-md-scrollfix]")),w(t=>t.removeAttribute("data-md-scrollfix")),b(gs),ne(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Oi({viewport$:e,tablet$:t}){N([Ne("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>I(r).pipe(Ge(r?400:100))),re(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function ys(){return location.protocol==="file:"?wt(`${new URL("search/search_index.js",eo.base)}`).pipe(m(()=>__index),G(1)):je(new URL("search/search_index.json",eo.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var ot=Go(),Ft=sn(),Ot=ln(Ft),to=an(),Oe=gn(),hr=$t("(min-width: 60em)"),Mi=$t("(min-width: 76.25em)"),_i=mn(),eo=xe(),Ai=document.forms.namedItem("search")?ys():Ye,ro=new g;Zn({alert$:ro});var oo=new g;B("navigation.instant")&&oi({location$:Ft,viewport$:Oe,progress$:oo}).subscribe(ot);var Li;((Li=eo.version)==null?void 0:Li.provider)==="mike"&&ci({document$:ot});O(Ft,Ot).pipe(Ge(125)).subscribe(()=>{Je("drawer",!1),Je("search",!1)});to.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=fe("link[rel=prev]");typeof t!="undefined"&<(t);break;case"n":case".":let r=fe("link[rel=next]");typeof r!="undefined"&<(r);break;case"Enter":let o=Ie();o instanceof HTMLLabelElement&&o.click()}});wi({viewport$:Oe,document$:ot});Ti({document$:ot,tablet$:hr});Si({document$:ot});Oi({viewport$:Oe,tablet$:hr});var rt=Kn(Se("header"),{viewport$:Oe}),jt=ot.pipe(m(()=>Se("main")),v(e=>Gn(e,{viewport$:Oe,header$:rt})),G(1)),xs=O(...ae("consent").map(e=>En(e,{target$:Ot})),...ae("dialog").map(e=>qn(e,{alert$:ro})),...ae("palette").map(e=>Jn(e)),...ae("progress").map(e=>Xn(e,{progress$:oo})),...ae("search").map(e=>ui(e,{index$:Ai,keyboard$:to})),...ae("source").map(e=>gi(e))),Es=C(()=>O(...ae("announce").map(e=>xn(e)),...ae("content").map(e=>Nn(e,{viewport$:Oe,target$:Ot,print$:_i})),...ae("content").map(e=>B("search.highlight")?di(e,{index$:Ai,location$:Ft}):S),...ae("header").map(e=>Yn(e,{viewport$:Oe,header$:rt,main$:jt})),...ae("header-title").map(e=>Bn(e,{viewport$:Oe,header$:rt})),...ae("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?zr(Mi,()=>Zr(e,{viewport$:Oe,header$:rt,main$:jt})):zr(hr,()=>Zr(e,{viewport$:Oe,header$:rt,main$:jt}))),...ae("tabs").map(e=>yi(e,{viewport$:Oe,header$:rt})),...ae("toc").map(e=>xi(e,{viewport$:Oe,header$:rt,main$:jt,target$:Ot})),...ae("top").map(e=>Ei(e,{viewport$:Oe,header$:rt,main$:jt,target$:Ot})))),Ci=ot.pipe(v(()=>Es),Re(xs),G(1));Ci.subscribe();window.document$=ot;window.location$=Ft;window.target$=Ot;window.keyboard$=to;window.viewport$=Oe;window.tablet$=hr;window.screen$=Mi;window.print$=_i;window.alert$=ro;window.progress$=oo;window.component$=Ci;})(); +//# sourceMappingURL=bundle.50899def.min.js.map + diff --git a/0.12.1/assets/javascripts/bundle.50899def.min.js.map b/0.12.1/assets/javascripts/bundle.50899def.min.js.map new file mode 100644 index 00000000..6130f725 --- /dev/null +++ b/0.12.1/assets/javascripts/bundle.50899def.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/escape-html/index.js", "node_modules/clipboard/dist/clipboard.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/tslib/tslib.es6.mjs", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/BehaviorSubject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/QueueAction.ts", "node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts", "node_modules/rxjs/src/internal/scheduler/queue.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounce.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/hover/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/tooltip2/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/tooltip/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/findurl/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/ellipsis/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*\n * Copyright (c) 2016-2025 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchEllipsis,\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 60em)\")\nconst screen$ = watchMedia(\"(min-width: 76.25em)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchEllipsis({ viewport$, document$ })\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n */\nexport class Subscription implements SubscriptionLike {\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param value The `next` value.\n */\n next(value: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param err The `error` exception.\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as ((value: T) => void) | undefined,\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent.\n * @param subscriber The stopped subscriber.\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @param subscribe The function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @param subscribe the subscriber function to be passed to the Observable constructor\n * @return A new observable.\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @param operator the operator defining the operation to take on the observable\n * @return A new observable with the Operator applied.\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param observerOrNext Either an {@link Observer} with some or all callback methods,\n * or the `next` handler that is called for each value emitted from the subscribed Observable.\n * @param error A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param complete A handler for a terminal event resulting from successful completion.\n * @return A subscription reference to the registered handlers.\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next A handler for each value emitted by the observable.\n * @return A promise that either resolves on observable completion or\n * rejects with the handled error.\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @return This instance of the observable.\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe
    (op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n *\n * @return The Observable result of all the operators having been called\n * in the order they were passed in.\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return Observable that this Subject casts to.\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * A variant of Subject that requires an initial value and emits its current\n * value whenever it is subscribed to.\n */\nexport class BehaviorSubject extends Subject {\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n\n getValue(): T {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n\n next(value: T): void {\n super.next((this._value = value));\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param _bufferSize The size of the buffer to replay on subscription\n * @param _windowTime The amount of time the buffered items will stay buffered\n * @param _timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param state Some contextual data that the `work` function uses when called by the\n * Scheduler.\n * @param delay Time to wait before executing the work, where the time unit is implicit\n * and defined by the Scheduler.\n * @return A subscription in order to be able to unsubscribe the scheduled work.\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param work A function representing a task, or some unit of work to be\n * executed by the Scheduler.\n * @param delay Time to wait before executing the work, where the time unit is\n * implicit and defined by the Scheduler itself.\n * @param state Some contextual data that the `work` function uses when called\n * by the Scheduler.\n * @return A subscription in order to be able to unsubscribe the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class QueueAction extends AsyncAction {\n constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n\n // Otherwise flush the scheduler starting with this action.\n scheduler.flush(this);\n\n // HACK: In the past, this was returning `void`. However, `void` isn't a valid\n // `TimerHandle`, and generally the return value here isn't really used. So the\n // compromise is to return `0` which is both \"falsy\" and a valid `TimerHandle`,\n // as opposed to refactoring every other instanceo of `requestAsyncId`.\n return 0;\n }\n}\n", "import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n", "import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * Put every next task on a queue, instead of executing it immediately\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * ## Examples\n * Schedule recursively first, then do something\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(() => {\n * queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n * ```\n *\n * Reschedule itself recursively\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n * ```\n */\n\nexport const queueScheduler = new QueueScheduler(QueueAction);\n\n/**\n * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8.\n */\nexport const queue = queueScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && id === scheduler._scheduled && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n let flushId;\n if (action) {\n flushId = action.id;\n } else {\n flushId = this._scheduled;\n this._scheduled = undefined;\n }\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:
    \n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an

    eM{1C|@<@!+Z?J*w`QDs`}@uK8P$U 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f8b493b7ed771c55b8d430f3026e38d0f5fe7a6 GIT binary patch literal 22796 zcmV)5K*_&%Pew8T0RR9109gzG761SM0H3G;09cm*0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7c16c79f77f7cec629075a0a0518a610a6f79f5a GIT binary patch literal 40128 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 E09-LLyZ`_I literal 0 HcmV?d00001 diff --git a/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2 b/0.12.1/assets/external/fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6c8d1c003555a2e600511f63649abcb468aafa63 GIT binary patch literal 40688 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 n#q5a%L4G|{5Dnsyj|{var Y3e=Object.create;var Dy=Object.defineProperty;var X3e=Object.getOwnPropertyDescriptor;var j3e=Object.getOwnPropertyNames;var K3e=Object.getPrototypeOf,Q3e=Object.prototype.hasOwnProperty;var o=(t,e)=>Dy(t,"name",{value:e,configurable:!0});var M=(t,e)=>()=>(t&&(e=t(t=0)),e);var sa=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),dr=(t,e)=>{for(var r in e)Dy(t,r,{get:e[r],enumerable:!0})},W4=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of j3e(e))!Q3e.call(t,i)&&i!==r&&Dy(t,i,{get:()=>e[i],enumerable:!(n=X3e(e,i))||n.enumerable});return t},Lr=(t,e,r)=>(W4(t,e,"default"),r&&W4(r,e,"default")),La=(t,e,r)=>(r=t!=null?Y3e(K3e(t)):{},W4(e||!t||!t.__esModule?Dy(r,"default",{value:t,enumerable:!0}):r,t)),Z3e=t=>W4(Dy({},"__esModule",{value:!0}),t);var J3e,y0,t7,Wz,Y4=M(()=>{"use strict";J3e=Object.freeze({left:0,top:0,width:16,height:16}),y0=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),t7=Object.freeze({...J3e,...y0}),Wz=Object.freeze({...t7,body:"",hidden:!1})});var e5e,Yz,Xz=M(()=>{"use strict";Y4();e5e=Object.freeze({width:null,height:null}),Yz=Object.freeze({...e5e,...y0})});var r7,X4,jz=M(()=>{"use strict";r7=o((t,e,r,n="")=>{let 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){let l=i.pop(),u=i.pop(),h={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!X4(h)?null:h}let a=i[0],s=a.split("-");if(s.length>1){let l={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!X4(l)?null:l}if(r&&n===""){let l={provider:n,prefix:"",name:a};return e&&!X4(l,r)?null:l}return null},"stringToIcon"),X4=o((t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1,"validateIconName")});function Kz(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var Qz=M(()=>{"use strict";o(Kz,"mergeIconTransformations")});function n7(t,e){let r=Kz(t,e);for(let n in Wz)n in y0?n in t&&!(n in r)&&(r[n]=y0[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var Zz=M(()=>{"use strict";Y4();Qz();o(n7,"mergeIconData")});function Jz(t,e){let 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;let l=n[s]&&n[s].parent,u=l&&a(l);u&&(i[s]=[l].concat(u))}return i[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var eG=M(()=>{"use strict";o(Jz,"getIconsTree")});function tG(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function s(l){a=n7(n[l]||i[l],a)}return o(s,"parse"),s(e),r.forEach(s),n7(t,a)}function i7(t,e){if(t.icons[e])return tG(t,e,[]);let r=Jz(t,[e])[e];return r?tG(t,e,r):null}var rG=M(()=>{"use strict";Zz();eG();o(tG,"internalGetIconData");o(i7,"getIconData")});function a7(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;let n=t.split(t5e);if(n===null||!n.length)return t;let i=[],a=n.shift(),s=r5e.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?i.push(a):i.push(Math.ceil(l*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}var t5e,r5e,nG=M(()=>{"use strict";t5e=/(-?[0-9.]*[0-9]+[0-9.]*)/g,r5e=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(a7,"calculateSize")});function n5e(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=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 i5e(t,e){return t?""+t+""+e:e}function iG(t,e,r){let n=n5e(t);return i5e(n.defs,e+n.content+r)}var aG=M(()=>{"use strict";o(n5e,"splitSVGDefs");o(i5e,"mergeDefsAndContent");o(iG,"wrapSVGContent")});function s7(t,e){let r={...t7,...t},n={...Yz,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,T=y.rotate;x?b?T+=2:(v.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),v.push("scale(-1 1)"),i.top=i.left=0):b&&(v.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),v.push("scale(1 -1)"),i.top=i.left=0);let S;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:S=i.height/2+i.top,v.unshift("rotate(90 "+S.toString()+" "+S.toString()+")");break;case 2:v.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:S=i.width/2+i.left,v.unshift("rotate(-90 "+S.toString()+" "+S.toString()+")");break}T%2===1&&(i.left!==i.top&&(S=i.left,i.left=i.top,i.top=S),i.width!==i.height&&(S=i.width,i.width=i.height,i.height=S)),v.length&&(a=iG(a,'',""))});let s=n.width,l=n.height,u=i.width,h=i.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=a7(d,u/h)):(f=s==="auto"?u:s,d=l===null?a7(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{a5e(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[i.left,i.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var a5e,sG=M(()=>{"use strict";Y4();Xz();nG();aG();a5e=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(s7,"iconToSVG")});function o7(t,e=o5e){let r=[],n;for(;n=s5e.exec(t);)r.push(n[1]);if(!r.length)return t;let i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(l5e++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),t=t.replace(new RegExp(i,"g"),""),t}var s5e,o5e,l5e,oG=M(()=>{"use strict";s5e=/\sid="(\S+)"/g,o5e="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),l5e=0;o(o7,"replaceIDs")});function l7(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}var lG=M(()=>{"use strict";o(l7,"iconToHTML")});var cG=M(()=>{"use strict";jz();rG();sG();oG();lG()});var c7,Rn,v0=M(()=>{"use strict";c7=o((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>c7(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=c7(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),Rn=c7});var j4=sa((u7,h7)=>{"use strict";(function(t,e){typeof u7=="object"&&typeof h7<"u"?h7.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(u7,(function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|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,v={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:o(function(E){var _=["th","st","nd","rd"],D=E%100;return"["+E+(_[(D-20)%10]||_[D]||_[0])+"]"},"ordinal")},x=o(function(E,_,D){var O=String(E);return!O||O.length>=_?E:""+Array(_+1-O.length).join(D)+E},"m"),b={s:x,z:o(function(E){var _=-E.utcOffset(),D=Math.abs(_),O=Math.floor(D/60),N=D%60;return(_<=0?"+":"-")+x(O,2,"0")+":"+x(N,2,"0")},"z"),m:o(function E(_,D){if(_.date()1)return E(B[0])}else{var F=_.name;S[F]=_,N=F}return!O&&N&&(T=N),N||!O&&T},"t"),A=o(function(E,_){if(k(E))return E.clone();var D=typeof _=="object"?_:{};return D.date=E,D.args=arguments,new I(D)},"O"),L=b;L.l=C,L.i=k,L.w=function(E,_){return A(E,{locale:_.$L,utc:_.$u,x:_.$x,$offset:_.$offset})};var I=(function(){function E(D){this.$L=C(D.locale,null,!0),this.parse(D),this.$x=this.$x||D.x||{},this[w]=!0}o(E,"M");var _=E.prototype;return _.parse=function(D){this.$d=(function(O){var N=O.date,P=O.utc;if(N===null)return new Date(NaN);if(L.u(N))return new Date;if(N instanceof Date)return new Date(N);if(typeof N=="string"&&!/Z$/i.test(N)){var B=N.match(g);if(B){var F=B[2]-1||0,V=(B[7]||"0").substring(0,3);return P?new Date(Date.UTC(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,V)):new Date(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,V)}}return new Date(N)})(D),this.init()},_.init=function(){var D=this.$d;this.$y=D.getFullYear(),this.$M=D.getMonth(),this.$D=D.getDate(),this.$W=D.getDay(),this.$H=D.getHours(),this.$m=D.getMinutes(),this.$s=D.getSeconds(),this.$ms=D.getMilliseconds()},_.$utils=function(){return L},_.isValid=function(){return this.$d.toString()!==m},_.isSame=function(D,O){var N=A(D);return this.startOf(O)<=N&&N<=this.endOf(O)},_.isAfter=function(D,O){return A(D){"use strict";uG=La(j4(),1),au={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},X={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},Ly=o(function(t="fatal"){let e=au.fatal;typeof t=="string"?t.toLowerCase()in au&&(e=au[t]):typeof t=="number"&&(e=t),X.trace=()=>{},X.debug=()=>{},X.info=()=>{},X.warn=()=>{},X.error=()=>{},X.fatal=()=>{},e<=au.fatal&&(X.fatal=console.error?console.error.bind(console,Eo("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Eo("FATAL"))),e<=au.error&&(X.error=console.error?console.error.bind(console,Eo("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Eo("ERROR"))),e<=au.warn&&(X.warn=console.warn?console.warn.bind(console,Eo("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Eo("WARN"))),e<=au.info&&(X.info=console.info?console.info.bind(console,Eo("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Eo("INFO"))),e<=au.debug&&(X.debug=console.debug?console.debug.bind(console,Eo("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Eo("DEBUG"))),e<=au.trace&&(X.trace=console.debug?console.debug.bind(console,Eo("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Eo("TRACE")))},"setLogLevel"),Eo=o(t=>`%c${(0,uG.default)().format("ss.SSS")} : ${t} : `,"format")});var K4,hG,fG=M(()=>{"use strict";K4={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:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return K4.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return K4.hue2rgb(a,i,t)*255;case"b":return K4.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let 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;let l=i-a,u=s>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";c5e={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},dG=c5e});var u5e,mG,gG=M(()=>{"use strict";u5e={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},mG=u5e});var h5e,Kt,Xl=M(()=>{"use strict";fG();pG();gG();h5e={channel:hG,lang:dG,unit:mG},Kt=h5e});var su,Ni,Ry=M(()=>{"use strict";Xl();su={};for(let t=0;t<=255;t++)su[t]=Kt.unit.dec2hex(t);Ni={ALL:0,RGB:1,HSL:2}});var f7,yG,vG=M(()=>{"use strict";Ry();f7=class{static{o(this,"Type")}constructor(){this.type=Ni.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=Ni.ALL}is(e){return this.type===e}},yG=f7});var d7,xG,bG=M(()=>{"use strict";Xl();vG();Ry();d7=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new yG}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Ni.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=Kt.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=Kt.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=Kt.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=Kt.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=Kt.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=Kt.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Ni.HSL)&&r!==void 0?r:(this._ensureHSL(),Kt.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Ni.HSL)&&r!==void 0?r:(this._ensureHSL(),Kt.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Ni.HSL)&&r!==void 0?r:(this._ensureHSL(),Kt.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Ni.RGB)&&r!==void 0?r:(this._ensureRGB(),Kt.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Ni.RGB)&&r!==void 0?r:(this._ensureRGB(),Kt.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Ni.RGB)&&r!==void 0?r:(this._ensureRGB(),Kt.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Ni.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Ni.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Ni.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Ni.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Ni.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Ni.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},xG=d7});var f5e,fh,Ny=M(()=>{"use strict";bG();f5e=new xG({r:0,g:0,b:0,a:0},"transparent"),fh=f5e});var TG,od,p7=M(()=>{"use strict";Ny();Ry();TG={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(TG.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return fh.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${su[Math.round(e)]}${su[Math.round(r)]}${su[Math.round(n)]}${su[Math.round(i*255)]}`:`#${su[Math.round(e)]}${su[Math.round(r)]}${su[Math.round(n)]}`},"stringify")},od=TG});var Q4,My,wG=M(()=>{"use strict";Xl();Ny();Q4={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:o(t=>{let e=t.match(Q4.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return Kt.channel.clamp.h(parseFloat(r)*.9);case"rad":return Kt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return Kt.channel.clamp.h(parseFloat(r)*360)}}return Kt.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(Q4.re);if(!r)return;let[,n,i,a,s,l]=r;return fh.set({h:Q4._hue2deg(n),s:Kt.channel.clamp.s(parseFloat(i)),l:Kt.channel.clamp.l(parseFloat(a)),a:s?Kt.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${Kt.lang.round(e)}, ${Kt.lang.round(r)}%, ${Kt.lang.round(n)}%, ${i})`:`hsl(${Kt.lang.round(e)}, ${Kt.lang.round(r)}%, ${Kt.lang.round(n)}%)`},"stringify")},My=Q4});var Z4,m7,kG=M(()=>{"use strict";p7();Z4={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:o(t=>{t=t.toLowerCase();let e=Z4.colors[t];if(e)return od.parse(e)},"parse"),stringify:o(t=>{let e=od.stringify(t);for(let r in Z4.colors)if(Z4.colors[r]===e)return r},"stringify")},m7=Z4});var EG,Iy,SG=M(()=>{"use strict";Xl();Ny();EG={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:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(EG.re);if(!r)return;let[,n,i,a,s,l,u,h,f]=r;return fh.set({r:Kt.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:Kt.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:Kt.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?Kt.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${Kt.lang.round(e)}, ${Kt.lang.round(r)}, ${Kt.lang.round(n)}, ${Kt.lang.round(i)})`:`rgb(${Kt.lang.round(e)}, ${Kt.lang.round(r)}, ${Kt.lang.round(n)})`},"stringify")},Iy=EG});var d5e,Mi,ou=M(()=>{"use strict";p7();wG();kG();SG();Ry();d5e={format:{keyword:m7,hex:od,rgb:Iy,rgba:Iy,hsl:My,hsla:My},parse:o(t=>{if(typeof t!="string")return t;let e=od.parse(t)||Iy.parse(t)||My.parse(t)||m7.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(Ni.HSL)||t.data.r===void 0?My.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Iy.stringify(t):od.stringify(t),"stringify")},Mi=d5e});var p5e,J4,g7=M(()=>{"use strict";Xl();ou();p5e=o((t,e)=>{let r=Mi.parse(t);for(let n in e)r[n]=Kt.channel.clamp[n](e[n]);return Mi.stringify(r)},"change"),J4=p5e});var m5e,Ka,y7=M(()=>{"use strict";Xl();Ny();ou();g7();m5e=o((t,e,r=0,n=1)=>{if(typeof t!="number")return J4(t,{a:e});let i=fh.set({r:Kt.channel.clamp.r(t),g:Kt.channel.clamp.g(e),b:Kt.channel.clamp.b(r),a:Kt.channel.clamp.a(n)});return Mi.stringify(i)},"rgba"),Ka=m5e});var g5e,ld,CG=M(()=>{"use strict";Xl();ou();g5e=o((t,e)=>Kt.lang.round(Mi.parse(t)[e]),"channel"),ld=g5e});var y5e,AG,_G=M(()=>{"use strict";Xl();ou();y5e=o(t=>{let{r:e,g:r,b:n}=Mi.parse(t),i=.2126*Kt.channel.toLinear(e)+.7152*Kt.channel.toLinear(r)+.0722*Kt.channel.toLinear(n);return Kt.lang.round(i)},"luminance"),AG=y5e});var v5e,DG,LG=M(()=>{"use strict";_G();v5e=o(t=>AG(t)>=.5,"isLight"),DG=v5e});var x5e,oa,RG=M(()=>{"use strict";LG();x5e=o(t=>!DG(t),"isDark"),oa=x5e});var b5e,e3,v7=M(()=>{"use strict";Xl();ou();b5e=o((t,e,r)=>{let n=Mi.parse(t),i=n[e],a=Kt.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Mi.stringify(n)},"adjustChannel"),e3=b5e});var T5e,Rt,NG=M(()=>{"use strict";v7();T5e=o((t,e)=>e3(t,"l",e),"lighten"),Rt=T5e});var w5e,Pt,MG=M(()=>{"use strict";v7();w5e=o((t,e)=>e3(t,"l",-e),"darken"),Pt=w5e});var k5e,Pe,IG=M(()=>{"use strict";ou();g7();k5e=o((t,e)=>{let r=Mi.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return J4(t,n)},"adjust"),Pe=k5e});var E5e,OG,PG=M(()=>{"use strict";ou();y7();E5e=o((t,e,r=50)=>{let{r:n,g:i,b:a,a:s}=Mi.parse(t),{r:l,g:u,b:h,a:f}=Mi.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,T=a*y+h*v,S=s*d+f*(1-d);return Ka(x,b,T,S)},"mix"),OG=E5e});var S5e,Et,BG=M(()=>{"use strict";ou();PG();S5e=o((t,e=100)=>{let r=Mi.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,OG(r,t,e)},"invert"),Et=S5e});var FG=M(()=>{"use strict";y7();CG();RG();NG();MG();IG();BG()});var eo=M(()=>{"use strict";FG()});var dh,ph,Oy=M(()=>{"use strict";dh="#ffffff",ph="#f2f2f2"});var wi,x0=M(()=>{"use strict";eo();wi=o((t,e)=>e?Pe(t,{s:-40,l:10}):Pe(t,{s:-40,l:-10}),"mkBorder")});var b7,$G,zG=M(()=>{"use strict";eo();Oy();x0();b7=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Pe(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Pe(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wi(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wi(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wi(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Et(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Et(this.tertiaryColor),this.lineColor=this.lineColor||Et(this.background),this.arrowheadColor=this.arrowheadColor||Et(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?Pt(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||Pt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Et(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Rt(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.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||Pt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Pt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||Rt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||Rt(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||Pe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Pe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Pe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Pe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Pe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Pe(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Pe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Pe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Pe(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},$G=o(t=>{let e=new b7;return e.calculate(t),e},"getThemeVariables")});var T7,GG,VG=M(()=>{"use strict";eo();x0();T7=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Rt(this.primaryColor,16),this.tertiaryColor=Pe(this.primaryColor,{h:-160}),this.primaryBorderColor=Et(this.background),this.secondaryBorderColor=wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wi(this.tertiaryColor,this.darkMode),this.primaryTextColor=Et(this.primaryColor),this.secondaryTextColor=Et(this.secondaryColor),this.tertiaryTextColor=Et(this.tertiaryColor),this.lineColor=Et(this.background),this.textColor=Et(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Rt(Et("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Ka(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Pt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Pt(this.sectionBkgColor,10),this.taskBorderColor=Ka(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Ka(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||Rt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Pt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=Rt(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=Rt(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.altSectionBkgColor=this.background,this.taskBkgColor=Rt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.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=Pe(this.primaryColor,{h:64}),this.fillType3=Pe(this.secondaryColor,{h:64}),this.fillType4=Pe(this.primaryColor,{h:-64}),this.fillType5=Pe(this.secondaryColor,{h:-64}),this.fillType6=Pe(this.primaryColor,{h:128}),this.fillType7=Pe(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||Pe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Pe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Pe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Pe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Pe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Pe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Pe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Pe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Pe(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},GG=o(t=>{let e=new T7;return e.calculate(t),e},"getThemeVariables")});var w7,mh,Py=M(()=>{"use strict";eo();x0();Oy();w7=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Pe(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Pe(this.primaryColor,{h:-160}),this.primaryBorderColor=wi(this.primaryColor,this.darkMode),this.secondaryBorderColor=wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wi(this.tertiaryColor,this.darkMode),this.primaryTextColor=Et(this.primaryColor),this.secondaryTextColor=Et(this.secondaryColor),this.tertiaryTextColor=Et(this.tertiaryColor),this.lineColor=Et(this.background),this.textColor=Et(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="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.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=Ka(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.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.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Pe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Pe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Pe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Pe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Pe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Pe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Pe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Pe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Pe(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Pt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}let r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},mh=o(t=>{let e=new w7;return e.calculate(t),e},"getThemeVariables")});var k7,UG,HG=M(()=>{"use strict";eo();Oy();x0();k7=class{static{o(this,"Theme")}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=Rt("#cde498",10),this.primaryBorderColor=wi(this.primaryColor,this.darkMode),this.secondaryBorderColor=wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wi(this.tertiaryColor,this.darkMode),this.primaryTextColor=Et(this.primaryColor),this.secondaryTextColor=Et(this.secondaryColor),this.tertiaryTextColor=Et(this.primaryColor),this.lineColor=Et(this.background),this.textColor=Et(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="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.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=Pt(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.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Pe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Pe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Pe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Pe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Pe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Pe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Pe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Pe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Pe(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Pt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Pt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},UG=o(t=>{let e=new k7;return e.calculate(t),e},"getThemeVariables")});var E7,qG,WG=M(()=>{"use strict";eo();x0();Oy();E7=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Rt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Pe(this.primaryColor,{h:-160}),this.primaryBorderColor=wi(this.primaryColor,this.darkMode),this.secondaryBorderColor=wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wi(this.tertiaryColor,this.darkMode),this.primaryTextColor=Et(this.primaryColor),this.secondaryTextColor=Et(this.secondaryColor),this.tertiaryTextColor=Et(this.tertiaryColor),this.lineColor=Et(this.background),this.textColor=Et(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=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.rowOdd=this.rowOdd||Rt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=Rt(this.contrast,55),this.border2=this.contrast,this.actorBorder=Rt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,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 e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},qG=o(t=>{let e=new E7;return e.calculate(t),e},"getThemeVariables")});var So,t3=M(()=>{"use strict";zG();VG();Py();HG();WG();So={base:{getThemeVariables:$G},dark:{getThemeVariables:GG},default:{getThemeVariables:mh},forest:{getThemeVariables:UG},neutral:{getThemeVariables:qG}}});var ul,YG=M(()=>{"use strict";ul={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!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},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},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,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},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:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},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}});var XG,jG,KG,ur,Ra=M(()=>{"use strict";t3();YG();XG={...ul,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:So.default.getThemeVariables(),sequence:{...ul.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...ul.gantt,tickInterval:void 0,useWidth:void 0},c4:{...ul.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...ul.flowchart,inheritDir:!1},external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...ul.pie,useWidth:984},xyChart:{...ul.xyChart,useWidth:void 0},requirement:{...ul.requirement,useWidth:void 0},packet:{...ul.packet},radar:{...ul.radar},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","}},jG=o((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...jG(t[n],"")]:[...r,e+n],[]),"keyify"),KG=new Set(jG(XG,"")),ur=XG});var b0,C5e,S7=M(()=>{"use strict";Ra();pt();b0=o(t=>{if(X.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>b0(e));return}for(let e of Object.keys(t)){if(X.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!KG.has(e)||t[e]==null){X.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){X.debug("sanitizing object",e),b0(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(X.debug("sanitizing css option",e),t[e]=C5e(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}X.debug("After sanitization",t)}},"sanitizeDirective"),C5e=o(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";v0();pt();t3();Ra();S7();gh=Object.freeze(ur),Es=Rn({},gh),cd=[],By=Rn({},gh),n3=o((t,e)=>{let r=Rn({},t),n={};for(let i of e)eV(i),n=Rn(n,i);if(r=Rn(r,n),n.theme&&n.theme in So){let i=Rn({},r3),a=Rn(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in So&&(r.themeVariables=So[r.theme].getThemeVariables(a))}return By=r,rV(By),By},"updateCurrentConfig"),C7=o(t=>(Es=Rn({},gh),Es=Rn(Es,t),t.theme&&So[t.theme]&&(Es.themeVariables=So[t.theme].getThemeVariables(t.themeVariables)),n3(Es,cd),Es),"setSiteConfig"),ZG=o(t=>{r3=Rn({},t)},"saveConfigFromInitialize"),JG=o(t=>(Es=Rn(Es,t),n3(Es,cd),Es),"updateSiteConfig"),A7=o(()=>Rn({},Es),"getSiteConfig"),i3=o(t=>(rV(t),Rn(By,t),Qt()),"setConfig"),Qt=o(()=>Rn({},By),"getConfig"),eV=o(t=>{t&&(["secure",...Es.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(X.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"&&eV(t[e])}))},"sanitize"),tV=o(t=>{b0(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),cd.push(t),n3(Es,cd)},"addDirective"),Fy=o((t=Es)=>{cd=[],n3(t,cd)},"reset"),A5e={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},QG={},_5e=o(t=>{QG[t]||(X.warn(A5e[t]),QG[t]=!0)},"issueWarning"),rV=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&_5e("LAZY_LOAD_DEPRECATED")},"checkConfig"),nV=o(()=>{let t={};r3&&(t=Rn(t,r3));for(let e of cd)t=Rn(t,e);return t},"getUserDefinedConfig")});function Ja(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;i2&&arguments[2]!==void 0?arguments[2]:o3;iV&&iV(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let a=r(i);a!==i&&(D5e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function B5e(t){for(let e=0;e0&&arguments[0]!==void 0?arguments[0]:X5e(),e=o(Ct=>yV(Ct),"DOMPurify");if(e.version="3.2.6",e.removed=[],!t||!t.document||t.document.nodeType!==Uy.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t,n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:u,NodeFilter:h,NamedNodeMap:f=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:m}=t,g=u.prototype,y=Vy(g,"cloneNode"),v=Vy(g,"remove"),x=Vy(g,"nextSibling"),b=Vy(g,"childNodes"),T=Vy(g,"parentNode");if(typeof s=="function"){let Ct=r.createElement("template");Ct.content&&Ct.content.ownerDocument&&(r=Ct.content.ownerDocument)}let S,w="",{implementation:k,createNodeIterator:C,createDocumentFragment:A,getElementsByTagName:L}=r,{importNode:I}=n,R=fV();e.isSupported=typeof dV=="function"&&typeof T=="function"&&k&&k.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:E,ERB_EXPR:_,TMPLIT_EXPR:D,DATA_ATTR:O,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:B,CUSTOM_ELEMENT:F}=hV,{IS_ALLOWED_URI:V}=hV,$=null,U=Nr({},[...oV,...D7,...L7,...R7,...lV]),j=null,ee=Nr({},[...cV,...N7,...uV,...s3]),q=Object.seal(pV(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}})),oe=null,Q=null,ue=!0,te=!0,re=!1,J=!0,K=!1,ae=!0,Z=!1,de=!1,ne=!1,Te=!1,W=!1,Ve=!1,pe=!0,Be=!1,Ye="user-content-",He=!0,Le=!1,Ie={},Ne=null,Ce=Nr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Fe=null,fe=Nr({},["audio","video","img","source","image","track"]),xe=null,Y=Nr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),he="http://www.w3.org/1998/Math/MathML",z="http://www.w3.org/2000/svg",se="http://www.w3.org/1999/xhtml",le=se,ke=!1,ve=null,ye=Nr({},[he,z,se],_7),Re=Nr({},["mi","mo","mn","ms","mtext"]),_e=Nr({},["annotation-xml"]),ze=Nr({},["title","style","font","a","script"]),Ke=null,xt=["application/xhtml+xml","text/html"],We="text/html",Oe=null,et=null,Ue=r.createElement("form"),lt=o(function(Se){return Se instanceof RegExp||Se instanceof Function},"isRegexOrFunction"),Gt=o(function(){let Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(et&&et===Se)){if((!Se||typeof Se!="object")&&(Se={}),Se=lu(Se),Ke=xt.indexOf(Se.PARSER_MEDIA_TYPE)===-1?We:Se.PARSER_MEDIA_TYPE,Oe=Ke==="application/xhtml+xml"?_7:o3,$=hl(Se,"ALLOWED_TAGS")?Nr({},Se.ALLOWED_TAGS,Oe):U,j=hl(Se,"ALLOWED_ATTR")?Nr({},Se.ALLOWED_ATTR,Oe):ee,ve=hl(Se,"ALLOWED_NAMESPACES")?Nr({},Se.ALLOWED_NAMESPACES,_7):ye,xe=hl(Se,"ADD_URI_SAFE_ATTR")?Nr(lu(Y),Se.ADD_URI_SAFE_ATTR,Oe):Y,Fe=hl(Se,"ADD_DATA_URI_TAGS")?Nr(lu(fe),Se.ADD_DATA_URI_TAGS,Oe):fe,Ne=hl(Se,"FORBID_CONTENTS")?Nr({},Se.FORBID_CONTENTS,Oe):Ce,oe=hl(Se,"FORBID_TAGS")?Nr({},Se.FORBID_TAGS,Oe):lu({}),Q=hl(Se,"FORBID_ATTR")?Nr({},Se.FORBID_ATTR,Oe):lu({}),Ie=hl(Se,"USE_PROFILES")?Se.USE_PROFILES:!1,ue=Se.ALLOW_ARIA_ATTR!==!1,te=Se.ALLOW_DATA_ATTR!==!1,re=Se.ALLOW_UNKNOWN_PROTOCOLS||!1,J=Se.ALLOW_SELF_CLOSE_IN_ATTR!==!1,K=Se.SAFE_FOR_TEMPLATES||!1,ae=Se.SAFE_FOR_XML!==!1,Z=Se.WHOLE_DOCUMENT||!1,Te=Se.RETURN_DOM||!1,W=Se.RETURN_DOM_FRAGMENT||!1,Ve=Se.RETURN_TRUSTED_TYPE||!1,ne=Se.FORCE_BODY||!1,pe=Se.SANITIZE_DOM!==!1,Be=Se.SANITIZE_NAMED_PROPS||!1,He=Se.KEEP_CONTENT!==!1,Le=Se.IN_PLACE||!1,V=Se.ALLOWED_URI_REGEXP||mV,le=Se.NAMESPACE||se,Re=Se.MATHML_TEXT_INTEGRATION_POINTS||Re,_e=Se.HTML_INTEGRATION_POINTS||_e,q=Se.CUSTOM_ELEMENT_HANDLING||{},Se.CUSTOM_ELEMENT_HANDLING&<(Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(q.tagNameCheck=Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Se.CUSTOM_ELEMENT_HANDLING&<(Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(q.attributeNameCheck=Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Se.CUSTOM_ELEMENT_HANDLING&&typeof Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(q.allowCustomizedBuiltInElements=Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),K&&(te=!1),W&&(Te=!0),Ie&&($=Nr({},lV),j=[],Ie.html===!0&&(Nr($,oV),Nr(j,cV)),Ie.svg===!0&&(Nr($,D7),Nr(j,N7),Nr(j,s3)),Ie.svgFilters===!0&&(Nr($,L7),Nr(j,N7),Nr(j,s3)),Ie.mathMl===!0&&(Nr($,R7),Nr(j,uV),Nr(j,s3))),Se.ADD_TAGS&&($===U&&($=lu($)),Nr($,Se.ADD_TAGS,Oe)),Se.ADD_ATTR&&(j===ee&&(j=lu(j)),Nr(j,Se.ADD_ATTR,Oe)),Se.ADD_URI_SAFE_ATTR&&Nr(xe,Se.ADD_URI_SAFE_ATTR,Oe),Se.FORBID_CONTENTS&&(Ne===Ce&&(Ne=lu(Ne)),Nr(Ne,Se.FORBID_CONTENTS,Oe)),He&&($["#text"]=!0),Z&&Nr($,["html","head","body"]),$.table&&(Nr($,["tbody"]),delete oe.tbody),Se.TRUSTED_TYPES_POLICY){if(typeof Se.TRUSTED_TYPES_POLICY.createHTML!="function")throw Gy('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Se.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Gy('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');S=Se.TRUSTED_TYPES_POLICY,w=S.createHTML("")}else S===void 0&&(S=j5e(m,i)),S!==null&&typeof w=="string"&&(w=S.createHTML(""));Za&&Za(Se),et=Se}},"_parseConfig"),vt=Nr({},[...D7,...L7,...F5e]),Lt=Nr({},[...R7,...$5e]),dt=o(function(Se){let at=T(Se);(!at||!at.tagName)&&(at={namespaceURI:le,tagName:"template"});let Nt=o3(Se.tagName),wr=o3(at.tagName);return ve[Se.namespaceURI]?Se.namespaceURI===z?at.namespaceURI===se?Nt==="svg":at.namespaceURI===he?Nt==="svg"&&(wr==="annotation-xml"||Re[wr]):!!vt[Nt]:Se.namespaceURI===he?at.namespaceURI===se?Nt==="math":at.namespaceURI===z?Nt==="math"&&_e[wr]:!!Lt[Nt]:Se.namespaceURI===se?at.namespaceURI===z&&!_e[wr]||at.namespaceURI===he&&!Re[wr]?!1:!Lt[Nt]&&(ze[Nt]||!vt[Nt]):!!(Ke==="application/xhtml+xml"&&ve[Se.namespaceURI]):!1},"_checkValidNamespace"),nt=o(function(Se){$y(e.removed,{element:Se});try{T(Se).removeChild(Se)}catch{v(Se)}},"_forceRemove"),bt=o(function(Se,at){try{$y(e.removed,{attribute:at.getAttributeNode(Se),from:at})}catch{$y(e.removed,{attribute:null,from:at})}if(at.removeAttribute(Se),Se==="is")if(Te||W)try{nt(at)}catch{}else try{at.setAttribute(Se,"")}catch{}},"_removeAttribute"),wt=o(function(Se){let at=null,Nt=null;if(ne)Se=""+Se;else{let yn=sV(Se,/^[\r\n\t ]+/);Nt=yn&&yn[0]}Ke==="application/xhtml+xml"&&le===se&&(Se=''+Se+"");let wr=S?S.createHTML(Se):Se;if(le===se)try{at=new p().parseFromString(wr,Ke)}catch{}if(!at||!at.documentElement){at=k.createDocument(le,"template",null);try{at.documentElement.innerHTML=ke?w:wr}catch{}}let Tn=at.body||at.documentElement;return Se&&Nt&&Tn.insertBefore(r.createTextNode(Nt),Tn.childNodes[0]||null),le===se?L.call(at,Z?"html":"body")[0]:Z?at.documentElement:Tn},"_initDocument"),yt=o(function(Se){return C.call(Se.ownerDocument||Se,Se,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),ft=o(function(Se){return Se instanceof d&&(typeof Se.nodeName!="string"||typeof Se.textContent!="string"||typeof Se.removeChild!="function"||!(Se.attributes instanceof f)||typeof Se.removeAttribute!="function"||typeof Se.setAttribute!="function"||typeof Se.namespaceURI!="string"||typeof Se.insertBefore!="function"||typeof Se.hasChildNodes!="function")},"_isClobbered"),Ur=o(function(Se){return typeof l=="function"&&Se instanceof l},"_isNode");function _t(Ct,Se,at){a3(Ct,Nt=>{Nt.call(e,Se,at,et)})}o(_t,"_executeHooks");let bn=o(function(Se){let at=null;if(_t(R.beforeSanitizeElements,Se,null),ft(Se))return nt(Se),!0;let Nt=Oe(Se.nodeName);if(_t(R.uponSanitizeElement,Se,{tagName:Nt,allowedTags:$}),ae&&Se.hasChildNodes()&&!Ur(Se.firstElementChild)&&Qa(/<[/\w!]/g,Se.innerHTML)&&Qa(/<[/\w!]/g,Se.textContent)||Se.nodeType===Uy.progressingInstruction||ae&&Se.nodeType===Uy.comment&&Qa(/<[/\w]/g,Se.data))return nt(Se),!0;if(!$[Nt]||oe[Nt]){if(!oe[Nt]&&cr(Nt)&&(q.tagNameCheck instanceof RegExp&&Qa(q.tagNameCheck,Nt)||q.tagNameCheck instanceof Function&&q.tagNameCheck(Nt)))return!1;if(He&&!Ne[Nt]){let wr=T(Se)||Se.parentNode,Tn=b(Se)||Se.childNodes;if(Tn&&wr){let yn=Tn.length;for(let sn=yn-1;sn>=0;--sn){let Hi=y(Tn[sn],!0);Hi.__removalCount=(Se.__removalCount||0)+1,wr.insertBefore(Hi,x(Se))}}}return nt(Se),!0}return Se instanceof u&&!dt(Se)||(Nt==="noscript"||Nt==="noembed"||Nt==="noframes")&&Qa(/<\/no(script|embed|frames)/i,Se.innerHTML)?(nt(Se),!0):(K&&Se.nodeType===Uy.text&&(at=Se.textContent,a3([E,_,D],wr=>{at=zy(at,wr," ")}),Se.textContent!==at&&($y(e.removed,{element:Se.cloneNode()}),Se.textContent=at)),_t(R.afterSanitizeElements,Se,null),!1)},"_sanitizeElements"),Br=o(function(Se,at,Nt){if(pe&&(at==="id"||at==="name")&&(Nt in r||Nt in Ue))return!1;if(!(te&&!Q[at]&&Qa(O,at))){if(!(ue&&Qa(N,at))){if(!j[at]||Q[at]){if(!(cr(Se)&&(q.tagNameCheck instanceof RegExp&&Qa(q.tagNameCheck,Se)||q.tagNameCheck instanceof Function&&q.tagNameCheck(Se))&&(q.attributeNameCheck instanceof RegExp&&Qa(q.attributeNameCheck,at)||q.attributeNameCheck instanceof Function&&q.attributeNameCheck(at))||at==="is"&&q.allowCustomizedBuiltInElements&&(q.tagNameCheck instanceof RegExp&&Qa(q.tagNameCheck,Nt)||q.tagNameCheck instanceof Function&&q.tagNameCheck(Nt))))return!1}else if(!xe[at]){if(!Qa(V,zy(Nt,B,""))){if(!((at==="src"||at==="xlink:href"||at==="href")&&Se!=="script"&&I5e(Nt,"data:")===0&&Fe[Se])){if(!(re&&!Qa(P,zy(Nt,B,"")))){if(Nt)return!1}}}}}}return!0},"_isValidAttribute"),cr=o(function(Se){return Se!=="annotation-xml"&&sV(Se,F)},"_isBasicCustomElement"),ar=o(function(Se){_t(R.beforeSanitizeAttributes,Se,null);let{attributes:at}=Se;if(!at||ft(Se))return;let Nt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0},wr=at.length;for(;wr--;){let Tn=at[wr],{name:yn,namespaceURI:sn,value:Hi}=Tn,Zs=Oe(yn),Da=Hi,fr=yn==="value"?Da:O5e(Da);if(Nt.attrName=Zs,Nt.attrValue=fr,Nt.keepAttr=!0,Nt.forceKeepAttr=void 0,_t(R.uponSanitizeAttribute,Se,Nt),fr=Nt.attrValue,Be&&(Zs==="id"||Zs==="name")&&(bt(yn,Se),fr=Ye+fr),ae&&Qa(/((--!?|])>)|<\/(style|title)/i,fr)){bt(yn,Se);continue}if(Nt.forceKeepAttr)continue;if(!Nt.keepAttr){bt(yn,Se);continue}if(!J&&Qa(/\/>/i,fr)){bt(yn,Se);continue}K&&a3([E,_,D],kt=>{fr=zy(fr,kt," ")});let it=Oe(Se.nodeName);if(!Br(it,Zs,fr)){bt(yn,Se);continue}if(S&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!sn)switch(m.getAttributeType(it,Zs)){case"TrustedHTML":{fr=S.createHTML(fr);break}case"TrustedScriptURL":{fr=S.createScriptURL(fr);break}}if(fr!==Da)try{sn?Se.setAttributeNS(sn,yn,fr):Se.setAttribute(yn,fr),ft(Se)?nt(Se):aV(e.removed)}catch{bt(yn,Se)}}_t(R.afterSanitizeAttributes,Se,null)},"_sanitizeAttributes"),_r=o(function Ct(Se){let at=null,Nt=yt(Se);for(_t(R.beforeSanitizeShadowDOM,Se,null);at=Nt.nextNode();)_t(R.uponSanitizeShadowNode,at,null),bn(at),ar(at),at.content instanceof a&&Ct(at.content);_t(R.afterSanitizeShadowDOM,Se,null)},"_sanitizeShadowDOM");return e.sanitize=function(Ct){let Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},at=null,Nt=null,wr=null,Tn=null;if(ke=!Ct,ke&&(Ct=""),typeof Ct!="string"&&!Ur(Ct))if(typeof Ct.toString=="function"){if(Ct=Ct.toString(),typeof Ct!="string")throw Gy("dirty is not a string, aborting")}else throw Gy("toString is not a function");if(!e.isSupported)return Ct;if(de||Gt(Se),e.removed=[],typeof Ct=="string"&&(Le=!1),Le){if(Ct.nodeName){let Hi=Oe(Ct.nodeName);if(!$[Hi]||oe[Hi])throw Gy("root node is forbidden and cannot be sanitized in-place")}}else if(Ct instanceof l)at=wt(""),Nt=at.ownerDocument.importNode(Ct,!0),Nt.nodeType===Uy.element&&Nt.nodeName==="BODY"||Nt.nodeName==="HTML"?at=Nt:at.appendChild(Nt);else{if(!Te&&!K&&!Z&&Ct.indexOf("<")===-1)return S&&Ve?S.createHTML(Ct):Ct;if(at=wt(Ct),!at)return Te?null:Ve?w:""}at&&ne&&nt(at.firstChild);let yn=yt(Le?Ct:at);for(;wr=yn.nextNode();)bn(wr),ar(wr),wr.content instanceof a&&_r(wr.content);if(Le)return Ct;if(Te){if(W)for(Tn=A.call(at.ownerDocument);at.firstChild;)Tn.appendChild(at.firstChild);else Tn=at;return(j.shadowroot||j.shadowrootmode)&&(Tn=I.call(n,Tn,!0)),Tn}let sn=Z?at.outerHTML:at.innerHTML;return Z&&$["!doctype"]&&at.ownerDocument&&at.ownerDocument.doctype&&at.ownerDocument.doctype.name&&Qa(gV,at.ownerDocument.doctype.name)&&(sn=" +`+sn),K&&a3([E,_,D],Hi=>{sn=zy(sn,Hi," ")}),S&&Ve?S.createHTML(sn):sn},e.setConfig=function(){let Ct=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Gt(Ct),de=!0},e.clearConfig=function(){et=null,de=!1},e.isValidAttribute=function(Ct,Se,at){et||Gt({});let Nt=Oe(Ct),wr=Oe(Se);return Br(Nt,wr,at)},e.addHook=function(Ct,Se){typeof Se=="function"&&$y(R[Ct],Se)},e.removeHook=function(Ct,Se){if(Se!==void 0){let at=N5e(R[Ct],Se);return at===-1?void 0:M5e(R[Ct],at,1)[0]}return aV(R[Ct])},e.removeHooks=function(Ct){R[Ct]=[]},e.removeAllHooks=function(){R=fV()},e}var dV,iV,D5e,L5e,R5e,Za,Co,pV,M7,I7,a3,N5e,aV,$y,M5e,o3,_7,sV,zy,I5e,O5e,hl,Qa,Gy,oV,D7,L7,F5e,R7,$5e,lV,cV,N7,uV,s3,z5e,G5e,V5e,U5e,H5e,mV,q5e,W5e,gV,Y5e,hV,Uy,X5e,j5e,fV,yh,O7=M(()=>{"use strict";({entries:dV,setPrototypeOf:iV,isFrozen:D5e,getPrototypeOf:L5e,getOwnPropertyDescriptor:R5e}=Object),{freeze:Za,seal:Co,create:pV}=Object,{apply:M7,construct:I7}=typeof Reflect<"u"&&Reflect;Za||(Za=o(function(e){return e},"freeze"));Co||(Co=o(function(e){return e},"seal"));M7||(M7=o(function(e,r,n){return e.apply(r,n)},"apply"));I7||(I7=o(function(e,r){return new e(...r)},"construct"));a3=Ja(Array.prototype.forEach),N5e=Ja(Array.prototype.lastIndexOf),aV=Ja(Array.prototype.pop),$y=Ja(Array.prototype.push),M5e=Ja(Array.prototype.splice),o3=Ja(String.prototype.toLowerCase),_7=Ja(String.prototype.toString),sV=Ja(String.prototype.match),zy=Ja(String.prototype.replace),I5e=Ja(String.prototype.indexOf),O5e=Ja(String.prototype.trim),hl=Ja(Object.prototype.hasOwnProperty),Qa=Ja(RegExp.prototype.test),Gy=P5e(TypeError);o(Ja,"unapply");o(P5e,"unconstruct");o(Nr,"addToSet");o(B5e,"cleanArray");o(lu,"clone");o(Vy,"lookupGetter");oV=Za(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),D7=Za(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),L7=Za(["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"]),F5e=Za(["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"]),R7=Za(["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"]),$5e=Za(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),lV=Za(["#text"]),cV=Za(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),N7=Za(["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","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","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","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-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),uV=Za(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),s3=Za(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),z5e=Co(/\{\{[\w\W]*|[\w\W]*\}\}/gm),G5e=Co(/<%[\w\W]*|[\w\W]*%>/gm),V5e=Co(/\$\{[\w\W]*/gm),U5e=Co(/^data-[\-\w.\u00B7-\uFFFF]+$/),H5e=Co(/^aria-[\-\w]+$/),mV=Co(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q5e=Co(/^(?:\w+script|data):/i),W5e=Co(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),gV=Co(/^html$/i),Y5e=Co(/^[a-z][.\w]*(-[.\w]+)+$/i),hV=Object.freeze({__proto__:null,ARIA_ATTR:H5e,ATTR_WHITESPACE:W5e,CUSTOM_ELEMENT:Y5e,DATA_ATTR:U5e,DOCTYPE_NAME:gV,ERB_EXPR:G5e,IS_ALLOWED_URI:mV,IS_SCRIPT_OR_DATA:q5e,MUSTACHE_EXPR:z5e,TMPLIT_EXPR:V5e}),Uy={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},X5e=o(function(){return typeof window>"u"?null:window},"getGlobal"),j5e=o(function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));let 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}},"_createTrustedTypesPolicy"),fV=o(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");o(yV,"createDOMPurify");yh=yV()});var jU={};dr(jU,{ParseError:()=>gt,SETTINGS_SCHEMA:()=>Yy,__defineFunction:()=>Mt,__defineMacro:()=>ce,__defineSymbol:()=>G,__domTree:()=>XU,__parse:()=>HU,__renderToDomTree:()=>I3,__renderToHTMLTree:()=>WU,__setFontMetrics:()=>QV,default:()=>zwe,render:()=>EA,renderToString:()=>UU,version:()=>YU});function rTe(t){return String(t).replace(tTe,e=>eTe[e])}function sTe(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function dTe(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function KV(t){for(var e=0;e=x3[e]&&t<=x3[e+1])return!0;return!1}function QV(t,e){Ql[t]=e}function lA(t,e,r){if(!Ql[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Ql[e][n];if(!i&&t[0]in xV&&(n=xV[t[0]].charCodeAt(0),i=Ql[e][n]),!i&&r==="text"&&KV(n)&&(i=Ql[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function ETe(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!P7[e]){var r=P7[e]={cssEmPerMu:l3.quad[e]/18};for(var n in l3)l3.hasOwnProperty(n)&&(r[n]=l3[n][e])}return P7[e]}function wV(t){if(t instanceof Cs)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function DTe(t){if(t instanceof fd)return t;throw new Error("Expected span but got "+String(t)+".")}function G(t,e,r,n,i,a){Nn[t][i]={font:e,group:r,replace:n},a&&n&&(Nn[t][n]=Nn[t][i])}function Mt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={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},u=0;u0&&(a.push(m3(s,e)),s=[]),a.push(n[l]));s.length>0&&a.push(m3(s,e));var h;r?(h=m3(Ii(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=du(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=St(f.height+f.depth),f.depth&&(d.style.verticalAlign=St(-f.depth))}return f}function cU(t){return new hd(t)}function $7(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof _o&&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 _o&&r.text===","}else return!1}function AV(t,e,r,n,i){var a=As(t,r),s;a.length===1&&a[0]instanceof es&&er.contains(["mrow","mtable"],a[0].type)?s=a[0]:s=new mt.MathNode("mrow",a);var l=new mt.MathNode("annotation",[new mt.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new mt.MathNode("semantics",[s,l]),h=new mt.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return $e.makeSpan([f],[h])}function Tr(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 fA(t){var e=L3(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 L3(t){return t&&(t.type==="atom"||RTe.hasOwnProperty(t.type))?t:null}function dU(t,e){var r=Ii(t.body,e,!0);return owe([t.mclass],r,e)}function pU(t,e){var r,n=As(t.body,e);return t.mclass==="minner"?r=new mt.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new mt.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new mt.MathNode("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}function uwe(t,e,r){var n=lwe[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],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function hwe(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-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=uwe(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=_V()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=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:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function N3(t,e){var r=L3(t);if(r&&er.contains(Ewe,r.text))return r;throw r?new gt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new gt("Invalid delimiter type '"+t.type+"'",t)}function RV(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function Jl(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";to=class t{static{o(this,"SourceLocation")}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 t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},Do=class t{static{o(this,"Token")}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 t(r,to.range(this,e))}},gt=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,a=s.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},tTe=/[&><"']/g;o(rTe,"escape");jV=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),nTe=o(function(e){var r=jV(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),iTe=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),aTe=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),er={contains:K5e,deflt:Q5e,escape:rTe,hyphenate:J5e,getBaseElem:jV,isCharacterBox:nTe,protocolFromUrl:aTe},Yy={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},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:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(sTe,"getDefaultValue");jy=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in Yy)if(Yy.hasOwnProperty(r)){var n=Yy[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:sTe(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(e.url&&!e.protocol){var r=er.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},jl=class{static{o(this,"Style")}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 Kl[oTe[this.id]]}sub(){return Kl[lTe[this.id]]}fracNum(){return Kl[cTe[this.id]]}fracDen(){return Kl[uTe[this.id]]}cramp(){return Kl[hTe[this.id]]}text(){return Kl[fTe[this.id]]}isTight(){return this.size>=2}},oA=0,b3=1,k0=2,hu=3,Ky=4,Ao=5,E0=6,ts=7,Kl=[new jl(oA,0,!1),new jl(b3,0,!0),new jl(k0,1,!1),new jl(hu,1,!0),new jl(Ky,2,!1),new jl(Ao,2,!0),new jl(E0,3,!1),new jl(ts,3,!0)],oTe=[Ky,Ao,Ky,Ao,E0,ts,E0,ts],lTe=[Ao,Ao,Ao,Ao,ts,ts,ts,ts],cTe=[k0,hu,Ky,Ao,E0,ts,E0,ts],uTe=[hu,hu,Ao,Ao,ts,ts,ts,ts],hTe=[b3,b3,hu,hu,Ao,Ao,ts,ts],fTe=[oA,b3,k0,hu,k0,hu,k0,hu],nr={DISPLAY:Kl[oA],TEXT:Kl[k0],SCRIPT:Kl[Ky],SCRIPTSCRIPT:Kl[E0]},j7=[{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]]}];o(dTe,"scriptFromCodepoint");x3=[];j7.forEach(t=>t.blocks.forEach(e=>x3.push(...e)));o(KV,"supportedCodepoint");w0=80,pTe=o(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"},"sqrtMain"),mTe=o(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"},"sqrtSize1"),gTe=o(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"},"sqrtSize2"),yTe=o(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"},"sqrtSize3"),vTe=o(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"},"sqrtSize4"),xTe=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),bTe=o(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"},"sqrtTall"),TTe=o(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=pTe(r,w0);break;case"sqrtSize1":i=mTe(r,w0);break;case"sqrtSize2":i=gTe(r,w0);break;case"sqrtSize3":i=yTe(r,w0);break;case"sqrtSize4":i=vTe(r,w0);break;case"sqrtTall":i=bTe(r,w0,n)}return i},"sqrtPath"),wTe=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),vV={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},kTe=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+r+" v1759 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.")}},"tallDelim"),hd=class{static{o(this,"DocumentFragment")}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 er.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},Ql={"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]}},l3={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]},xV={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(QV,"setFontMetrics");o(lA,"getCharacterMetrics");P7={};o(ETe,"getGlobalMetrics");STe=[[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]],bV=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],TV=o(function(e,r){return r.size<2?e:STe[e-1][r.size-1]},"sizeAtStyle"),T3=class t{static{o(this,"Options")}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||t.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=bV[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};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:TV(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:bV[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=TV(t.BASESIZE,e);return this.size===r&&this.textSize===t.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!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=ETe(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};T3.BASESIZE=6;K7={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},CTe={ex:!0,em:!0,mu:!0},ZV=o(function(e){return typeof e!="string"&&(e=e.unit),e in K7||e in CTe||e==="ex"},"validUnit"),ii=o(function(e,r){var n;if(e.unit in K7)n=K7[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)},"calculateSize"),St=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),bh=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),JV=o(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)}},"initNode"),eU=o(function(e){var r=document.createElement(e);r.className=bh(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,tU=o(function(e){var r="<"+e;this.classes.length&&(r+=' class="'+er.escape(bh(this.classes))+'"');var n="";for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=er.hyphenate(i)+":"+this.style[i]+";");n&&(r+=' style="'+er.escape(n)+'"');for(var a in this.attributes)if(this.attributes.hasOwnProperty(a)){if(ATe.test(a))throw new gt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+er.escape(this.attributes[a])+'"'}r+=">";for(var s=0;s",r},"toMarkup"),fd=class{static{o(this,"Span")}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,JV.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return er.contains(this.classes,e)}toNode(){return eU.call(this,"span")}toMarkup(){return tU.call(this,"span")}},Qy=class{static{o(this,"Anchor")}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,JV.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return er.contains(this.classes,e)}toNode(){return eU.call(this,"a")}toMarkup(){return tU.call(this,"a")}},Q7=class{static{o(this,"Img")}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.style=n}hasClass(e){return er.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+er.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=St(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=bh(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=er.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+er.escape(n)+'"');var a=er.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},dl=class{static{o(this,"SvgNode")}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 in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},Zy=class{static{o(this,"LineNode")}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 in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);G(H,ie,Ee,"\u2208","\\in",!0);G(H,ie,Ee,"\uE020","\\@not");G(H,ie,Ee,"\u2282","\\subset",!0);G(H,ie,Ee,"\u2283","\\supset",!0);G(H,ie,Ee,"\u2286","\\subseteq",!0);G(H,ie,Ee,"\u2287","\\supseteq",!0);G(H,we,Ee,"\u2288","\\nsubseteq",!0);G(H,we,Ee,"\u2289","\\nsupseteq",!0);G(H,ie,Ee,"\u22A8","\\models");G(H,ie,Ee,"\u2190","\\leftarrow",!0);G(H,ie,Ee,"\u2264","\\le");G(H,ie,Ee,"\u2264","\\leq",!0);G(H,ie,Ee,"<","\\lt",!0);G(H,ie,Ee,"\u2192","\\rightarrow",!0);G(H,ie,Ee,"\u2192","\\to");G(H,we,Ee,"\u2271","\\ngeq",!0);G(H,we,Ee,"\u2270","\\nleq",!0);G(H,ie,mu,"\xA0","\\ ");G(H,ie,mu,"\xA0","\\space");G(H,ie,mu,"\xA0","\\nobreakspace");G(ct,ie,mu,"\xA0","\\ ");G(ct,ie,mu,"\xA0"," ");G(ct,ie,mu,"\xA0","\\space");G(ct,ie,mu,"\xA0","\\nobreakspace");G(H,ie,mu,null,"\\nobreak");G(H,ie,mu,null,"\\allowbreak");G(H,ie,_3,",",",");G(H,ie,_3,";",";");G(H,we,Ot,"\u22BC","\\barwedge",!0);G(H,we,Ot,"\u22BB","\\veebar",!0);G(H,ie,Ot,"\u2299","\\odot",!0);G(H,ie,Ot,"\u2295","\\oplus",!0);G(H,ie,Ot,"\u2297","\\otimes",!0);G(H,ie,De,"\u2202","\\partial",!0);G(H,ie,Ot,"\u2298","\\oslash",!0);G(H,we,Ot,"\u229A","\\circledcirc",!0);G(H,we,Ot,"\u22A1","\\boxdot",!0);G(H,ie,Ot,"\u25B3","\\bigtriangleup");G(H,ie,Ot,"\u25BD","\\bigtriangledown");G(H,ie,Ot,"\u2020","\\dagger");G(H,ie,Ot,"\u22C4","\\diamond");G(H,ie,Ot,"\u22C6","\\star");G(H,ie,Ot,"\u25C3","\\triangleleft");G(H,ie,Ot,"\u25B9","\\triangleright");G(H,ie,ro,"{","\\{");G(ct,ie,De,"{","\\{");G(ct,ie,De,"{","\\textbraceleft");G(H,ie,rs,"}","\\}");G(ct,ie,De,"}","\\}");G(ct,ie,De,"}","\\textbraceright");G(H,ie,ro,"{","\\lbrace");G(H,ie,rs,"}","\\rbrace");G(H,ie,ro,"[","\\lbrack",!0);G(ct,ie,De,"[","\\lbrack",!0);G(H,ie,rs,"]","\\rbrack",!0);G(ct,ie,De,"]","\\rbrack",!0);G(H,ie,ro,"(","\\lparen",!0);G(H,ie,rs,")","\\rparen",!0);G(ct,ie,De,"<","\\textless",!0);G(ct,ie,De,">","\\textgreater",!0);G(H,ie,ro,"\u230A","\\lfloor",!0);G(H,ie,rs,"\u230B","\\rfloor",!0);G(H,ie,ro,"\u2308","\\lceil",!0);G(H,ie,rs,"\u2309","\\rceil",!0);G(H,ie,De,"\\","\\backslash");G(H,ie,De,"\u2223","|");G(H,ie,De,"\u2223","\\vert");G(ct,ie,De,"|","\\textbar",!0);G(H,ie,De,"\u2225","\\|");G(H,ie,De,"\u2225","\\Vert");G(ct,ie,De,"\u2225","\\textbardbl");G(ct,ie,De,"~","\\textasciitilde");G(ct,ie,De,"\\","\\textbackslash");G(ct,ie,De,"^","\\textasciicircum");G(H,ie,Ee,"\u2191","\\uparrow",!0);G(H,ie,Ee,"\u21D1","\\Uparrow",!0);G(H,ie,Ee,"\u2193","\\downarrow",!0);G(H,ie,Ee,"\u21D3","\\Downarrow",!0);G(H,ie,Ee,"\u2195","\\updownarrow",!0);G(H,ie,Ee,"\u21D5","\\Updownarrow",!0);G(H,ie,ki,"\u2210","\\coprod");G(H,ie,ki,"\u22C1","\\bigvee");G(H,ie,ki,"\u22C0","\\bigwedge");G(H,ie,ki,"\u2A04","\\biguplus");G(H,ie,ki,"\u22C2","\\bigcap");G(H,ie,ki,"\u22C3","\\bigcup");G(H,ie,ki,"\u222B","\\int");G(H,ie,ki,"\u222B","\\intop");G(H,ie,ki,"\u222C","\\iint");G(H,ie,ki,"\u222D","\\iiint");G(H,ie,ki,"\u220F","\\prod");G(H,ie,ki,"\u2211","\\sum");G(H,ie,ki,"\u2A02","\\bigotimes");G(H,ie,ki,"\u2A01","\\bigoplus");G(H,ie,ki,"\u2A00","\\bigodot");G(H,ie,ki,"\u222E","\\oint");G(H,ie,ki,"\u222F","\\oiint");G(H,ie,ki,"\u2230","\\oiiint");G(H,ie,ki,"\u2A06","\\bigsqcup");G(H,ie,ki,"\u222B","\\smallint");G(ct,ie,S0,"\u2026","\\textellipsis");G(H,ie,S0,"\u2026","\\mathellipsis");G(ct,ie,S0,"\u2026","\\ldots",!0);G(H,ie,S0,"\u2026","\\ldots",!0);G(H,ie,S0,"\u22EF","\\@cdots",!0);G(H,ie,S0,"\u22F1","\\ddots",!0);G(H,ie,De,"\u22EE","\\varvdots");G(ct,ie,De,"\u22EE","\\varvdots");G(H,ie,Wn,"\u02CA","\\acute");G(H,ie,Wn,"\u02CB","\\grave");G(H,ie,Wn,"\xA8","\\ddot");G(H,ie,Wn,"~","\\tilde");G(H,ie,Wn,"\u02C9","\\bar");G(H,ie,Wn,"\u02D8","\\breve");G(H,ie,Wn,"\u02C7","\\check");G(H,ie,Wn,"^","\\hat");G(H,ie,Wn,"\u20D7","\\vec");G(H,ie,Wn,"\u02D9","\\dot");G(H,ie,Wn,"\u02DA","\\mathring");G(H,ie,rr,"\uE131","\\@imath");G(H,ie,rr,"\uE237","\\@jmath");G(H,ie,De,"\u0131","\u0131");G(H,ie,De,"\u0237","\u0237");G(ct,ie,De,"\u0131","\\i",!0);G(ct,ie,De,"\u0237","\\j",!0);G(ct,ie,De,"\xDF","\\ss",!0);G(ct,ie,De,"\xE6","\\ae",!0);G(ct,ie,De,"\u0153","\\oe",!0);G(ct,ie,De,"\xF8","\\o",!0);G(ct,ie,De,"\xC6","\\AE",!0);G(ct,ie,De,"\u0152","\\OE",!0);G(ct,ie,De,"\xD8","\\O",!0);G(ct,ie,Wn,"\u02CA","\\'");G(ct,ie,Wn,"\u02CB","\\`");G(ct,ie,Wn,"\u02C6","\\^");G(ct,ie,Wn,"\u02DC","\\~");G(ct,ie,Wn,"\u02C9","\\=");G(ct,ie,Wn,"\u02D8","\\u");G(ct,ie,Wn,"\u02D9","\\.");G(ct,ie,Wn,"\xB8","\\c");G(ct,ie,Wn,"\u02DA","\\r");G(ct,ie,Wn,"\u02C7","\\v");G(ct,ie,Wn,"\xA8",'\\"');G(ct,ie,Wn,"\u02DD","\\H");G(ct,ie,Wn,"\u25EF","\\textcircled");rU={"--":!0,"---":!0,"``":!0,"''":!0};G(ct,ie,De,"\u2013","--",!0);G(ct,ie,De,"\u2013","\\textendash");G(ct,ie,De,"\u2014","---",!0);G(ct,ie,De,"\u2014","\\textemdash");G(ct,ie,De,"\u2018","`",!0);G(ct,ie,De,"\u2018","\\textquoteleft");G(ct,ie,De,"\u2019","'",!0);G(ct,ie,De,"\u2019","\\textquoteright");G(ct,ie,De,"\u201C","``",!0);G(ct,ie,De,"\u201C","\\textquotedblleft");G(ct,ie,De,"\u201D","''",!0);G(ct,ie,De,"\u201D","\\textquotedblright");G(H,ie,De,"\xB0","\\degree",!0);G(ct,ie,De,"\xB0","\\degree");G(ct,ie,De,"\xB0","\\textdegree",!0);G(H,ie,De,"\xA3","\\pounds");G(H,ie,De,"\xA3","\\mathsterling",!0);G(ct,ie,De,"\xA3","\\pounds");G(ct,ie,De,"\xA3","\\textsterling",!0);G(H,we,De,"\u2720","\\maltese");G(ct,we,De,"\u2720","\\maltese");kV='0123456789/@."';for(c3=0;c30)return fl(a,h,i,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=ITe(a,i,r,s,n);d=m.fontName,p=[m.fontClass]}else l?(d=aU[u].fontName,p=[u]):(d=p3(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(D3(a,d,i).metrics)return fl(a,d,i,r,s.concat(p));if(rU.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(bh(t.classes)!==bh(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),BTe=o(t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),Ss=o(function(e,r,n,i){var a=new fd(e,r,n,i);return cA(a),a},"makeSpan"),nU=o((t,e,r,n)=>new fd(t,e,r,n),"makeSvgSpan"),FTe=o(function(e,r,n){var i=Ss([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=St(i.height),i.maxFontSize=1,i},"makeLineSpan"),$Te=o(function(e,r,n,i){var a=new Qy(e,r,n,i);return cA(a),a},"makeAnchor"),iU=o(function(e){var r=new hd(e);return cA(r),r},"makeFragment"),zTe=o(function(e,r){return e instanceof hd?Ss([],[e],r):e},"wrapFragment"),GTe=o(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{var r=Ss(["mspace"],[],e),n=ii(t,e);return r.style.marginRight=St(n),r},"makeGlue"),p3=o(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),aU={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"}},sU={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},HTe=o(function(e,r){var[n,i,a]=sU[e],s=new Zl(n),l=new dl([s],{width:St(i),height:St(a),style:"width:"+St(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=nU(["overlay"],[l],r);return u.height=a,u.style.height=St(a),u.style.width=St(i),u},"staticSvg"),$e={fontMap:aU,makeSymbol:fl,mathsym:MTe,makeSpan:Ss,makeSvgSpan:nU,makeLineSpan:FTe,makeAnchor:$Te,makeFragment:iU,wrapFragment:zTe,makeVList:VTe,makeOrd:OTe,makeGlue:UTe,staticSvg:HTe,svgData:sU,tryCombineChars:BTe},ni={number:3,unit:"mu"},ud={number:4,unit:"mu"},uu={number:5,unit:"mu"},qTe={mord:{mop:ni,mbin:ud,mrel:uu,minner:ni},mop:{mord:ni,mop:ni,mrel:uu,minner:ni},mbin:{mord:ud,mop:ud,mopen:ud,minner:ud},mrel:{mord:uu,mop:uu,mopen:uu,minner:uu},mopen:{},mclose:{mop:ni,mbin:ud,mrel:uu,minner:ni},mpunct:{mord:ni,mop:ni,mrel:uu,mopen:ni,mclose:ni,mpunct:ni,minner:ni},minner:{mord:ni,mop:ni,mbin:ud,mrel:uu,mopen:ni,mpunct:ni,minner:ni}},WTe={mord:{mop:ni},mop:{mord:ni,mop:ni},mbin:{},mrel:{},mopen:{},mclose:{mop:ni},mpunct:{},minner:{mop:ni}},oU={},k3={},E3={};o(Mt,"defineFunction");o(dd,"defineFunctionBuilders");S3=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),gi=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),du=$e.makeSpan,YTe=["leftmost","mbin","mopen","mrel","mop","mpunct"],XTe=["rightmost","mrel","mclose","mpunct"],jTe={display:nr.DISPLAY,text:nr.TEXT,script:nr.SCRIPT,scriptscript:nr.SCRIPTSCRIPT},KTe={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Ii=o(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&er.contains(XTe,x)?y.classes[0]="mord":x==="mbin"&&er.contains(YTe,v)&&(g.classes[0]="mord")},{node:d},p,m),CV(a,(g,y)=>{var v=J7(y),x=J7(g),b=v&&x?g.hasClass("mtight")?WTe[v][x]:qTe[v][x]:null;if(b)return $e.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),CV=o(function t(e,r,n,i,a){i&&e.push(i);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}i&&e.pop()},"traverseNonSpaceNodes"),lU=o(function(e){return e instanceof hd||e instanceof Qy||e instanceof fd&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),QTe=o(function t(e,r){var n=lU(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),J7=o(function(e,r){return e?(r&&(e=QTe(e,r)),KTe[e.classes[0]]||null):null},"getTypeOfDomTree"),Jy=o(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return du(r.concat(n))},"makeNullDelimiter"),Hr=o(function(e,r,n){if(!e)return du();if(k3[e.type]){var i=k3[e.type](e,r);if(n&&r.size!==n.size){i=du(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+"'")},"buildGroup");o(m3,"buildHTMLUnbreakable");o(eA,"buildHTML");o(cU,"newDocumentFragment");es=class{static{o(this,"MathNode")}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=bh(this.classes));for(var n=0;n0&&(e+=' class ="'+er.escape(bh(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},_o=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return er.escape(this.toText())}toText(){return this.text}},tA=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":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",St(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},mt={MathNode:es,TextNode:_o,SpaceNode:tA,newDocumentFragment:cU},Lo=o(function(e,r,n){return Nn[r][e]&&Nn[r][e].replace&&e.charCodeAt(0)!==55349&&!(rU.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Nn[r][e].replace),new mt.TextNode(e)},"makeText"),uA=o(function(e){return e.length===1?e[0]:new mt.MathNode("mrow",e)},"makeRow"),hA=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(er.contains(["\\imath","\\jmath"],a))return null;Nn[i][a]&&Nn[i][a].replace&&(a=Nn[i][a].replace);var s=$e.fontMap[n].fontName;return lA(a,s,i)?$e.fontMap[n].variant:null},"getVariant");o($7,"isNumberPunctuation");As=o(function(e,r,n){if(e.length===1){var i=wn(e[0],r);return n&&i instanceof es&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,l=0;l=1&&(s.type==="mn"||$7(s))){var h=u.children[0];h instanceof es&&h.type==="mn"&&(h.children=[...s.children,...h.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var f=s.children[0];if(f instanceof _o&&f.text==="\u0338"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var d=u.children[0];d instanceof _o&&d.text.length>0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),Th=o(function(e,r,n){return uA(As(e,r,n))},"buildExpressionRow"),wn=o(function(e,r){if(!e)return new mt.MathNode("mrow");if(E3[e.type]){var n=E3[e.type](e,r);return n}else throw new gt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(AV,"buildMathML");uU=o(function(e){return new T3({style:e.displayMode?nr.DISPLAY:nr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),hU=o(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=$e.makeSpan(n,[e])}return e},"displayWrap"),ZTe=o(function(e,r,n){var i=uU(n),a;if(n.output==="mathml")return AV(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=eA(e,i);a=$e.makeSpan(["katex"],[s])}else{var l=AV(e,r,i,n.displayMode,!1),u=eA(e,i);a=$e.makeSpan(["katex"],[l,u])}return hU(a,n)},"buildTree"),JTe=o(function(e,r,n){var i=uU(n),a=eA(e,i),s=$e.makeSpan(["katex"],[a]);return hU(s,n)},"buildHTMLTree"),ewe={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},twe=o(function(e){var r=new mt.MathNode("mo",[new mt.TextNode(ewe[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),rwe={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},nwe=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),iwe=o(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(er.contains(["widehat","widecheck","widetilde","utilde"],u)){var h=e,f=nwe(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new Zl(p),v=new dl([y],{width:"100%",height:St(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:$e.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=rwe[u],[T,S,w]=b,k=w/1e3,C=T.length,A,L;if(C===1){var I=b[3];A=["hide-tail"],L=[I]}else if(C===2)A=["halfarrow-left","halfarrow-right"],L=["xMinYMin","xMaxYMin"];else if(C===3)A=["brace-left","brace-center","brace-right"],L=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+C+" children.");for(var R=0;R0&&(i.style.minWidth=St(a)),i},"svgSpan"),awe=o(function(e,r,n,i,a){var s,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=$e.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new Zy({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new Zy({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new dl(h,{width:"100%",height:St(l)});s=$e.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=St(l),s},"encloseSpan"),pu={encloseSpan:awe,mathMLnode:twe,svgSpan:iwe};o(Tr,"assertNodeType");o(fA,"assertSymbolNodeType");o(L3,"checkSymbolNodeType");dA=o((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Tr(t.base,"accent"),r=n.base,t.base=r,i=DTe(Hr(t,e)),t.base=n):(n=Tr(t,"accent"),r=n.base);var a=Hr(r,e.havingCrampedStyle()),s=n.isShifty&&er.isCharacterBox(r),l=0;if(s){var u=er.getBaseElem(r),h=Hr(u,e.havingCrampedStyle());l=wV(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=pu.svgSpan(n,e),p=$e.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+St(2*l)+")",marginLeft:St(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=$e.staticSvg("vec",e),g=$e.svgData.vec[1]):(m=$e.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=wV(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=$e.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=St(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=$e.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=$e.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),fU=o((t,e)=>{var r=t.isStretchy?pu.mathMLnode(t.label):new mt.MathNode("mo",[Lo(t.label,t.mode)]),n=new mt.MathNode("mover",[wn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),swe=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Mt({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:o((t,e)=>{var r=S3(e[0]),n=!swe.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}},"handler"),htmlBuilder:dA,mathmlBuilder:fU});Mt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((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}},"handler"),htmlBuilder:dA,mathmlBuilder:fU});Mt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:o((t,e)=>{var r=Hr(t.base,e),n=pu.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=$e.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return $e.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=pu.mathMLnode(t.label),n=new mt.MathNode("munder",[wn(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});g3=o(t=>{var e=new mt.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");Mt({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=$e.wrapFragment(Hr(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=$e.wrapFragment(Hr(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var l=pu.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=$e.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=$e.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),$e.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=pu.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=g3(wn(t.body,e));if(t.below){var a=g3(wn(t.below,e));n=new mt.MathNode("munderover",[r,a,i])}else n=new mt.MathNode("mover",[r,i])}else if(t.below){var s=g3(wn(t.below,e));n=new mt.MathNode("munder",[r,s])}else n=g3(),n=new mt.MathNode("mover",[r,n]);return n}});owe=$e.makeSpan;o(dU,"htmlBuilder$9");o(pU,"mathmlBuilder$8");Mt({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:gi(i),isCharacterBox:er.isCharacterBox(i)}},htmlBuilder:dU,mathmlBuilder:pU});R3=o(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"},"binrelClass");Mt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:R3(e[0]),body:gi(e[1]),isCharacterBox:er.isCharacterBox(e[1])}}});Mt({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=R3(i):s="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:gi(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:er.isCharacterBox(u)}},htmlBuilder:dU,mathmlBuilder:pU});Mt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:R3(e[0]),body:gi(e[0])}},htmlBuilder(t,e){var r=Ii(t.body,e,!0),n=$e.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=As(t.body,e),n=new mt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});lwe={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},_V=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),DV=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),cwe=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(uwe,"cdArrow");o(hwe,"parseCD");Mt({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=$e.wrapFragment(Hr(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=St(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new mt.MathNode("mrow",[wn(t.label,e)]);return r=new mt.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new mt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Mt({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=$e.wrapFragment(Hr(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new mt.MathNode("mrow",[wn(t.fragment,e)])}});Mt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Tr(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new gt("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});mU=o((t,e)=>{var r=Ii(t.body,e.withColor(t.color),!1);return $e.makeFragment(r)},"htmlBuilder$8"),gU=o((t,e)=>{var r=As(t.body,e.withColor(t.color)),n=new mt.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");Mt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Tr(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:gi(i)}},htmlBuilder:mU,mathmlBuilder:gU});Mt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Tr(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:mU,mathmlBuilder:gU});Mt({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&&Tr(i,"size").value}},htmlBuilder(t,e){var r=$e.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=St(ii(t.size,e)))),r},mathmlBuilder(t,e){var r=new mt.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",St(ii(t.size,e)))),r}});rA={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},yU=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new gt("Expected a control sequence",t);return e},"checkControlSequence"),fwe=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),vU=o((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)},"letCommand");Mt({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(rA[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=rA[n.text]),Tr(e.parseFunction(),"internal");throw new gt("Invalid token after macro prefix",n)}});Mt({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,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[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++,l.push([])}else{if(n.text==="EOF")throw new gt("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();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:l},r===rA[r]),{type:"internal",mode:e.mode}}});Mt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=yU(e.gullet.popToken());e.gullet.consumeSpaces();var i=fwe(e);return vU(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Mt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=yU(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return vU(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});Wy=o(function(e,r,n){var i=Nn.math[e]&&Nn.math[e].replace,a=lA(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),pA=o(function(e,r,n,i){var a=n.havingBaseStyle(r),s=$e.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),xU=o(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=St(a),e.height-=a,e.depth+=a},"centerSpan"),dwe=o(function(e,r,n,i,a,s){var l=$e.makeSymbol(e,"Main-Regular",a,i),u=pA(l,r,i,s);return n&&xU(u,i,r),u},"makeSmallDelim"),pwe=o(function(e,r,n,i){return $e.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),bU=o(function(e,r,n,i,a,s){var l=pwe(e,r,a,i),u=pA($e.makeSpan(["delimsizing","size"+r],[l],i),nr.TEXT,i,s);return n&&xU(u,i,nr.TEXT),u},"makeLargeDelim"),z7=o(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=$e.makeSpan(["delimsizinginner",i],[$e.makeSpan([],[$e.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),G7=o(function(e,r,n){var i=Ql["Size4-Regular"][e.charCodeAt(0)]?Ql["Size4-Regular"][e.charCodeAt(0)][4]:Ql["Size1-Regular"][e.charCodeAt(0)][4],a=new Zl("inner",wTe(e,Math.round(1e3*r))),s=new dl([a],{width:St(i),height:St(r),style:"width:"+St(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=$e.makeSvgSpan([],[s],n);return l.height=r,l.style.height=St(r),l.style.width=St(i),{type:"elem",elem:l}},"makeInner"),nA=.008,y3={type:"kern",size:-1*nA},mwe=["|","\\lvert","\\rvert","\\vert"],gwe=["\\|","\\lVert","\\rVert","\\Vert"],TU=o(function(e,r,n,i,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):er.contains(mwe,e)?(h="\u2223",d="vert",p=333):er.contains(gwe,e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=Wy(l,m,a),y=g.height+g.depth,v=Wy(h,m,a),x=v.height+v.depth,b=Wy(f,m,a),T=b.height+b.depth,S=0,w=1;if(u!==null){var k=Wy(u,m,a);S=k.height+k.depth,w=2}var C=y+T+S,A=Math.max(0,Math.ceil((r-C)/(w*x))),L=C+A*w*x,I=i.fontMetrics().axisHeight;n&&(I*=i.sizeMultiplier);var R=L/2-I,E=[];if(d.length>0){var _=L-y-T,D=Math.round(L*1e3),O=kTe(d,Math.round(_*1e3)),N=new Zl(d,O),P=(p/1e3).toFixed(3)+"em",B=(D/1e3).toFixed(3)+"em",F=new dl([N],{width:P,height:B,viewBox:"0 0 "+p+" "+D}),V=$e.makeSvgSpan([],[F],i);V.height=D/1e3,V.style.width=P,V.style.height=B,E.push({type:"elem",elem:V})}else{if(E.push(z7(f,m,a)),E.push(y3),u===null){var $=L-y-T+2*nA;E.push(G7(h,$,i))}else{var U=(L-y-T-S)/2+2*nA;E.push(G7(h,U,i)),E.push(y3),E.push(z7(u,m,a)),E.push(y3),E.push(G7(h,U,i))}E.push(y3),E.push(z7(l,m,a))}var j=i.havingBaseStyle(nr.TEXT),ee=$e.makeVList({positionType:"bottom",positionData:R,children:E},j);return pA($e.makeSpan(["delimsizing","mult"],[ee],j),nr.TEXT,i,s)},"makeStackedDelim"),V7=80,U7=.08,H7=o(function(e,r,n,i,a){var s=TTe(e,i,n),l=new Zl(e,s),u=new dl([l],{width:"400em",height:St(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return $e.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),ywe=o(function(e,r){var n=r.havingBaseSizing(),i=SU("\\surd",e*n.sizeMultiplier,EU,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*s+V7,e<1?a=1:e<1.4&&(a=.7),u=(1+s+U7)/a,h=(1+s)/a,l=H7("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+V7)*Xy[i.size],h=(Xy[i.size]+s)/a,u=(Xy[i.size]+s+U7)/a,l=H7("sqrtSize"+i.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+U7,h=e+s,f=Math.floor(1e3*e+s)+V7,l=H7("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=St(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),wU=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],vwe=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],kU=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Xy=[0,1.2,1.8,2.4,3],xwe=o(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),er.contains(wU,e)||er.contains(kU,e))return bU(e,r,!1,n,i,a);if(er.contains(vwe,e))return TU(e,Xy[r],!1,n,i,a);throw new gt("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),bwe=[{type:"small",style:nr.SCRIPTSCRIPT},{type:"small",style:nr.SCRIPT},{type:"small",style:nr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Twe=[{type:"small",style:nr.SCRIPTSCRIPT},{type:"small",style:nr.SCRIPT},{type:"small",style:nr.TEXT},{type:"stack"}],EU=[{type:"small",style:nr.SCRIPTSCRIPT},{type:"small",style:nr.SCRIPT},{type:"small",style:nr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],wwe=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),SU=o(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return n[s]}return n[n.length-1]},"traverseSequence"),CU=o(function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;er.contains(kU,e)?l=bwe:er.contains(wU,e)?l=EU:l=Twe;var u=SU(e,r,l,i);return u.type==="small"?dwe(e,u.style,n,i,a,s):u.type==="large"?bU(e,u.size,n,i,a,s):TU(e,r,n,i,a,s)},"makeCustomSizedDelim"),kwe=o(function(e,r,n,i,a,s){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return CU(e,d,!0,i,a,s)},"makeLeftRightDelim"),fu={sqrtImage:ywe,sizedDelim:xwe,sizeToMaxHeight:Xy,customSizedDelim:CU,leftRightDelim:kwe},LV={"\\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}},Ewe=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(N3,"checkDelimiter");Mt({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:o((t,e)=>{var r=N3(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:LV[t.funcName].size,mclass:LV[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?$e.makeSpan([t.mclass]):fu.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(Lo(t.delim,t.mode));var r=new mt.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=St(fu.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});o(RV,"assertParsed");Mt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((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:N3(e[0],t).text,color:r}},"handler")});Mt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=N3(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Tr(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{RV(t);for(var r=Ii(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{RV(t);var r=As(t.body,e);if(t.left!=="."){var n=new mt.MathNode("mo",[Lo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new mt.MathNode("mo",[Lo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return uA(r)},"mathmlBuilder")});Mt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=N3(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}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=Jy(e,[]);else{r=fu.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Lo("|","text"):Lo(t.delim,t.mode),n=new mt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});mA=o((t,e)=>{var r=$e.wrapFragment(Hr(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,l=er.isCharacterBox(t.body);if(n==="sout")a=$e.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=ii({number:.6,unit:"pt"},e),h=ii({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=St(d/2+u);var p=Math.floor(1e3*d*i),m=xTe(p),g=new dl([new Zl("phase",m)],{width:"400em",height:St(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=$e.makeSvgSpan(["hide-tail"],[g],e),a.style.height=St(d),s=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=pu.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=St(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=St(x),a.style.borderRightWidth=St(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=$e.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var T=/cancel|phase/.test(n)?["svg-align"]:[];b=$e.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?$e.makeSpan(["mord","cancel-lap"],[b],e):$e.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),gA=o((t,e)=>{var r=0,n=new mt.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[wn(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: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");Mt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Tr(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:mA,mathmlBuilder:gA});Mt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Tr(e[0],"color-token").color,s=Tr(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:mA,mathmlBuilder:gA});Mt({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]}}});Mt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\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:mA,mathmlBuilder:gA});Mt({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]}}});AU={};o(Jl,"defineEnvironment");_U={};o(ce,"defineMacro");o(NV,"getHLines");M3=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new gt("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o(yA,"getAutoTag");o(wh,"parseArray");o(vA,"dCellStyle");ec=o(function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(nr.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?ii({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,T=0;function S(W){for(var Ve=0;Ve0&&(T+=.25),h.push({pos:T,isDashed:W[Ve]})}for(o(S,"setHLinePos"),S(s[0]),n=0;n0&&(R+=b,CW))for(n=0;n=l)){var Q=void 0;(i>0||e.hskipBeforeAndAfter)&&(Q=er.deflt(U.pregap,p),Q!==0&&(O=$e.makeSpan(["arraycolsep"],[]),O.style.width=St(Q),D.push(O)));var ue=[];for(n=0;n0){for(var K=$e.makeLineSpan("hline",r,f),ae=$e.makeLineSpan("hdashline",r,f),Z=[{type:"elem",elem:u,shift:0}];h.length>0;){var de=h.pop(),ne=de.pos-E;de.isDashed?Z.push({type:"elem",elem:ae,shift:ne}):Z.push({type:"elem",elem:K,shift:ne})}u=$e.makeVList({positionType:"individualShift",children:Z},r)}if(P.length===0)return $e.makeSpan(["mord"],[u],r);var Te=$e.makeVList({positionType:"individualShift",children:P},r);return Te=$e.makeSpan(["tag"],[Te],r),$e.makeFragment([u,Te])},"htmlBuilder"),Swe={c:"center ",l:"left ",r:"right "},tc=o(function(e,r){for(var n=[],i=new mt.MathNode("mtd",[],["mtr-glue"]),a=new mt.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var T=x;T0?"left ":"",p+=A[A.length-1].length>0?"right ":"";for(var L=1;L-1?"alignat":"align",a=e.envName==="split",s=wh(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:yA(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");Jl({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=L3(e[0]),n=r?[e[0]]:Tr(e[0],"ordgroup").body,i=n.map(function(s){var l=fA(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new gt("Unknown column alignment: "+u,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return wh(t.parser,a,vA(t.envName))},htmlBuilder:ec,mathmlBuilder:tc});Jl({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".indexOf(r)===-1)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=wh(t.parser,n,vA(t.envName)),s=Math.max(0,...a.body.map(l=>l.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:ec,mathmlBuilder:tc});Jl({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=wh(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:ec,mathmlBuilder:tc});Jl({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=L3(e[0]),n=r?[e[0]]:Tr(e[0],"ordgroup").body,i=n.map(function(s){var l=fA(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new gt("Unknown column alignment: "+u,s)});if(i.length>1)throw new gt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=wh(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new gt("{subarray} can contain only one column");return a},htmlBuilder:ec,mathmlBuilder:tc});Jl({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=wh(t.parser,e,vA(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:ec,mathmlBuilder:tc});Jl({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:DU,htmlBuilder:ec,mathmlBuilder:tc});Jl({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){er.contains(["gather","gather*"],t.envName)&&M3(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:yA(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return wh(t.parser,e,"display")},htmlBuilder:ec,mathmlBuilder:tc});Jl({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:DU,htmlBuilder:ec,mathmlBuilder:tc});Jl({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){M3(t);var e={autoTag:yA(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return wh(t.parser,e,"display")},htmlBuilder:ec,mathmlBuilder:tc});Jl({type:"array",names:["CD"],props:{numArgs:0},handler(t){return M3(t),hwe(t.parser)},htmlBuilder:ec,mathmlBuilder:tc});ce("\\nonumber","\\gdef\\@eqnsw{0}");ce("\\notag","\\nonumber");Mt({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")}});MV=AU;Mt({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{var r=t.font,n=e.withFont(r);return Hr(t.body,n)},"htmlBuilder$5"),RU=o((t,e)=>{var r=t.font,n=e.withFont(r);return wn(t.body,n)},"mathmlBuilder$4"),IV={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Mt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=S3(e[0]),a=n;return a in IV&&(a=IV[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:LU,mathmlBuilder:RU});Mt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,n=e[0],i=er.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:R3(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});Mt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:LU,mathmlBuilder:RU});NU=o((t,e)=>{var r=e;return t==="display"?r=r.id>=nr.SCRIPT.id?r.text():nr.DISPLAY:t==="text"&&r.size===nr.DISPLAY.size?r=nr.TEXT:t==="script"?r=nr.SCRIPT:t==="scriptscript"&&(r=nr.SCRIPTSCRIPT),r},"adjustStyle"),xA=o((t,e)=>{var r=NU(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=Hr(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new mt.MathNode("mfrac",[wn(t.numer,e),wn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ii(t.barSize,e);r.setAttribute("linethickness",St(n))}var i=NU(t.size,e.style);if(i.size!==e.style.size){r=new mt.MathNode("mstyle",[r]);var a=i.size===nr.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new mt.MathNode("mo",[new mt.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new mt.MathNode("mo",[new mt.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return uA(s)}return r},"mathmlBuilder$3");Mt({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:xA,mathmlBuilder:bA});Mt({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});Mt({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}}});OV=["display","text","script","scriptscript"],PV=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");Mt({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=S3(e[0]),s=a.type==="atom"&&a.family==="open"?PV(a.text):null,l=S3(e[1]),u=l.type==="atom"&&l.family==="close"?PV(l.text):null,h=Tr(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=Tr(m.body[0],"textord");p=OV[Number(g.text)]}}else m=Tr(m,"textord"),p=OV[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:xA,mathmlBuilder:bA});Mt({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:Tr(e[0],"size").value,token:i}}});Mt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=iTe(Tr(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:xA,mathmlBuilder:bA});MU=o((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?Hr(t.sup,e.havingStyle(r.sup()),e):Hr(t.sub,e.havingStyle(r.sub()),e),i=Tr(t.base,"horizBrace")):i=Tr(t,"horizBrace");var a=Hr(i.base,e.havingBaseStyle(nr.DISPLAY)),s=pu.svgSpan(i,e),l;if(i.isOver?(l=$e.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=$e.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=$e.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=$e.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=$e.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return $e.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),Cwe=o((t,e)=>{var r=pu.mathMLnode(t.label);return new mt.MathNode(t.isOver?"mover":"munder",[wn(t.base,e),r])},"mathmlBuilder$2");Mt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:MU,mathmlBuilder:Cwe});Mt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[1],i=Tr(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:gi(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=Ii(t.body,e,!1);return $e.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Th(t.body,e);return r instanceof es||(r=new es("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});Mt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=Tr(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Tr(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=Ii(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=$e.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:o((t,e)=>Th(t.body,e),"mathmlBuilder")});Mt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:gi(e[0]),mathml:gi(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=Ii(t.html,e,!1);return $e.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>Th(t.mathml,e),"mathmlBuilder")});q7=o(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(!ZV(n))throw new gt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");Mt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=Tr(r[0],"raw").string,h=u.split(","),f=0;f{var r=ii(t.height,e),n=0;t.totalheight.number>0&&(n=ii(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ii(t.width,e));var a={height:St(r+n)};i>0&&(a.width=St(i)),n>0&&(a.verticalAlign=St(-n));var s=new Q7(t.src,t.alt,a);return s.height=r,s.depth=n,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new mt.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=ii(t.height,e),i=0;if(t.totalheight.number>0&&(i=ii(t.totalheight,e)-n,r.setAttribute("valign",St(-i))),r.setAttribute("height",St(n+i)),t.width.number>0){var a=ii(t.width,e);r.setAttribute("width",St(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});Mt({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=Tr(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 $e.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=ii(t.dimension,e);return new mt.SpaceNode(r)}});Mt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=$e.makeSpan([],[Hr(t.body,e)]),r=$e.makeSpan(["inner"],[r],e)):r=$e.makeSpan(["inner"],[Hr(t.body,e)]);var n=$e.makeSpan(["fix"],[]),i=$e.makeSpan([t.alignment],[r,n],e),a=$e.makeSpan(["strut"]);return a.style.height=St(i.height+i.depth),i.depth&&(a.style.verticalAlign=St(-i.depth)),i.children.unshift(a),i=$e.makeSpan(["thinbox"],[i],e),$e.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new mt.MathNode("mpadded",[wn(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},"mathmlBuilder")});Mt({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",body:s}}});Mt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new gt("Mismatched "+t.funcName)}});BV=o((t,e)=>{switch(e.style.size){case nr.DISPLAY.size:return t.display;case nr.TEXT.size:return t.text;case nr.SCRIPT.size:return t.script;case nr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");Mt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:gi(e[0]),text:gi(e[1]),script:gi(e[2]),scriptscript:gi(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=BV(t,e),n=Ii(r,e,!1);return $e.makeFragment(n)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=BV(t,e);return Th(r,e)},"mathmlBuilder")});IU=o((t,e,r,n,i,a,s)=>{t=$e.makeSpan([],[t]);var l=r&&er.isCharacterBox(r),u,h;if(e){var f=Hr(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=Hr(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=$e.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:St(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:St(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-s;p=$e.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:St(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+s;p=$e.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:St(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=$e.makeSpan(["mspace"],[],n);x.style.marginRight=St(a),v.unshift(x)}return $e.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),OU=["\\smallint"],C0=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Tr(t.base,"op"),i=!0):a=Tr(t,"op");var s=e.style,l=!1;s.size===nr.DISPLAY.size&&a.symbol&&!er.contains(OU,a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=$e.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=$e.staticSvg(f+"Size"+(l?"2":"1"),e);u=$e.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=Ii(a.body,e,!0);m.length===1&&m[0]instanceof Cs?(u=m[0],u.classes[0]="mop"):u=$e.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new es("mo",[Lo(t.name,t.mode)]),er.contains(OU,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new es("mo",As(t.body,e));else{r=new es("mi",[new _o(t.name.slice(1))]);var n=new es("mo",[Lo("\u2061","text")]);t.parentIsSupSub?r=new es("mrow",[r,n]):r=cU([r,n])}return r},"mathmlBuilder$1"),Awe={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};Mt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=Awe[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:C0,mathmlBuilder:ev});Mt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:gi(n)}},"handler"),htmlBuilder:C0,mathmlBuilder:ev});_we={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};Mt({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:C0,mathmlBuilder:ev});Mt({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:C0,mathmlBuilder:ev});Mt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=_we[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:C0,mathmlBuilder:ev});PU=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Tr(t.base,"operatorname"),i=!0):a=Tr(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=Ii(l,e.withFont("mathrm"),!0),h=0;h{for(var r=As(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new mt.TextNode(l)]}var u=new mt.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new mt.MathNode("mo",[Lo("\u2061","text")]);return t.parentIsSupSub?new mt.MathNode("mrow",[u,h]):mt.newDocumentFragment([u,h])},"mathmlBuilder");Mt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:gi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:PU,mathmlBuilder:Dwe});ce("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");dd({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?$e.makeFragment(Ii(t.body,e,!1)):$e.makeSpan(["mord"],Ii(t.body,e,!0),e)},mathmlBuilder(t,e){return Th(t.body,e,!0)}});Mt({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=Hr(t.body,e.havingCrampedStyle()),n=$e.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=$e.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return $e.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new mt.MathNode("mo",[new mt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new mt.MathNode("mover",[wn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Mt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:gi(n)}},"handler"),htmlBuilder:o((t,e)=>{var r=Ii(t.body,e.withPhantom(),!1);return $e.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=As(t.body,e);return new mt.MathNode("mphantom",r)},"mathmlBuilder")});Mt({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=$e.makeSpan([],[Hr(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=As(gi(t.body),e),n=new mt.MathNode("mphantom",r),i=new mt.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});Mt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=$e.makeSpan(["inner"],[Hr(t.body,e.withPhantom())]),n=$e.makeSpan(["fix"],[]);return $e.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=As(gi(t.body),e),n=new mt.MathNode("mphantom",r),i=new mt.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});Mt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Tr(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=Hr(t.body,e),n=ii(t.dy,e);return $e.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new mt.MathNode("mpadded",[wn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Mt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Mt({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=Tr(e[0],"size"),s=Tr(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Tr(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=$e.makeSpan(["mord","rule"],[],e),n=ii(t.width,e),i=ii(t.height,e),a=t.shift?ii(t.shift,e):0;return r.style.borderRightWidth=St(n),r.style.borderTopWidth=St(i),r.style.bottom=St(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ii(t.width,e),n=ii(t.height,e),i=t.shift?ii(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new mt.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",St(r)),s.setAttribute("height",St(n));var l=new mt.MathNode("mpadded",[s]);return i>=0?l.setAttribute("height",St(i)):(l.setAttribute("height",St(i)),l.setAttribute("depth",St(-i))),l.setAttribute("voffset",St(i)),l}});o(BU,"sizingGroup");FV=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Lwe=o((t,e)=>{var r=e.havingSize(t.size);return BU(t.body,r,e)},"htmlBuilder");Mt({type:"sizing",names:FV,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:FV.indexOf(n)+1,body:a}},"handler"),htmlBuilder:Lwe,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),n=As(t.body,r),i=new mt.MathNode("mstyle",n);return i.setAttribute("mathsize",St(r.sizeMultiplier)),i},"mathmlBuilder")});Mt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Tr(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=$e.makeSpan([],[Hr(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new mt.MathNode("mpadded",[wn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});Mt({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=Hr(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=$e.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=St(f);var m=$e.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(nr.SCRIPTSCRIPT),y=Hr(t.index,g,e),v=.6*(m.height-m.depth),x=$e.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=$e.makeSpan(["root"],[x]);return $e.makeSpan(["mord","sqrt"],[b,m],e)}else return $e.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new mt.MathNode("mroot",[wn(r,e),wn(n,e)]):new mt.MathNode("msqrt",[wn(r,e)])}});$V={display:nr.DISPLAY,text:nr.TEXT,script:nr.SCRIPT,scriptscript:nr.SCRIPTSCRIPT};Mt({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);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=$V[t.style],n=e.havingStyle(r).withFont("");return BU(t.body,n,e)},mathmlBuilder(t,e){var r=$V[t.style],n=e.havingStyle(r),i=As(t.body,n),a=new mt.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});Rwe=o(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===nr.DISPLAY.size||n.alwaysHandleSupSub);return i?C0:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===nr.DISPLAY.size||n.limits);return a?PU:null}else{if(n.type==="accent")return er.isCharacterBox(n.base)?dA:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?MU:null}else return null}else return null},"htmlBuilderDelegate");dd({type:"supsub",htmlBuilder(t,e){var r=Rwe(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=Hr(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&er.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=Hr(i,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=Hr(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===nr.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=St(.5/h.ptPerEm/v),b=null;if(u){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof Cs||T)&&(b=St(-s.italic))}var S;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=h.defaultRuleThickness,k=4*w;if(f-l.depth-(u.height-d)0&&(f+=C,d-=C)}var A=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];S=$e.makeVList({positionType:"individualShift",children:A},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var L=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];S=$e.makeVList({positionType:"shift",positionData:d,children:L},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),S=$e.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var I=J7(s,"right")||"mord";return $e.makeSpan([I],[s,$e.makeSpan(["msupsub"],[S])],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=[wn(t.base,e)];t.sub&&a.push(wn(t.sub,e)),t.sup&&a.push(wn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===nr.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===nr.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===nr.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===nr.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===nr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===nr.DISPLAY)?s="mover":s="msup"}return new mt.MathNode(s,a)}});dd({type:"atom",htmlBuilder(t,e){return $e.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new mt.MathNode("mo",[Lo(t.text,t.mode)]);if(t.family==="bin"){var n=hA(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}});FU={mi:"italic",mn:"normal",mtext:"normal"};dd({type:"mathord",htmlBuilder(t,e){return $e.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new mt.MathNode("mi",[Lo(t.text,t.mode,e)]),n=hA(t,e)||"italic";return n!==FU[r.type]&&r.setAttribute("mathvariant",n),r}});dd({type:"textord",htmlBuilder(t,e){return $e.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=Lo(t.text,t.mode,e),n=hA(t,e)||"normal",i;return t.mode==="text"?i=new mt.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new mt.MathNode("mn",[r]):t.text==="\\prime"?i=new mt.MathNode("mo",[r]):i=new mt.MathNode("mi",[r]),n!==FU[i.type]&&i.setAttribute("mathvariant",n),i}});W7={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Y7={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};dd({type:"spacing",htmlBuilder(t,e){if(Y7.hasOwnProperty(t.text)){var r=Y7[t.text].className||"";if(t.mode==="text"){var n=$e.makeOrd(t,e,"textord");return n.classes.push(r),n}else return $e.makeSpan(["mspace",r],[$e.mathsym(t.text,t.mode,e)],e)}else{if(W7.hasOwnProperty(t.text))return $e.makeSpan(["mspace",W7[t.text]],[],e);throw new gt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(Y7.hasOwnProperty(t.text))r=new mt.MathNode("mtext",[new mt.TextNode("\xA0")]);else{if(W7.hasOwnProperty(t.text))return new mt.MathNode("mspace");throw new gt('Unknown type of space "'+t.text+'"')}return r}});zV=o(()=>{var t=new mt.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");dd({type:"tag",mathmlBuilder(t,e){var r=new mt.MathNode("mtable",[new mt.MathNode("mtr",[zV(),new mt.MathNode("mtd",[Th(t.body,e)]),zV(),new mt.MathNode("mtd",[Th(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});GV={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},VV={"\\textbf":"textbf","\\textmd":"textmd"},Nwe={"\\textit":"textit","\\textup":"textup"},UV=o((t,e)=>{var r=t.font;if(r){if(GV[r])return e.withTextFontFamily(GV[r]);if(VV[r])return e.withTextFontWeight(VV[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(Nwe[r])},"optionsWithFont");Mt({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:gi(i),font:n}},htmlBuilder(t,e){var r=UV(t,e),n=Ii(t.body,r,!0);return $e.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=UV(t,e);return Th(t.body,r)}});Mt({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=Hr(t.body,e),n=$e.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=$e.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return $e.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new mt.MathNode("mo",[new mt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new mt.MathNode("munder",[wn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Mt({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=Hr(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return $e.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new mt.MathNode("mpadded",[wn(t.body,e)],["vcenter"])}});Mt({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=HV(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),xh=oU,$U=`[ \r + ]`,Mwe="\\\\[a-zA-Z@]+",Iwe="\\\\[^\uD800-\uDFFF]",Owe="("+Mwe+")"+$U+"*",Pwe=`\\\\( +|[ \r ]+ +?)[ \r ]*`,iA="[\u0300-\u036F]",Bwe=new RegExp(iA+"+$"),Fwe="("+$U+"+)|"+(Pwe+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(iA+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(iA+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Owe)+("|"+Iwe+")"),C3=class{static{o(this,"Lexer")}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(Fwe,"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 Do("EOF",new to(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new gt("Unexpected character: '"+e[r]+"'",new Do(e[r],new to(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 Do(i,new to(this,r,this.tokenRegex.lastIndex))}},aA=class{static{o(this,"Namespace")}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;i0&&(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}},$we=_U;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}});qV={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="";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=qV[e.text],n==null||n>=r)throw new gt("Invalid base-"+r+" digit "+e.text);for(var i;(i=qV[t.future().text])!=null&&i{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 l=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var u="",h=t.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=t.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new gt("Invalid number of arguments: "+u);l=parseInt(u),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:l}),""},"newcommand");ce("\\newcommand",t=>TA(t,!1,!0,!1));ce("\\renewcommand",t=>TA(t,!0,!1,!1));ce("\\providecommand",t=>TA(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),xh[r],Nn.math[r],Nn.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`\xA9}");ce("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ce("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");ce("\u212C","\\mathscr{B}");ce("\u2130","\\mathscr{E}");ce("\u2131","\\mathscr{F}");ce("\u210B","\\mathscr{H}");ce("\u2110","\\mathscr{I}");ce("\u2112","\\mathscr{L}");ce("\u2133","\\mathscr{M}");ce("\u211B","\\mathscr{R}");ce("\u212D","\\mathfrak{C}");ce("\u210C","\\mathfrak{H}");ce("\u2128","\\mathfrak{Z}");ce("\\Bbbk","\\Bbb{k}");ce("\xB7","\\cdotp");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}}{\\char"338}');ce("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");ce("\\ne","\\neq");ce("\u2260","\\neq");ce("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");ce("\u2209","\\notin");ce("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");ce("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");ce("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");ce("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");ce("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");ce("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");ce("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");ce("\u27C2","\\perp");ce("\u203C","\\mathclose{!\\mkern-0.8mu!}");ce("\u220C","\\notni");ce("\u231C","\\ulcorner");ce("\u231D","\\urcorner");ce("\u231E","\\llcorner");ce("\u231F","\\lrcorner");ce("\xA9","\\copyright");ce("\xAE","\\textregistered");ce("\uFE0F","\\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("\u22EE","\\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}}");WV={",":"\\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"};ce("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in WV?e=WV[r]:(r.slice(0,4)==="\\not"||r in Nn.math&&er.contains(["bin","rel"],Nn.math[r].group))&&(e="\\dotsb"),e});wA={")":!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 wA?"\\ldots\\,":"\\ldots"});ce("\\dotsc",function(t){var e=t.future().text;return e in wA&&e!==","?"\\ldots\\,":"\\ldots"});ce("\\cdots",function(t){var e=t.future().text;return e in wA?"\\@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}}");zU=St(Ql["Main-Regular"][84][1]-.7*Ql["Main-Regular"][65][1]);ce("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+zU+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ce("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+zU+"}{\\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("\u2237","\\dblcolon");ce("\u2239","\\eqcolon");ce("\u2254","\\coloneqq");ce("\u2255","\\eqqcolon");ce("\u2A74","\\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`\u220C}}");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}{\u2269}");ce("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");ce("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");ce("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");ce("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");ce("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");ce("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");ce("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");ce("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");ce("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");ce("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");ce("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");ce("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");ce("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");ce("\\imath","\\html@mathml{\\@imath}{\u0131}");ce("\\jmath","\\html@mathml{\\@jmath}{\u0237}");ce("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");ce("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");ce("\u27E6","\\llbracket");ce("\u27E7","\\rrbracket");ce("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");ce("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");ce("\u2983","\\lBrace");ce("\u2984","\\rBrace");ce("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");ce("\u29B5","\\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");GU=o(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");ce("\\bra@ket",GU(!1));ce("\\bra@set",GU(!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}");VU={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},sA=class{static{o(this,"MacroExpander")}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 aA($we,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new C3(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 Do("EOF",n.loc)),this.pushTokens(i),r.range(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,l=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[l]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=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;ithis.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 l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new gt("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new gt("Not a valid argument number",u)}}}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}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Do(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.indexOf("#")!==-1)for(var s=i.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new C3(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||xh.hasOwnProperty(e)||Nn.math.hasOwnProperty(e)||Nn.text.hasOwnProperty(e)||VU.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:xh.hasOwnProperty(e)&&!xh[e].primitive}},YV=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,v3=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),X7={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},XV={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},A3=class t{static{o(this,"Parser")}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 sA(e,r,this.mode),this.settings=r,this.leftrightDepth=0}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 Do("}")),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(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&xh[i.text]&&xh[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=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=Nn[this.mode][r].group,u=to.range(e),h;if(LTe.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(KV(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:to.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),yh.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"))})}var pd,Gwe,Vwe,JU,QU,sr,Hwe,qwe,Wwe,Ywe,eH,md,vr,Xwe,jwe,rc,SA,Kwe,Qwe,ZU,O3,kn,gd,Zwe,kh,tt,gr=M(()=>{"use strict";O7();pd=//gi,Gwe=o(t=>t?eH(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Vwe=(()=>{let t=!1;return()=>{t||(Uwe(),t=!0)}})();o(Uwe,"setupDompurifyHooks");JU=o(t=>(Vwe(),yh.sanitize(t)),"removeScript"),QU=o((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;r==="antiscript"||r==="strict"?t=JU(t):r!=="loose"&&(t=eH(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Ywe(t))}return t},"sanitizeMore"),sr=o((t,e)=>t&&(e.dompurifyConfig?t=yh.sanitize(QU(t,e),e.dompurifyConfig).toString():t=yh.sanitize(QU(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),Hwe=o((t,e)=>typeof t=="string"?sr(t,e):t.flat().map(r=>sr(r,e)),"sanitizeTextOrArray"),qwe=o(t=>pd.test(t),"hasBreaks"),Wwe=o(t=>t.split(pd),"splitBreaks"),Ywe=o(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),eH=o(t=>t.replace(pd,"#br#"),"breakToPlaceholder"),md=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),vr=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Xwe=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),jwe=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),rc=o(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),Kwe=o((t,e)=>{let r=SA(t,"~"),n=SA(e,"~");return r===1&&n===1},"shouldCombineSets"),Qwe=o(t=>{let e=SA(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],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"),ZU=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),O3=/\$\$(.*)\$\$/g,kn=o(t=>(t.match(O3)?.length??0)>0,"hasKatex"),gd=o(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await kh(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),Zwe=o(async(t,e)=>{if(!kn(t))return t;if(!(ZU()||e.legacyMathML||e.forceLegacyMathML))return t.replace(O3,"MathML is unsupported in this environment.");{let{default:r}=await Promise.resolve().then(()=>(KU(),jU)),n=e.forceLegacyMathML||!ZU()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(pd).map(i=>kn(i)?`