From a4b669436060e79a37f8edfc3a99e7fb766ff257 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Jun 2026 03:40:10 +0000 Subject: [PATCH] Deploy 1ff79d8d6e79346a039a738d5fceeba706f1d5c0 --- .nojekyll | 0 404.html | 49 + ...astro_type_script_index_0_lang.hwBsy0Mo.js | 1 + ...astro_type_script_index_0_lang.DXQP0nMs.js | 2 + ...astro_type_script_index_0_lang.FuRcXuRY.js | 1 + _astro/arc.BTyyZ9t0.js | 1 + .../architectureDiagram-3BPJPVTR.DScFG-O1.js | 36 + _astro/blockDiagram-GPEHLZMM.DOD1tvWz.js | 132 ++ _astro/c4Diagram-AAUBKEIU.nat2XixZ.js | 10 + _astro/channel.DScn-k6R.js | 1 + _astro/chunk-2J33WTMH.HmvIJeR8.js | 1 + _astro/chunk-4BX2VUAB.Bj_lmsp3.js | 1 + _astro/chunk-55IACEB6.DaHeeVsF.js | 1 + _astro/chunk-727SXJPM.eyChSAdB.js | 206 +++ _astro/chunk-AQP2D5EJ.B_aCHPyh.js | 231 +++ _astro/chunk-FMBD7UC4.B9yPs07s.js | 15 + _astro/chunk-ND2GUHAM.CiUMUSja.js | 1 + _astro/chunk-QZHKN3VN.BmpnJiq_.js | 1 + _astro/classDiagram-4FO5ZUOK.OncdqZO7.js | 1 + _astro/classDiagram-v2-Q7XG4LA2.OncdqZO7.js | 1 + _astro/cose-bilkent-S5V4N54A.ClF2UM5N.js | 1 + _astro/cytoscape.esm.OyMbaexL.js | 331 ++++ _astro/dagre-BM42HDAG.7pHMEqVk.js | 4 + _astro/defaultLocale.DX6XiGOO.js | 1 + _astro/diagram-2AECGRRQ.MlUG08pO.js | 43 + _astro/diagram-5GNKFQAL.CKqaQ_hH.js | 10 + _astro/diagram-KO2AKTUF.4up6Ar1O.js | 3 + _astro/diagram-LMA3HP47.B9YE20Dj.js | 24 + _astro/diagram-OG6HWLK6.Gn5-3W5d.js | 24 + _astro/ec.0vx5m.js | 3 + _astro/ec.bdoyy.css | 1 + _astro/erDiagram-TEJ5UH35.Bl77lVs6.js | 85 + _astro/flowDiagram-I6XJVG4X.ZcEysN7M.js | 162 ++ _astro/ganttDiagram-6RSMTGT7.Coa5L4Se.js | 292 ++++ _astro/gitGraphDiagram-PVQCEYII.DyQn-qRf.js | 106 ++ _astro/graph.-OzhPTMs.js | 1 + _astro/index.CGKSN4Ly.css | 1 + _astro/infoDiagram-5YYISTIA.JmDa7qGc.js | 2 + _astro/init.Gi6I4Gst.js | 1 + _astro/ishikawaDiagram-YF4QCWOH.Bq3509jq.js | 70 + _astro/journeyDiagram-JHISSGLW.D-GNXEdA.js | 139 ++ _astro/kanban-definition-UN3LZRKU.Pclr6b-W.js | 89 + _astro/katex.HP8lGamR.js | 257 +++ _astro/layout.owoKPs3z.js | 1 + _astro/linear.CNy4Dr2Q.js | 1 + _astro/logo.DT6dGy45.png | Bin 0 -> 33069 bytes _astro/mermaid.core.Ci_VGkOG.js | 309 ++++ .../mindmap-definition-RKZ34NQL.CkDyostU.js | 96 ++ _astro/ordinal.BYWQX77i.js | 1 + _astro/page.CmV2H9l1.js | 77 + _astro/pieDiagram-4H26LBE5.CucMMZF9.js | 30 + _astro/preload-helper.DK3iz7C1.js | 1 + _astro/print.DNXP8c50.css | 1 + _astro/quadrantDiagram-W4KKPZXB.SWAq4o9k.js | 7 + .../requirementDiagram-4Y6WPE33.R4IghZp_.js | 84 + _astro/sankeyDiagram-5OEKKPKP.BntQo72i.js | 40 + _astro/sequenceDiagram-3UESZ5HK.FEIwZiXY.js | 162 ++ _astro/stateDiagram-AJRCARHV.DkZFlJkF.js | 1 + _astro/stateDiagram-v2-BHNVJYJU.CwbP98cE.js | 1 + .../timeline-definition-PNZ67QCA.B-57br5T.js | 120 ++ _astro/ui-core.B8ZqvcNH.js | 2 + _astro/vennDiagram-CIIHVFJN.DryuVqLC.js | 34 + _astro/wardley-L42UT6IY.BVigPHyG.js | 173 ++ _astro/wardleyDiagram-YWT4CUSO.EXTTov1l.js | 78 + _astro/xychartDiagram-2RQKCTM6.BSHZNS4L.js | 7 + assets/images/codeanalyzer.png | Bin 0 -> 33069 bytes extending/analysis-passes/index.html | 166 ++ extending/overview/index.html | 89 + favicon.png | Bin 0 -> 89973 bytes guides/cli-usage/index.html | 230 +++ guides/codeql/index.html | 126 ++ guides/concepts/index.html | 155 ++ guides/entrypoints/index.html | 170 ++ guides/neo4j/index.html | 209 +++ index.html | 103 ++ installing/index.html | 113 ++ pagefind/fragment/en_2999ea8.pf_fragment | Bin 0 -> 6381 bytes pagefind/fragment/en_2ed23cc.pf_fragment | Bin 0 -> 2388 bytes pagefind/fragment/en_341c8e3.pf_fragment | Bin 0 -> 3471 bytes pagefind/fragment/en_381787f.pf_fragment | Bin 0 -> 4353 bytes pagefind/fragment/en_584ebe2.pf_fragment | Bin 0 -> 2635 bytes pagefind/fragment/en_5d49208.pf_fragment | Bin 0 -> 6279 bytes pagefind/fragment/en_875d491.pf_fragment | Bin 0 -> 3049 bytes pagefind/fragment/en_8c402e6.pf_fragment | Bin 0 -> 2246 bytes pagefind/fragment/en_a9bec82.pf_fragment | Bin 0 -> 5722 bytes pagefind/fragment/en_c8ad244.pf_fragment | Bin 0 -> 1464 bytes pagefind/fragment/en_c99df1d.pf_fragment | Bin 0 -> 5503 bytes pagefind/fragment/en_dd2d461.pf_fragment | Bin 0 -> 3628 bytes pagefind/fragment/en_f036f4c.pf_fragment | Bin 0 -> 5266 bytes pagefind/index/en_4985be2.pf_index | Bin 0 -> 33417 bytes pagefind/index/en_e37df19.pf_index | Bin 0 -> 25125 bytes pagefind/pagefind-component-ui.css | 1509 +++++++++++++++++ pagefind/pagefind-component-ui.js | 56 + pagefind/pagefind-entry.json | 1 + pagefind/pagefind-highlight.js | 1070 ++++++++++++ pagefind/pagefind-modular-ui.css | 214 +++ pagefind/pagefind-modular-ui.js | 8 + pagefind/pagefind-ui.css | 1 + pagefind/pagefind-ui.js | 2 + pagefind/pagefind-worker.js | 6 + pagefind/pagefind.en_3bda61df65.pf_meta | Bin 0 -> 217 bytes pagefind/pagefind.js | 6 + pagefind/wasm.en.pagefind | Bin 0 -> 72209 bytes pagefind/wasm.unknown.pagefind | Bin 0 -> 68024 bytes quickstart/index.html | 132 ++ reference/cli/index.html | 316 ++++ reference/schema/index.html | 669 ++++++++ sitemap-0.xml | 1 + sitemap-index.xml | 1 + what-is-codeanalyzer/index.html | 183 ++ 110 files changed, 9104 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 _astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js create mode 100644 _astro/Search.astro_astro_type_script_index_0_lang.DXQP0nMs.js create mode 100644 _astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js create mode 100644 _astro/arc.BTyyZ9t0.js create mode 100644 _astro/architectureDiagram-3BPJPVTR.DScFG-O1.js create mode 100644 _astro/blockDiagram-GPEHLZMM.DOD1tvWz.js create mode 100644 _astro/c4Diagram-AAUBKEIU.nat2XixZ.js create mode 100644 _astro/channel.DScn-k6R.js create mode 100644 _astro/chunk-2J33WTMH.HmvIJeR8.js create mode 100644 _astro/chunk-4BX2VUAB.Bj_lmsp3.js create mode 100644 _astro/chunk-55IACEB6.DaHeeVsF.js create mode 100644 _astro/chunk-727SXJPM.eyChSAdB.js create mode 100644 _astro/chunk-AQP2D5EJ.B_aCHPyh.js create mode 100644 _astro/chunk-FMBD7UC4.B9yPs07s.js create mode 100644 _astro/chunk-ND2GUHAM.CiUMUSja.js create mode 100644 _astro/chunk-QZHKN3VN.BmpnJiq_.js create mode 100644 _astro/classDiagram-4FO5ZUOK.OncdqZO7.js create mode 100644 _astro/classDiagram-v2-Q7XG4LA2.OncdqZO7.js create mode 100644 _astro/cose-bilkent-S5V4N54A.ClF2UM5N.js create mode 100644 _astro/cytoscape.esm.OyMbaexL.js create mode 100644 _astro/dagre-BM42HDAG.7pHMEqVk.js create mode 100644 _astro/defaultLocale.DX6XiGOO.js create mode 100644 _astro/diagram-2AECGRRQ.MlUG08pO.js create mode 100644 _astro/diagram-5GNKFQAL.CKqaQ_hH.js create mode 100644 _astro/diagram-KO2AKTUF.4up6Ar1O.js create mode 100644 _astro/diagram-LMA3HP47.B9YE20Dj.js create mode 100644 _astro/diagram-OG6HWLK6.Gn5-3W5d.js create mode 100644 _astro/ec.0vx5m.js create mode 100644 _astro/ec.bdoyy.css create mode 100644 _astro/erDiagram-TEJ5UH35.Bl77lVs6.js create mode 100644 _astro/flowDiagram-I6XJVG4X.ZcEysN7M.js create mode 100644 _astro/ganttDiagram-6RSMTGT7.Coa5L4Se.js create mode 100644 _astro/gitGraphDiagram-PVQCEYII.DyQn-qRf.js create mode 100644 _astro/graph.-OzhPTMs.js create mode 100644 _astro/index.CGKSN4Ly.css create mode 100644 _astro/infoDiagram-5YYISTIA.JmDa7qGc.js create mode 100644 _astro/init.Gi6I4Gst.js create mode 100644 _astro/ishikawaDiagram-YF4QCWOH.Bq3509jq.js create mode 100644 _astro/journeyDiagram-JHISSGLW.D-GNXEdA.js create mode 100644 _astro/kanban-definition-UN3LZRKU.Pclr6b-W.js create mode 100644 _astro/katex.HP8lGamR.js create mode 100644 _astro/layout.owoKPs3z.js create mode 100644 _astro/linear.CNy4Dr2Q.js create mode 100644 _astro/logo.DT6dGy45.png create mode 100644 _astro/mermaid.core.Ci_VGkOG.js create mode 100644 _astro/mindmap-definition-RKZ34NQL.CkDyostU.js create mode 100644 _astro/ordinal.BYWQX77i.js create mode 100644 _astro/page.CmV2H9l1.js create mode 100644 _astro/pieDiagram-4H26LBE5.CucMMZF9.js create mode 100644 _astro/preload-helper.DK3iz7C1.js create mode 100644 _astro/print.DNXP8c50.css create mode 100644 _astro/quadrantDiagram-W4KKPZXB.SWAq4o9k.js create mode 100644 _astro/requirementDiagram-4Y6WPE33.R4IghZp_.js create mode 100644 _astro/sankeyDiagram-5OEKKPKP.BntQo72i.js create mode 100644 _astro/sequenceDiagram-3UESZ5HK.FEIwZiXY.js create mode 100644 _astro/stateDiagram-AJRCARHV.DkZFlJkF.js create mode 100644 _astro/stateDiagram-v2-BHNVJYJU.CwbP98cE.js create mode 100644 _astro/timeline-definition-PNZ67QCA.B-57br5T.js create mode 100644 _astro/ui-core.B8ZqvcNH.js create mode 100644 _astro/vennDiagram-CIIHVFJN.DryuVqLC.js create mode 100644 _astro/wardley-L42UT6IY.BVigPHyG.js create mode 100644 _astro/wardleyDiagram-YWT4CUSO.EXTTov1l.js create mode 100644 _astro/xychartDiagram-2RQKCTM6.BSHZNS4L.js create mode 100644 assets/images/codeanalyzer.png create mode 100644 extending/analysis-passes/index.html create mode 100644 extending/overview/index.html create mode 100644 favicon.png create mode 100644 guides/cli-usage/index.html create mode 100644 guides/codeql/index.html create mode 100644 guides/concepts/index.html create mode 100644 guides/entrypoints/index.html create mode 100644 guides/neo4j/index.html create mode 100644 index.html create mode 100644 installing/index.html create mode 100644 pagefind/fragment/en_2999ea8.pf_fragment create mode 100644 pagefind/fragment/en_2ed23cc.pf_fragment create mode 100644 pagefind/fragment/en_341c8e3.pf_fragment create mode 100644 pagefind/fragment/en_381787f.pf_fragment create mode 100644 pagefind/fragment/en_584ebe2.pf_fragment create mode 100644 pagefind/fragment/en_5d49208.pf_fragment create mode 100644 pagefind/fragment/en_875d491.pf_fragment create mode 100644 pagefind/fragment/en_8c402e6.pf_fragment create mode 100644 pagefind/fragment/en_a9bec82.pf_fragment create mode 100644 pagefind/fragment/en_c8ad244.pf_fragment create mode 100644 pagefind/fragment/en_c99df1d.pf_fragment create mode 100644 pagefind/fragment/en_dd2d461.pf_fragment create mode 100644 pagefind/fragment/en_f036f4c.pf_fragment create mode 100644 pagefind/index/en_4985be2.pf_index create mode 100644 pagefind/index/en_e37df19.pf_index create mode 100644 pagefind/pagefind-component-ui.css create mode 100644 pagefind/pagefind-component-ui.js create mode 100644 pagefind/pagefind-entry.json create mode 100644 pagefind/pagefind-highlight.js create mode 100644 pagefind/pagefind-modular-ui.css create mode 100644 pagefind/pagefind-modular-ui.js create mode 100644 pagefind/pagefind-ui.css create mode 100644 pagefind/pagefind-ui.js create mode 100644 pagefind/pagefind-worker.js create mode 100644 pagefind/pagefind.en_3bda61df65.pf_meta create mode 100644 pagefind/pagefind.js create mode 100644 pagefind/wasm.en.pagefind create mode 100644 pagefind/wasm.unknown.pagefind create mode 100644 quickstart/index.html create mode 100644 reference/cli/index.html create mode 100644 reference/schema/index.html create mode 100644 sitemap-0.xml create mode 100644 sitemap-index.xml create mode 100644 what-is-codeanalyzer/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..c85711f --- /dev/null +++ b/404.html @@ -0,0 +1,49 @@ + 404 | codeanalyzer-python + Skip to content

404

Page not found. Check the URL or try using the search bar.
\ No newline at end of file diff --git a/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js b/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js new file mode 100644 index 0000000..b2fd297 --- /dev/null +++ b/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js @@ -0,0 +1 @@ +import{S as r}from"./TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js";class c extends r{set current(e){super.current=e;const t=this.querySelector(".display-current");t&&(t.textContent=e.textContent)}constructor(){super();const e=this.querySelector("details");if(!e)return;const t=()=>{e.open=!1};e.querySelectorAll("a").forEach(s=>{s.addEventListener("click",t)}),window.addEventListener("click",s=>{e.contains(s.target)||t()}),window.addEventListener("keydown",s=>{if(s.key==="Escape"&&e.open){const o=e.contains(document.activeElement);if(t(),o){const n=e.querySelector("summary");n&&n.focus()}}})}}customElements.define("mobile-starlight-toc",c); diff --git a/_astro/Search.astro_astro_type_script_index_0_lang.DXQP0nMs.js b/_astro/Search.astro_astro_type_script_index_0_lang.DXQP0nMs.js new file mode 100644 index 0000000..e8d9f1c --- /dev/null +++ b/_astro/Search.astro_astro_type_script_index_0_lang.DXQP0nMs.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["_astro/ui-core.B8ZqvcNH.js","_astro/preload-helper.DK3iz7C1.js"])))=>i.map(i=>d[i]); +import{_ as h}from"./preload-helper.DK3iz7C1.js";const m={ranking:{pageLength:.1,termFrequency:.1,termSaturation:2,termSimilarity:9}};class g extends HTMLElement{constructor(){super();const r=this.querySelector("button[data-open-modal]"),u=this.querySelector("button[data-close-modal]"),o=this.querySelector("dialog"),p=this.querySelector(".dialog-frame"),i=e=>{("href"in(e.target||{})||document.body.contains(e.target)&&!p.contains(e.target))&&n()},l=e=>{o.showModal(),document.body.toggleAttribute("data-search-modal-open",!0),this.querySelector("input")?.focus(),e?.stopPropagation(),window.addEventListener("click",i)},n=()=>o.close();r.addEventListener("click",l),r.disabled=!1,u.addEventListener("click",n),o.addEventListener("close",()=>{document.body.toggleAttribute("data-search-modal-open",!1),window.removeEventListener("click",i)}),window.addEventListener("keydown",e=>{(e.metaKey===!0||e.ctrlKey===!0)&&e.key==="k"&&(o.open?n():l(),e.preventDefault())});let d={};try{d=JSON.parse(this.dataset.translations||"{}")}catch{}const c=this.dataset.stripTrailingSlash!==void 0?e=>e.replace(/(.)\/(#.*)?$/,"$1$2"):e=>e;window.addEventListener("DOMContentLoaded",()=>{(window.requestIdleCallback||(a=>setTimeout(a,1)))(async()=>{const{PagefindUI:a}=await h(async()=>{const{PagefindUI:t}=await import("./ui-core.B8ZqvcNH.js");return{PagefindUI:t}},__vite__mapDeps([0,1]));new a({...m,element:"#starlight__search",baseUrl:"/codeanalyzer-python",bundlePath:"/codeanalyzer-python".replace(/\/$/,"")+"/pagefind/",showImages:!1,translations:d,showSubResults:!0,processResult:t=>{t.url=c(t.url),t.sub_results=t.sub_results.map(s=>(s.url=c(s.url),s))}})})})}}customElements.define("site-search",g); diff --git a/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js b/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js new file mode 100644 index 0000000..53de038 --- /dev/null +++ b/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js @@ -0,0 +1 @@ +const m="_top";class H extends HTMLElement{constructor(){super(),this._current=this.querySelector('a[aria-current="true"]'),this.minH=parseInt(this.dataset.minH||"2",10),this.maxH=parseInt(this.dataset.maxH||"3",10),this.tocHeadingSelector=`h1#${m},:where(${[...Array.from({length:1+this.maxH-this.minH}).map((e,n)=>`h${this.minH+n}`)].join()})[id]`,this.onIdle=e=>(window.requestIdleCallback||(n=>setTimeout(n,1)))(e),this.init=()=>{const e=[...this.querySelectorAll("a")],n=t=>t.matches(this.tocHeadingSelector),i=t=>{if(!t)return null;const h=t;for(;t;){if(t.matches(".sl-markdown-content, main > *"))return document.getElementById(m);if(n(t))return t;const s=t.querySelector(this.tocHeadingSelector);if(s)return s;for(t=t.previousElementSibling;t?.lastElementChild;)t=t.lastElementChild;const o=i(t);if(o)return o}return i(h.parentElement)},c=t=>{for(const{isIntersecting:h,target:s}of t){if(!h)continue;const o=i(s);if(!o)continue;const l=e.find(g=>g.hash==="#"+encodeURIComponent(o.id));if(l){this.current=l;break}}},a=document.querySelectorAll([`main :where(${this.tocHeadingSelector})`,`main :where(${this.tocHeadingSelector}, .sl-heading-wrapper) ~ *:not(:has(${this.tocHeadingSelector}))`,`main .sl-markdown-content > *:not(:has(${this.tocHeadingSelector}))`,`main > *:not(:has(${this.tocHeadingSelector}))`].join());let r;const u=()=>{r||(r=new IntersectionObserver(c,{rootMargin:this.getRootMargin()}),a.forEach(t=>r.observe(t)))};u();let d;window.addEventListener("resize",()=>{r&&(r.disconnect(),r=void 0),clearTimeout(d),d=setTimeout(()=>this.onIdle(u),200)})},this.onIdle(()=>this.init())}set current(e){e!==this._current&&(this._current&&this._current.removeAttribute("aria-current"),e.setAttribute("aria-current","true"),this._current=e)}getRootMargin(){const e=document.querySelector("header")?.getBoundingClientRect().height||0,n=this.querySelector("summary")?.getBoundingClientRect().height||0,i=e+n+32,c=i+53,a=document.documentElement.clientHeight;return`-${i}px 0% ${c-a}px`}}customElements.define("starlight-toc",H);export{H as S}; diff --git a/_astro/arc.BTyyZ9t0.js b/_astro/arc.BTyyZ9t0.js new file mode 100644 index 0000000..656cd13 --- /dev/null +++ b/_astro/arc.BTyyZ9t0.js @@ -0,0 +1 @@ +import{a0 as ln,a1 as an,a2 as H,a3 as q,a4 as B,a5 as un,a6 as y,a7 as tn,a8 as L,a9 as _,aa as rn,ab as o,ac as on,ad as sn,ae as fn}from"./mermaid.core.Ci_VGkOG.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*ur*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,F=rn(c-f),t=c>f;if(a||(a=n=O()),sy))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(Fy?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),ps?(this.rect.x-=(this.labelWidth-s)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(s+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},r.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==h.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},r.prototype.transform=function(t){var s=this.rect.x;s>e.WORLD_BOUNDARY?s=e.WORLD_BOUNDARY:s<-e.WORLD_BOUNDARY&&(s=-e.WORLD_BOUNDARY);var o=this.rect.y;o>e.WORLD_BOUNDARY?o=e.WORLD_BOUNDARY:o<-e.WORLD_BOUNDARY&&(o=-e.WORLD_BOUNDARY);var c=new f(s,o),l=t.inverseTransformPoint(c);this.setLocation(l.x,l.y)},r.prototype.getLeft=function(){return this.rect.x},r.prototype.getRight=function(){return this.rect.x+this.rect.width},r.prototype.getTop=function(){return this.rect.y},r.prototype.getBottom=function(){return this.rect.y+this.rect.height},r.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},w.exports=r}),(function(w,U,L){var u=L(0);function h(){}for(var a in u)h[a]=u[a];h.MAX_ITERATIONS=2500,h.DEFAULT_EDGE_LENGTH=50,h.DEFAULT_SPRING_STRENGTH=.45,h.DEFAULT_REPULSION_STRENGTH=4500,h.DEFAULT_GRAVITY_STRENGTH=.4,h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,h.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,h.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,h.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,h.COOLING_ADAPTATION_FACTOR=.33,h.ADAPTATION_LOWER_NODE_LIMIT=1e3,h.ADAPTATION_UPPER_NODE_LIMIT=5e3,h.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,h.MAX_NODE_DISPLACEMENT=h.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,h.MIN_REPULSION_DIST=h.DEFAULT_EDGE_LENGTH/10,h.CONVERGENCE_CHECK_PERIOD=100,h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,h.MIN_EDGE_LENGTH=1,h.GRID_CALCULATION_CHECK_PERIOD=10,w.exports=h}),(function(w,U,L){function u(h,a){h==null&&a==null?(this.x=0,this.y=0):(this.x=h,this.y=a)}u.prototype.getX=function(){return this.x},u.prototype.getY=function(){return this.y},u.prototype.setX=function(h){this.x=h},u.prototype.setY=function(h){this.y=h},u.prototype.getDifference=function(h){return new DimensionD(this.x-h.x,this.y-h.y)},u.prototype.getCopy=function(){return new u(this.x,this.y)},u.prototype.translate=function(h){return this.x+=h.width,this.y+=h.height,this},w.exports=u}),(function(w,U,L){var u=L(2),h=L(10),a=L(0),e=L(7),i=L(3),f=L(1),r=L(13),v=L(12),t=L(11);function s(c,l,T){u.call(this,T),this.estimatedSize=h.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,l!=null&&l instanceof e?this.graphManager=l:l!=null&&l instanceof Layout&&(this.graphManager=l.graphManager)}s.prototype=Object.create(u.prototype);for(var o in u)s[o]=u[o];s.prototype.getNodes=function(){return this.nodes},s.prototype.getEdges=function(){return this.edges},s.prototype.getGraphManager=function(){return this.graphManager},s.prototype.getParent=function(){return this.parent},s.prototype.getLeft=function(){return this.left},s.prototype.getRight=function(){return this.right},s.prototype.getTop=function(){return this.top},s.prototype.getBottom=function(){return this.bottom},s.prototype.isConnected=function(){return this.isConnected},s.prototype.add=function(c,l,T){if(l==null&&T==null){var g=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(g)>-1)throw"Node already in graph!";return g.owner=this,this.getNodes().push(g),g}else{var d=c;if(!(this.getNodes().indexOf(l)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(l.owner==T.owner&&l.owner==this))throw"Both owners must be this graph!";return l.owner!=T.owner?null:(d.source=l,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),l.edges.push(d),T!=l&&T.edges.push(d),d)}},s.prototype.remove=function(c){var l=c;if(c instanceof i){if(l==null)throw"Node is null!";if(!(l.owner!=null&&l.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=l.edges.slice(),g,d=T.length,N=0;N-1&&S>-1))throw"Source and/or target doesn't know this edge!";g.source.edges.splice(A,1),g.target!=g.source&&g.target.edges.splice(S,1);var b=g.source.owner.getEdges().indexOf(g);if(b==-1)throw"Not in owner's edge list!";g.source.owner.getEdges().splice(b,1)}},s.prototype.updateLeftTop=function(){for(var c=h.MAX_VALUE,l=h.MAX_VALUE,T,g,d,N=this.getNodes(),b=N.length,A=0;AT&&(c=T),l>g&&(l=g)}return c==h.MAX_VALUE?null:(N[0].getParent().paddingLeft!=null?d=N[0].getParent().paddingLeft:d=this.margin,this.left=l-d,this.top=c-d,new v(this.left,this.top))},s.prototype.updateBounds=function(c){for(var l=h.MAX_VALUE,T=-h.MAX_VALUE,g=h.MAX_VALUE,d=-h.MAX_VALUE,N,b,A,S,V,X=this.nodes,Z=X.length,D=0;DN&&(l=N),TA&&(g=A),dN&&(l=N),TA&&(g=A),d=this.nodes.length){var Z=0;T.forEach(function(D){D.owner==c&&Z++}),Z==this.nodes.length&&(this.isConnected=!0)}},w.exports=s}),(function(w,U,L){var u,h=L(1);function a(e){u=L(6),this.layout=e,this.graphs=[],this.edges=[]}a.prototype.addRoot=function(){var e=this.layout.newGraph(),i=this.layout.newNode(null),f=this.add(e,i);return this.setRootGraph(f),this.rootGraph},a.prototype.add=function(e,i,f,r,v){if(f==null&&r==null&&v==null){if(e==null)throw"Graph is null!";if(i==null)throw"Parent node is null!";if(this.graphs.indexOf(e)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(e),e.parent!=null)throw"Already has a parent!";if(i.child!=null)throw"Already has a child!";return e.parent=i,i.child=e,e}else{v=f,r=i,f=e;var t=r.getOwner(),s=v.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(s!=null&&s.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==s)return f.isInterGraph=!1,t.add(f,r,v);if(f.isInterGraph=!0,f.source=r,f.target=v,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},a.prototype.remove=function(e){if(e instanceof u){var i=e;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(i==this.rootGraph||i.parent!=null&&i.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(i.getEdges());for(var r,v=f.length,t=0;t=e.getRight()?i[0]+=Math.min(e.getX()-a.getX(),a.getRight()-e.getRight()):e.getX()<=a.getX()&&e.getRight()>=a.getRight()&&(i[0]+=Math.min(a.getX()-e.getX(),e.getRight()-a.getRight())),a.getY()<=e.getY()&&a.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-a.getY(),a.getBottom()-e.getBottom()):e.getY()<=a.getY()&&e.getBottom()>=a.getBottom()&&(i[1]+=Math.min(a.getY()-e.getY(),e.getBottom()-a.getBottom()));var v=Math.abs((e.getCenterY()-a.getCenterY())/(e.getCenterX()-a.getCenterX()));e.getCenterY()===a.getCenterY()&&e.getCenterX()===a.getCenterX()&&(v=1);var t=v*i[0],s=i[1]/v;i[0]t)return i[0]=f,i[1]=o,i[2]=v,i[3]=X,!1;if(rv)return i[0]=s,i[1]=r,i[2]=S,i[3]=t,!1;if(fv?(i[0]=l,i[1]=T,n=!0):(i[0]=c,i[1]=o,n=!0):p===y&&(f>v?(i[0]=s,i[1]=o,n=!0):(i[0]=g,i[1]=T,n=!0)),-E===y?v>f?(i[2]=V,i[3]=X,m=!0):(i[2]=S,i[3]=A,m=!0):E===y&&(v>f?(i[2]=b,i[3]=A,m=!0):(i[2]=Z,i[3]=X,m=!0)),n&&m)return!1;if(f>v?r>t?(I=this.getCardinalDirection(p,y,4),M=this.getCardinalDirection(E,y,2)):(I=this.getCardinalDirection(-p,y,3),M=this.getCardinalDirection(-E,y,1)):r>t?(I=this.getCardinalDirection(-p,y,1),M=this.getCardinalDirection(-E,y,3)):(I=this.getCardinalDirection(p,y,2),M=this.getCardinalDirection(E,y,4)),!n)switch(I){case 1:W=o,R=f+-N/y,i[0]=R,i[1]=W;break;case 2:R=g,W=r+d*y,i[0]=R,i[1]=W;break;case 3:W=T,R=f+N/y,i[0]=R,i[1]=W;break;case 4:R=l,W=r+-d*y,i[0]=R,i[1]=W;break}if(!m)switch(M){case 1:Q=A,x=v+-_/y,i[2]=x,i[3]=Q;break;case 2:x=Z,Q=t+D*y,i[2]=x,i[3]=Q;break;case 3:Q=X,x=v+_/y,i[2]=x,i[3]=Q;break;case 4:x=V,Q=t+-D*y,i[2]=x,i[3]=Q;break}}return!1},h.getCardinalDirection=function(a,e,i){return a>e?i:1+i%4},h.getIntersection=function(a,e,i,f){if(f==null)return this.getIntersection2(a,e,i);var r=a.x,v=a.y,t=e.x,s=e.y,o=i.x,c=i.y,l=f.x,T=f.y,g=void 0,d=void 0,N=void 0,b=void 0,A=void 0,S=void 0,V=void 0,X=void 0,Z=void 0;return N=s-v,A=r-t,V=t*v-r*s,b=T-c,S=o-l,X=l*c-o*T,Z=N*S-b*A,Z===0?null:(g=(A*X-S*V)/Z,d=(b*V-N*X)/Z,new u(g,d))},h.angleOfVector=function(a,e,i,f){var r=void 0;return a!==i?(r=Math.atan((f-e)/(i-a)),i=0){var T=(-o+Math.sqrt(o*o-4*s*c))/(2*s),g=(-o-Math.sqrt(o*o-4*s*c))/(2*s),d=null;return T>=0&&T<=1?[T]:g>=0&&g<=1?[g]:d}else return null},h.HALF_PI=.5*Math.PI,h.ONE_AND_HALF_PI=1.5*Math.PI,h.TWO_PI=2*Math.PI,h.THREE_PI=3*Math.PI,w.exports=h}),(function(w,U,L){function u(){}u.sign=function(h){return h>0?1:h<0?-1:0},u.floor=function(h){return h<0?Math.ceil(h):Math.floor(h)},u.ceil=function(h){return h<0?Math.floor(h):Math.ceil(h)},w.exports=u}),(function(w,U,L){function u(){}u.MAX_VALUE=2147483647,u.MIN_VALUE=-2147483648,w.exports=u}),(function(w,U,L){var u=(function(){function r(v,t){for(var s=0;s"u"?"undefined":u(a);return a==null||e!="object"&&e!="function"},w.exports=h}),(function(w,U,L){function u(o){if(Array.isArray(o)){for(var c=0,l=Array(o.length);c0&&c;){for(N.push(A[0]);N.length>0&&c;){var S=N[0];N.splice(0,1),d.add(S);for(var V=S.getEdges(),g=0;g-1&&A.splice(_,1)}d=new Set,b=new Map}}return o},s.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],l=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),g=0;g0){for(var T=this.edgeToDummyNodes.get(l),g=0;g=0&&c.splice(X,1);var Z=b.getNeighborsList();Z.forEach(function(n){if(l.indexOf(n)<0){var m=T.get(n),p=m-1;p==1&&S.push(n),T.set(n,p)}})}l=l.concat(S),(c.length==1||c.length==2)&&(g=!0,d=c[0])}return d},s.prototype.setGraphManager=function(o){this.graphManager=o},w.exports=s}),(function(w,U,L){function u(){}u.seed=1,u.x=0,u.nextDouble=function(){return u.x=Math.sin(u.seed++)*1e4,u.x-Math.floor(u.x)},w.exports=u}),(function(w,U,L){var u=L(5);function h(a,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}h.prototype.getWorldOrgX=function(){return this.lworldOrgX},h.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},h.prototype.getWorldOrgY=function(){return this.lworldOrgY},h.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},h.prototype.getWorldExtX=function(){return this.lworldExtX},h.prototype.setWorldExtX=function(a){this.lworldExtX=a},h.prototype.getWorldExtY=function(){return this.lworldExtY},h.prototype.setWorldExtY=function(a){this.lworldExtY=a},h.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},h.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},h.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},h.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},h.prototype.getDeviceExtX=function(){return this.ldeviceExtX},h.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},h.prototype.getDeviceExtY=function(){return this.ldeviceExtY},h.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},h.prototype.transformX=function(a){var e=0,i=this.lworldExtX;return i!=0&&(e=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/i),e},h.prototype.transformY=function(a){var e=0,i=this.lworldExtY;return i!=0&&(e=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/i),e},h.prototype.inverseTransformX=function(a){var e=0,i=this.ldeviceExtX;return i!=0&&(e=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/i),e},h.prototype.inverseTransformY=function(a){var e=0,i=this.ldeviceExtY;return i!=0&&(e=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/i),e},h.prototype.inverseTransformPoint=function(a){var e=new u(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return e},w.exports=h}),(function(w,U,L){function u(t){if(Array.isArray(t)){for(var s=0,o=Array(t.length);sa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-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):(t>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(t-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()},r.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),s,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,l,T,g=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oN||d>N)&&(t.gravitationForceX=-this.gravityConstant*l,t.gravitationForceY=-this.gravityConstant*T)):(N=s.getEstimatedSize()*this.compoundGravityRangeFactor,(g>N||d>N)&&(t.gravitationForceX=-this.gravityConstant*l*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},r.prototype.isConverged=function(){var t,s=!1;return this.totalIterations>this.maxIterations/3&&(s=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=g.length||N>=g[0].length)){for(var b=0;br}}]),i})();w.exports=e}),(function(w,U,L){function u(){}u.svd=function(h){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=h.length,this.n=h[0].length;var a=Math.min(this.m,this.n);this.s=(function(Tt){for(var Ct=[];Tt-- >0;)Ct.push(0);return Ct})(Math.min(this.m+1,this.n)),this.U=(function(Tt){var Ct=function Bt(bt){if(bt.length==0)return 0;for(var zt=[],St=0;St0;)Ct.push(0);return Ct})(this.n),i=(function(Tt){for(var Ct=[];Tt-- >0;)Ct.push(0);return Ct})(this.m),f=!0,r=Math.min(this.m-1,this.n),v=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;E--)if(this.s[E]!==0){for(var y=E+1;y=0;z--){if((function(Tt,Ct){return Tt&&Ct})(z0;){var J=void 0,It=void 0;for(J=n-2;J>=-1&&J!==-1;J--)if(Math.abs(e[J])<=ht+tt*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){e[J]=0;break}if(J===n-2)It=4;else{var Nt=void 0;for(Nt=n-1;Nt>=J&&Nt!==J;Nt--){var vt=(Nt!==n?Math.abs(e[Nt]):0)+(Nt!==J+1?Math.abs(e[Nt-1]):0);if(Math.abs(this.s[Nt])<=ht+tt*vt){this.s[Nt]=0;break}}Nt===J?It=3:Nt===n-1?It=1:(It=2,J=Nt)}switch(J++,It){case 1:{var it=e[n-2];e[n-2]=0;for(var gt=n-2;gt>=J;gt--){var mt=u.hypot(this.s[gt],it),At=this.s[gt]/mt,Ot=it/mt;this.s[gt]=mt,gt!==J&&(it=-Ot*e[gt-1],e[gt-1]=At*e[gt-1]);for(var Et=0;Et=this.s[J+1]);){var Lt=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=Lt,JMath.abs(a)?(e=a/h,e=Math.abs(h)*Math.sqrt(1+e*e)):a!=0?(e=h/a,e=Math.abs(a)*Math.sqrt(1+e*e)):e=0,e},w.exports=u}),(function(w,U,L){var u=(function(){function e(i,f){for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:1,v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;h(this,e),this.sequence1=i,this.sequence2=f,this.match_score=r,this.mismatch_penalty=v,this.gap_penalty=t,this.iMax=i.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var f=this.listeners[i];f.event===a&&f.callback===e&&this.listeners.splice(i,1)}},h.emit=function(a,e){for(var i=0;i{var U={45:((a,e,i)=>{var f={};f.layoutBase=i(551),f.CoSEConstants=i(806),f.CoSEEdge=i(767),f.CoSEGraph=i(880),f.CoSEGraphManager=i(578),f.CoSELayout=i(765),f.CoSENode=i(991),f.ConstraintHandler=i(902),a.exports=f}),806:((a,e,i)=>{var f=i(551).FDLayoutConstants;function r(){}for(var v in f)r[v]=f[v];r.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,r.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,r.DEFAULT_COMPONENT_SEPERATION=60,r.TILE=!0,r.TILING_PADDING_VERTICAL=10,r.TILING_PADDING_HORIZONTAL=10,r.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,r.ENFORCE_CONSTRAINTS=!0,r.APPLY_LAYOUT=!0,r.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,r.TREE_REDUCTION_ON_INCREMENTAL=!0,r.PURE_INCREMENTAL=r.DEFAULT_INCREMENTAL,a.exports=r}),767:((a,e,i)=>{var f=i(551).FDLayoutEdge;function r(t,s,o){f.call(this,t,s,o)}r.prototype=Object.create(f.prototype);for(var v in f)r[v]=f[v];a.exports=r}),880:((a,e,i)=>{var f=i(551).LGraph;function r(t,s,o){f.call(this,t,s,o)}r.prototype=Object.create(f.prototype);for(var v in f)r[v]=f[v];a.exports=r}),578:((a,e,i)=>{var f=i(551).LGraphManager;function r(t){f.call(this,t)}r.prototype=Object.create(f.prototype);for(var v in f)r[v]=f[v];a.exports=r}),765:((a,e,i)=>{var f=i(551).FDLayout,r=i(578),v=i(880),t=i(991),s=i(767),o=i(806),c=i(902),l=i(551).FDLayoutConstants,T=i(551).LayoutConstants,g=i(551).Point,d=i(551).PointD,N=i(551).DimensionD,b=i(551).Layout,A=i(551).Integer,S=i(551).IGeometry,V=i(551).LGraph,X=i(551).Transform,Z=i(551).LinkedList;function D(){f.call(this),this.toBeTiled={},this.constraints={}}D.prototype=Object.create(f.prototype);for(var _ in f)D[_]=f[_];D.prototype.newGraphManager=function(){var n=new r(this);return this.graphManager=n,n},D.prototype.newGraph=function(n){return new v(null,this.graphManager,n)},D.prototype.newNode=function(n){return new t(this.graphManager,n)},D.prototype.newEdge=function(n){return new s(null,null,n)},D.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},D.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},D.prototype.layout=function(){var n=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return n&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},D.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(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(I){return m.has(I)});this.graphManager.setAllNodesToApplyGravitation(p)}}else{var n=this.getFlatForest();if(n.length>0)this.positionNodesRadially(n);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(E){return m.has(E)});this.graphManager.setAllNodesToApplyGravitation(p),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},D.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%l.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 n=new Set(this.getAllNodes()),m=this.nodesWithGravity.filter(function(y){return n.has(y)});this.graphManager.setAllNodesToApplyGravitation(m),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.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()),o.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,E=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,E),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},D.prototype.getPositionsData=function(){for(var n=this.graphManager.getAllNodes(),m={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(E.fixedNodeWeight=I)}}if(this.constraints.relativePlacementConstraint){var M=new Map,R=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){n.fixedNodesOnHorizontal.add(O),n.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var W=this.constraints.alignmentConstraint.vertical,p=0;p=2*O.length/3;tt--)H=Math.floor(Math.random()*(tt+1)),$=O[tt],O[tt]=O[H],O[H]=$;return O},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(O){if(O.left){var H=M.has(O.left)?M.get(O.left):O.left,$=M.has(O.right)?M.get(O.right):O.right;n.nodesInRelativeHorizontal.includes(H)||(n.nodesInRelativeHorizontal.push(H),n.nodeToRelativeConstraintMapHorizontal.set(H,[]),n.dummyToNodeForVerticalAlignment.has(H)?n.nodeToTempPositionMapHorizontal.set(H,n.idToNodeMap.get(n.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):n.nodeToTempPositionMapHorizontal.set(H,n.idToNodeMap.get(H).getCenterX())),n.nodesInRelativeHorizontal.includes($)||(n.nodesInRelativeHorizontal.push($),n.nodeToRelativeConstraintMapHorizontal.set($,[]),n.dummyToNodeForVerticalAlignment.has($)?n.nodeToTempPositionMapHorizontal.set($,n.idToNodeMap.get(n.dummyToNodeForVerticalAlignment.get($)[0]).getCenterX()):n.nodeToTempPositionMapHorizontal.set($,n.idToNodeMap.get($).getCenterX())),n.nodeToRelativeConstraintMapHorizontal.get(H).push({right:$,gap:O.gap}),n.nodeToRelativeConstraintMapHorizontal.get($).push({left:H,gap:O.gap})}else{var tt=R.has(O.top)?R.get(O.top):O.top,ht=R.has(O.bottom)?R.get(O.bottom):O.bottom;n.nodesInRelativeVertical.includes(tt)||(n.nodesInRelativeVertical.push(tt),n.nodeToRelativeConstraintMapVertical.set(tt,[]),n.dummyToNodeForHorizontalAlignment.has(tt)?n.nodeToTempPositionMapVertical.set(tt,n.idToNodeMap.get(n.dummyToNodeForHorizontalAlignment.get(tt)[0]).getCenterY()):n.nodeToTempPositionMapVertical.set(tt,n.idToNodeMap.get(tt).getCenterY())),n.nodesInRelativeVertical.includes(ht)||(n.nodesInRelativeVertical.push(ht),n.nodeToRelativeConstraintMapVertical.set(ht,[]),n.dummyToNodeForHorizontalAlignment.has(ht)?n.nodeToTempPositionMapVertical.set(ht,n.idToNodeMap.get(n.dummyToNodeForHorizontalAlignment.get(ht)[0]).getCenterY()):n.nodeToTempPositionMapVertical.set(ht,n.idToNodeMap.get(ht).getCenterY())),n.nodeToRelativeConstraintMapVertical.get(tt).push({bottom:ht,gap:O.gap}),n.nodeToRelativeConstraintMapVertical.get(ht).push({top:tt,gap:O.gap})}});else{var Q=new Map,z=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=M.has(O.left)?M.get(O.left):O.left,$=M.has(O.right)?M.get(O.right):O.right;Q.has(H)?Q.get(H).push($):Q.set(H,[$]),Q.has($)?Q.get($).push(H):Q.set($,[H])}else{var tt=R.has(O.top)?R.get(O.top):O.top,ht=R.has(O.bottom)?R.get(O.bottom):O.bottom;z.has(tt)?z.get(tt).push(ht):z.set(tt,[ht]),z.has(ht)?z.get(ht).push(tt):z.set(ht,[tt])}});var Y=function(H,$){var tt=[],ht=[],J=new Z,It=new Set,Nt=0;return H.forEach(function(vt,it){if(!It.has(it)){tt[Nt]=[],ht[Nt]=!1;var gt=it;for(J.push(gt),It.add(gt),tt[Nt].push(gt);J.length!=0;){gt=J.shift(),$.has(gt)&&(ht[Nt]=!0);var mt=H.get(gt);mt.forEach(function(At){It.has(At)||(J.push(At),It.add(At),tt[Nt].push(At))})}Nt++}}),{components:tt,isFixed:ht}},rt=Y(Q,n.fixedNodesOnHorizontal);this.componentsOnHorizontal=rt.components,this.fixedComponentsOnHorizontal=rt.isFixed;var B=Y(z,n.fixedNodesOnVertical);this.componentsOnVertical=B.components,this.fixedComponentsOnVertical=B.isFixed}}},D.prototype.updateDisplacements=function(){var n=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(B){var O=n.idToNodeMap.get(B.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var m=this.constraints.alignmentConstraint.vertical,p=0;p1){var R;for(R=0;RE&&(E=Math.floor(M.y)),I=Math.floor(M.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-M.x/2,T.WORLD_CENTER_Y-M.y/2))},D.radialLayout=function(n,m,p){var E=Math.max(this.maxDiagonalInTree(n),o.DEFAULT_RADIAL_SEPARATION);D.branchRadialLayout(m,null,0,359,0,E);var y=V.calculateBounds(n),I=new X;I.setDeviceOrgX(y.getMinX()),I.setDeviceOrgY(y.getMinY()),I.setWorldOrgX(p.x),I.setWorldOrgY(p.y);for(var M=0;M1;){var $=H[0];H.splice(0,1);var tt=z.indexOf($);tt>=0&&z.splice(tt,1),B--,Y--}m!=null?O=(z.indexOf(H[0])+1)%B:O=0;for(var ht=Math.abs(E-p)/Y,J=O;rt!=Y;J=++J%B){var It=z[J].getOtherEnd(n);if(It!=m){var Nt=(p+rt*ht)%360,vt=(Nt+ht)%360;D.branchRadialLayout(It,n,Nt,vt,y+I,I),rt++}}},D.maxDiagonalInTree=function(n){for(var m=A.MIN_VALUE,p=0;pm&&(m=y)}return m},D.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},D.prototype.groupZeroDegreeMembers=function(){var n=this,m={};this.memberGroups={},this.idToDummyNode={};for(var p=[],E=this.graphManager.getAllNodes(),y=0;y"u"&&(m[R]=[]),m[R]=m[R].concat(I)}Object.keys(m).forEach(function(W){if(m[W].length>1){var x="DummyCompound_"+W;n.memberGroups[x]=m[W];var Q=m[W][0].getParent(),z=new t(n.graphManager);z.id=x,z.paddingLeft=Q.paddingLeft||0,z.paddingRight=Q.paddingRight||0,z.paddingBottom=Q.paddingBottom||0,z.paddingTop=Q.paddingTop||0,n.idToDummyNode[x]=z;var Y=n.getGraphManager().add(n.newGraph(),z),rt=Q.getChild();rt.add(z);for(var B=0;By?(E.rect.x-=(E.labelWidth-y)/2,E.setWidth(E.labelWidth),E.labelMarginLeft=(E.labelWidth-y)/2):E.labelPosHorizontal=="right"&&E.setWidth(y+E.labelWidth)),E.labelHeight&&(E.labelPosVertical=="top"?(E.rect.y-=E.labelHeight,E.setHeight(I+E.labelHeight),E.labelMarginTop=E.labelHeight):E.labelPosVertical=="center"&&E.labelHeight>I?(E.rect.y-=(E.labelHeight-I)/2,E.setHeight(E.labelHeight),E.labelMarginTop=(E.labelHeight-I)/2):E.labelPosVertical=="bottom"&&E.setHeight(I+E.labelHeight))}})},D.prototype.repopulateCompounds=function(){for(var n=this.compoundOrder.length-1;n>=0;n--){var m=this.compoundOrder[n],p=m.id,E=m.paddingLeft,y=m.paddingTop,I=m.labelMarginLeft,M=m.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],m.rect.x,m.rect.y,E,y,I,M)}},D.prototype.repopulateZeroDegreeMembers=function(){var n=this,m=this.tiledZeroDegreePack;Object.keys(m).forEach(function(p){var E=n.idToDummyNode[p],y=E.paddingLeft,I=E.paddingTop,M=E.labelMarginLeft,R=E.labelMarginTop;n.adjustLocations(m[p],E.rect.x,E.rect.y,y,I,M,R)})},D.prototype.getToBeTiled=function(n){var m=n.id;if(this.toBeTiled[m]!=null)return this.toBeTiled[m];var p=n.getChild();if(p==null)return this.toBeTiled[m]=!1,!1;for(var E=p.getNodes(),y=0;y0)return this.toBeTiled[m]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[m]=!1,!1}return this.toBeTiled[m]=!0,!0},D.prototype.getNodeDegree=function(n){n.id;for(var m=n.getEdges(),p=0,E=0;EQ&&(Q=Y.rect.height)}p+=Q+n.verticalPadding}},D.prototype.tileCompoundMembers=function(n,m){var p=this;this.tiledMemberPack=[],Object.keys(n).forEach(function(E){var y=m[E];if(p.tiledMemberPack[E]=p.tileNodes(n[E],y.paddingLeft+y.paddingRight),y.rect.width=p.tiledMemberPack[E].width,y.rect.height=p.tiledMemberPack[E].height,y.setCenter(p.tiledMemberPack[E].centerX,p.tiledMemberPack[E].centerY),y.labelMarginLeft=0,y.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var I=y.rect.width,M=y.rect.height;y.labelWidth&&(y.labelPosHorizontal=="left"?(y.rect.x-=y.labelWidth,y.setWidth(I+y.labelWidth),y.labelMarginLeft=y.labelWidth):y.labelPosHorizontal=="center"&&y.labelWidth>I?(y.rect.x-=(y.labelWidth-I)/2,y.setWidth(y.labelWidth),y.labelMarginLeft=(y.labelWidth-I)/2):y.labelPosHorizontal=="right"&&y.setWidth(I+y.labelWidth)),y.labelHeight&&(y.labelPosVertical=="top"?(y.rect.y-=y.labelHeight,y.setHeight(M+y.labelHeight),y.labelMarginTop=y.labelHeight):y.labelPosVertical=="center"&&y.labelHeight>M?(y.rect.y-=(y.labelHeight-M)/2,y.setHeight(y.labelHeight),y.labelMarginTop=(y.labelHeight-M)/2):y.labelPosVertical=="bottom"&&y.setHeight(M+y.labelHeight))}})},D.prototype.tileNodes=function(n,m){var p=this.tileNodesByFavoringDim(n,m,!0),E=this.tileNodesByFavoringDim(n,m,!1),y=this.getOrgRatio(p),I=this.getOrgRatio(E),M;return IR&&(R=B.getWidth())});var W=I/y,x=M/y,Q=Math.pow(p-E,2)+4*(W+E)*(x+p)*y,z=(E-p+Math.sqrt(Q))/(2*(W+E)),Y;m?(Y=Math.ceil(z),Y==z&&Y++):Y=Math.floor(z);var rt=Y*(W+E)-E;return R>rt&&(rt=R),rt+=E*2,rt},D.prototype.tileNodesByFavoringDim=function(n,m,p){var E=o.TILING_PADDING_VERTICAL,y=o.TILING_PADDING_HORIZONTAL,I=o.TILING_COMPARE_BY,M={rows:[],rowWidth:[],rowHeight:[],width:0,height:m,verticalPadding:E,horizontalPadding:y,centerX:0,centerY:0};I&&(M.idealRowWidth=this.calcIdealRowWidth(n,p));var R=function(O){return O.rect.width*O.rect.height},W=function(O,H){return R(H)-R(O)};n.sort(function(B,O){var H=W;return M.idealRowWidth?(H=I,H(B.id,O.id)):H(B,O)});for(var x=0,Q=0,z=0;z0&&(M+=n.horizontalPadding),n.rowWidth[p]=M,n.width0&&(R+=n.verticalPadding);var W=0;R>n.rowHeight[p]&&(W=n.rowHeight[p],n.rowHeight[p]=R,W=n.rowHeight[p]-W),n.height+=W,n.rows[p].push(m)},D.prototype.getShortestRowIndex=function(n){for(var m=-1,p=Number.MAX_VALUE,E=0;Ep&&(m=E,p=n.rowWidth[E]);return m},D.prototype.canAddHorizontal=function(n,m,p){if(n.idealRowWidth){var E=n.rows.length-1,y=n.rowWidth[E];return y+m+n.horizontalPadding<=n.idealRowWidth}var I=this.getShortestRowIndex(n);if(I<0)return!0;var M=n.rowWidth[I];if(M+n.horizontalPadding+m<=n.width)return!0;var R=0;n.rowHeight[I]0&&(R=p+n.verticalPadding-n.rowHeight[I]);var W;n.width-M>=m+n.horizontalPadding?W=(n.height+R)/(M+m+n.horizontalPadding):W=(n.height+R)/n.width,R=p+n.verticalPadding;var x;return n.widthI&&m!=p){E.splice(-1,1),n.rows[p].push(y),n.rowWidth[m]=n.rowWidth[m]-I,n.rowWidth[p]=n.rowWidth[p]+I,n.width=n.rowWidth[instance.getLongestRowIndex(n)];for(var M=Number.MIN_VALUE,R=0;RM&&(M=E[R].height);m>0&&(M+=n.verticalPadding);var W=n.rowHeight[m]+n.rowHeight[p];n.rowHeight[m]=M,n.rowHeight[p]0)for(var rt=y;rt<=I;rt++)Y[0]+=this.grid[rt][M-1].length+this.grid[rt][M].length-1;if(I0)for(var rt=M;rt<=R;rt++)Y[3]+=this.grid[y-1][rt].length+this.grid[y][rt].length-1;for(var B=A.MAX_VALUE,O,H,$=0;${var f=i(551).FDLayoutNode,r=i(551).IMath;function v(s,o,c,l){f.call(this,s,o,c,l)}v.prototype=Object.create(f.prototype);for(var t in f)v[t]=f[t];v.prototype.calculateDisplacement=function(){var s=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementX=s.coolingFactor*s.maxNodeDisplacement*r.sign(this.displacementX)),Math.abs(this.displacementY)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementY=s.coolingFactor*s.maxNodeDisplacement*r.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},v.prototype.propogateDisplacementToChildren=function(s,o){for(var c=this.getChild().getNodes(),l,T=0;T{function f(c){if(Array.isArray(c)){for(var l=0,T=Array(c.length);l0){var Lt=0;ot.forEach(function(st){k=="horizontal"?(et.set(st,g.has(st)?d[g.get(st)]:q.get(st)),Lt+=et.get(st)):(et.set(st,g.has(st)?N[g.get(st)]:q.get(st)),Lt+=et.get(st))}),Lt=Lt/ot.length,lt.forEach(function(st){K.has(st)||et.set(st,Lt)})}else{var ft=0;lt.forEach(function(st){k=="horizontal"?ft+=g.has(st)?d[g.get(st)]:q.get(st):ft+=g.has(st)?N[g.get(st)]:q.get(st)}),ft=ft/lt.length,lt.forEach(function(st){et.set(st,ft)})}});for(var wt=function(){var ot=ut.shift(),Lt=P.get(ot);Lt.forEach(function(ft){if(et.get(ft.id)st&&(st=kt),KtXt&&(Xt=Kt)}}catch(ee){Ct=!0,Bt=ee}finally{try{!Tt&&bt.return&&bt.return()}finally{if(Ct)throw Bt}}var fe=(Lt+st)/2-(ft+Xt)/2,Qt=!0,jt=!1,_t=void 0;try{for(var Jt=lt[Symbol.iterator](),ne;!(Qt=(ne=Jt.next()).done);Qt=!0){var te=ne.value;et.set(te,et.get(te)+fe)}}catch(ee){jt=!0,_t=ee}finally{try{!Qt&&Jt.return&&Jt.return()}finally{if(jt)throw _t}}})}return et},_=function(P){var k=0,K=0,q=0,at=0;if(P.forEach(function(j){j.left?d[g.get(j.left)]-d[g.get(j.right)]>=0?k++:K++:N[g.get(j.top)]-N[g.get(j.bottom)]>=0?q++:at++}),k>K&&q>at)for(var ct=0;ctK)for(var nt=0;ntat)for(var et=0;et1)l.fixedNodeConstraint.forEach(function(F,P){E[P]=[F.position.x,F.position.y],y[P]=[d[g.get(F.nodeId)],N[g.get(F.nodeId)]]}),I=!0;else if(l.alignmentConstraint)(function(){var F=0;if(l.alignmentConstraint.vertical){for(var P=l.alignmentConstraint.vertical,k=function(et){var j=new Set;P[et].forEach(function(pt){j.add(pt)});var ut=new Set([].concat(f(j)).filter(function(pt){return R.has(pt)})),wt=void 0;ut.size>0?wt=d[g.get(ut.values().next().value)]:wt=Z(j).x,P[et].forEach(function(pt){E[F]=[wt,N[g.get(pt)]],y[F]=[d[g.get(pt)],N[g.get(pt)]],F++})},K=0;K0?wt=d[g.get(ut.values().next().value)]:wt=Z(j).y,q[et].forEach(function(pt){E[F]=[d[g.get(pt)],wt],y[F]=[d[g.get(pt)],N[g.get(pt)]],F++})},ct=0;ctz&&(z=Q[rt].length,Y=rt);if(z0){var Et={x:0,y:0};l.fixedNodeConstraint.forEach(function(F,P){var k={x:d[g.get(F.nodeId)],y:N[g.get(F.nodeId)]},K=F.position,q=X(K,k);Et.x+=q.x,Et.y+=q.y}),Et.x/=l.fixedNodeConstraint.length,Et.y/=l.fixedNodeConstraint.length,d.forEach(function(F,P){d[P]+=Et.x}),N.forEach(function(F,P){N[P]+=Et.y}),l.fixedNodeConstraint.forEach(function(F){d[g.get(F.nodeId)]=F.position.x,N[g.get(F.nodeId)]=F.position.y})}if(l.alignmentConstraint){if(l.alignmentConstraint.vertical)for(var Dt=l.alignmentConstraint.vertical,Rt=function(P){var k=new Set;Dt[P].forEach(function(at){k.add(at)});var K=new Set([].concat(f(k)).filter(function(at){return R.has(at)})),q=void 0;K.size>0?q=d[g.get(K.values().next().value)]:q=Z(k).x,k.forEach(function(at){R.has(at)||(d[g.get(at)]=q)})},Ht=0;Ht0?q=N[g.get(K.values().next().value)]:q=Z(k).y,k.forEach(function(at){R.has(at)||(N[g.get(at)]=q)})},Ft=0;Ft{a.exports=w})},L={};function u(a){var e=L[a];if(e!==void 0)return e.exports;var i=L[a]={exports:{}};return U[a](i,i.exports,u),i.exports}var h=u(45);return h})()})})(he)),he.exports}var vr=se.exports,Oe;function pr(){return Oe||(Oe=1,(function(C,G){(function(U,L){C.exports=L(dr())})(vr,function(w){return(()=>{var U={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(e){for(var i=arguments.length,f=Array(i>1?i-1:0),r=1;r{var f=(function(){function t(s,o){var c=[],l=!0,T=!1,g=void 0;try{for(var d=s[Symbol.iterator](),N;!(l=(N=d.next()).done)&&(c.push(N.value),!(o&&c.length===o));l=!0);}catch(b){T=!0,g=b}finally{try{!l&&d.return&&d.return()}finally{if(T)throw g}}return c}return function(s,o){if(Array.isArray(s))return s;if(Symbol.iterator in Object(s))return t(s,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),r=i(140).layoutBase.LinkedList,v={};v.getTopMostNodes=function(t){for(var s={},o=0;o0&&I.merge(x)});for(var M=0;M1){N=g[0],b=N.connectedEdges().length,g.forEach(function(y){y.connectedEdges().length0&&c.set("dummy"+(c.size+1),V),X},v.relocateComponent=function(t,s,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,N=!1,b=void 0;try{for(var A=s.nodeIndexes[Symbol.iterator](),S;!(d=(S=A.next()).done);d=!0){var V=S.value,X=f(V,2),Z=X[0],D=X[1],_=o.cy.getElementById(Z);if(_){var n=_.boundingBox(),m=s.xCoords[D]-n.w/2,p=s.xCoords[D]+n.w/2,E=s.yCoords[D]-n.h/2,y=s.yCoords[D]+n.h/2;ml&&(l=p),Eg&&(g=y)}}}catch(x){N=!0,b=x}finally{try{!d&&A.return&&A.return()}finally{if(N)throw b}}var I=t.x-(l+c)/2,M=t.y-(g+T)/2;s.xCoords=s.xCoords.map(function(x){return x+I}),s.yCoords=s.yCoords.map(function(x){return x+M})}else{Object.keys(s).forEach(function(x){var Q=s[x],z=Q.getRect().x,Y=Q.getRect().x+Q.getRect().width,rt=Q.getRect().y,B=Q.getRect().y+Q.getRect().height;zl&&(l=Y),rtg&&(g=B)});var R=t.x-(l+c)/2,W=t.y-(g+T)/2;Object.keys(s).forEach(function(x){var Q=s[x];Q.setCenter(Q.getCenterX()+R,Q.getCenterY()+W)})}}},v.calcBoundingBox=function(t,s,o,c){for(var l=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,g=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,N=void 0,b=void 0,A=void 0,S=void 0,V=t.descendants().not(":parent"),X=V.length,Z=0;ZN&&(l=N),TA&&(g=A),d{var f=i(548),r=i(140).CoSELayout,v=i(140).CoSENode,t=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,o=i(140).layoutBase.LayoutConstants,c=i(140).layoutBase.FDLayoutConstants,l=i(140).CoSEConstants,T=function(d,N){var b=d.cy,A=d.eles,S=A.nodes(),V=A.edges(),X=void 0,Z=void 0,D=void 0,_={};d.randomize&&(X=N.nodeIndexes,Z=N.xCoords,D=N.yCoords);var n=function(x){return typeof x=="function"},m=function(x,Q){return n(x)?x(Q):x},p=f.calcParentsWithoutChildren(b,A),E=function W(x,Q,z,Y){for(var rt=Q.length,B=0;B0){var J=void 0;J=z.getGraphManager().add(z.newGraph(),$),W(J,H,z,Y)}}},y=function(x,Q,z){for(var Y=0,rt=0,B=0;B0?l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=Y/rt:n(d.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,l.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},I=function(x,Q){Q.fixedNodeConstraint&&(x.constraints.fixedNodeConstraint=Q.fixedNodeConstraint),Q.alignmentConstraint&&(x.constraints.alignmentConstraint=Q.alignmentConstraint),Q.relativePlacementConstraint&&(x.constraints.relativePlacementConstraint=Q.relativePlacementConstraint)};d.nestingFactor!=null&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(l.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(l.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(l.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,l.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,l.TILE=d.tile,l.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),d.step=="enforced"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),d.step=="cose"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var M=new r,R=M.newGraphManager();return E(R.addRoot(),f.getTopMostNodes(S),M,d),y(M,R,V),I(M,d),M.runLayout(),_};a.exports={coseLayout:T}}),212:((a,e,i)=>{var f=(function(){function d(N,b){for(var A=0;A0)if(p){var I=t.getTopMostNodes(A.eles.nodes());if(D=t.connectComponents(S,A.eles,I),D.forEach(function(vt){var it=vt.boundingBox();_.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),A.randomize&&D.forEach(function(vt){A.eles=vt,X.push(o(A))}),A.quality=="default"||A.quality=="proof"){var M=S.collection();if(A.tile){var R=new Map,W=[],x=[],Q=0,z={nodeIndexes:R,xCoords:W,yCoords:x},Y=[];if(D.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(gt,mt){M.merge(vt.nodes()[mt]),gt.isParent()||(z.nodeIndexes.set(vt.nodes()[mt].id(),Q++),z.xCoords.push(vt.nodes()[0].position().x),z.yCoords.push(vt.nodes()[0].position().y))}),Y.push(it))}),M.length>1){var rt=M.boundingBox();_.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2}),D.push(M),X.push(z);for(var B=Y.length-1;B>=0;B--)D.splice(Y[B],1),X.splice(Y[B],1),_.splice(Y[B],1)}}D.forEach(function(vt,it){A.eles=vt,Z.push(l(A,X[it])),t.relocateComponent(_[it],Z[it],A)})}else D.forEach(function(vt,it){t.relocateComponent(_[it],X[it],A)});var O=new Set;if(D.length>1){var H=[],$=V.filter(function(vt){return vt.css("display")=="none"});D.forEach(function(vt,it){var gt=void 0;if(A.quality=="draft"&&(gt=X[it].nodeIndexes),vt.nodes().not($).length>0){var mt={};mt.edges=[],mt.nodes=[];var At=void 0;vt.nodes().not($).forEach(function(Ot){if(A.quality=="draft")if(!Ot.isParent())At=gt.get(Ot.id()),mt.nodes.push({x:X[it].xCoords[At]-Ot.boundingbox().w/2,y:X[it].yCoords[At]-Ot.boundingbox().h/2,width:Ot.boundingbox().w,height:Ot.boundingbox().h});else{var Et=t.calcBoundingBox(Ot,X[it].xCoords,X[it].yCoords,gt);mt.nodes.push({x:Et.topLeftX,y:Et.topLeftY,width:Et.width,height:Et.height})}else Z[it][Ot.id()]&&mt.nodes.push({x:Z[it][Ot.id()].getLeft(),y:Z[it][Ot.id()].getTop(),width:Z[it][Ot.id()].getWidth(),height:Z[it][Ot.id()].getHeight()})}),vt.edges().forEach(function(Ot){var Et=Ot.source(),Dt=Ot.target();if(Et.css("display")!="none"&&Dt.css("display")!="none")if(A.quality=="draft"){var Rt=gt.get(Et.id()),Ht=gt.get(Dt.id()),Ut=[],Pt=[];if(Et.isParent()){var Ft=t.calcBoundingBox(Et,X[it].xCoords,X[it].yCoords,gt);Ut.push(Ft.topLeftX+Ft.width/2),Ut.push(Ft.topLeftY+Ft.height/2)}else Ut.push(X[it].xCoords[Rt]),Ut.push(X[it].yCoords[Rt]);if(Dt.isParent()){var Yt=t.calcBoundingBox(Dt,X[it].xCoords,X[it].yCoords,gt);Pt.push(Yt.topLeftX+Yt.width/2),Pt.push(Yt.topLeftY+Yt.height/2)}else Pt.push(X[it].xCoords[Ht]),Pt.push(X[it].yCoords[Ht]);mt.edges.push({startX:Ut[0],startY:Ut[1],endX:Pt[0],endY:Pt[1]})}else Z[it][Et.id()]&&Z[it][Dt.id()]&&mt.edges.push({startX:Z[it][Et.id()].getCenterX(),startY:Z[it][Et.id()].getCenterY(),endX:Z[it][Dt.id()].getCenterX(),endY:Z[it][Dt.id()].getCenterY()})}),mt.nodes.length>0&&(H.push(mt),O.add(it))}});var tt=m.packComponents(H,A.randomize).shifts;if(A.quality=="draft")X.forEach(function(vt,it){var gt=vt.xCoords.map(function(At){return At+tt[it].dx}),mt=vt.yCoords.map(function(At){return At+tt[it].dy});vt.xCoords=gt,vt.yCoords=mt});else{var ht=0;O.forEach(function(vt){Object.keys(Z[vt]).forEach(function(it){var gt=Z[vt][it];gt.setCenter(gt.getCenterX()+tt[ht].dx,gt.getCenterY()+tt[ht].dy)}),ht++})}}}else{var E=A.eles.boundingBox();if(_.push({x:E.x1+E.w/2,y:E.y1+E.h/2}),A.randomize){var y=o(A);X.push(y)}A.quality=="default"||A.quality=="proof"?(Z.push(l(A,X[0])),t.relocateComponent(_[0],Z[0],A)):t.relocateComponent(_[0],X[0],A)}var J=function(it,gt){if(A.quality=="default"||A.quality=="proof"){typeof it=="number"&&(it=gt);var mt=void 0,At=void 0,Ot=it.data("id");return Z.forEach(function(Dt){Ot in Dt&&(mt={x:Dt[Ot].getRect().getCenterX(),y:Dt[Ot].getRect().getCenterY()},At=Dt[Ot])}),A.nodeDimensionsIncludeLabels&&(At.labelWidth&&(At.labelPosHorizontal=="left"?mt.x+=At.labelWidth/2:At.labelPosHorizontal=="right"&&(mt.x-=At.labelWidth/2)),At.labelHeight&&(At.labelPosVertical=="top"?mt.y+=At.labelHeight/2:At.labelPosVertical=="bottom"&&(mt.y-=At.labelHeight/2))),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}else{var Et=void 0;return X.forEach(function(Dt){var Rt=Dt.nodeIndexes.get(it.id());Rt!=null&&(Et={x:Dt.xCoords[Rt],y:Dt.yCoords[Rt]})}),Et==null&&(Et={x:it.position("x"),y:it.position("y")}),{x:Et.x,y:Et.y}}};if(A.quality=="default"||A.quality=="proof"||A.randomize){var It=t.calcParentsWithoutChildren(S,V),Nt=V.filter(function(vt){return vt.css("display")=="none"});A.eles=V.not(Nt),V.nodes().not(":parent").not(Nt).layoutPositions(b,A,J),It.length>0&&It.forEach(function(vt){vt.position(J(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d})();a.exports=g}),657:((a,e,i)=>{var f=i(548),r=i(140).layoutBase.Matrix,v=i(140).layoutBase.SVD,t=function(o){var c=o.cy,l=o.eles,T=l.nodes(),g=l.nodes(":parent"),d=new Map,N=new Map,b=new Map,A=[],S=[],V=[],X=[],Z=[],D=[],_=[],n=[],m=void 0,p=1e8,E=1e-9,y=o.piTol,I=o.samplingType,M=o.nodeSeparation,R=void 0,W=function(){for(var P=0,k=0,K=!1;k=at;){nt=q[at++];for(var xt=A[nt],lt=0;ltut&&(ut=Z[Lt],wt=Lt)}return wt},Q=function(P){var k=void 0;if(P){k=Math.floor(Math.random()*m);for(var q=0;q=1)break;j=et}for(var pt=0;pt=1)break;j=et}for(var lt=0;lt0&&(k.isParent()?A[P].push(b.get(k.id())):A[P].push(k.id()))})});var Nt=function(P){var k=N.get(P),K=void 0;d.get(P).forEach(function(q){c.getElementById(q).isParent()?K=b.get(q):K=q,A[k].push(K),A[N.get(K)].push(P)})},vt=!0,it=!1,gt=void 0;try{for(var mt=d.keys()[Symbol.iterator](),At;!(vt=(At=mt.next()).done);vt=!0){var Ot=At.value;Nt(Ot)}}catch(F){it=!0,gt=F}finally{try{!vt&&mt.return&&mt.return()}finally{if(it)throw gt}}m=N.size;var Et=void 0;if(m>2){R=m{var f=i(212),r=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&r(cytoscape),a.exports=r}),140:(a=>{a.exports=w})},L={};function u(a){var e=L[a];if(e!==void 0)return e.exports;var i=L[a]={exports:{}};return U[a](i,i.exports,u),i.exports}var h=u(579);return h})()})})(se)),se.exports}var yr=pr();const Er=$e(yr);var De={L:"left",R:"right",T:"top",B:"bottom"},xe={L:dt(C=>`${C},${C/2} 0,${C} 0,0`,"L"),R:dt(C=>`0,${C/2} ${C},0 ${C},${C}`,"R"),T:dt(C=>`0,0 ${C},0 ${C/2},${C}`,"T"),B:dt(C=>`${C/2},0 ${C},${C} 0,${C}`,"B")},oe={L:dt((C,G)=>C-G+2,"L"),R:dt((C,G)=>C-2,"R"),T:dt((C,G)=>C-G+2,"T"),B:dt((C,G)=>C-2,"B")},mr=dt(function(C){return Wt(C)?C==="L"?"R":"L":C==="T"?"B":"T"},"getOppositeArchitectureDirection"),Ie=dt(function(C){const G=C;return G==="L"||G==="R"||G==="T"||G==="B"},"isArchitectureDirection"),Wt=dt(function(C){const G=C;return G==="L"||G==="R"},"isArchitectureDirectionX"),qt=dt(function(C){const G=C;return G==="T"||G==="B"},"isArchitectureDirectionY"),me=dt(function(C,G){const w=Wt(C)&&qt(G),U=qt(C)&&Wt(G);return w||U},"isArchitectureDirectionXY"),Tr=dt(function(C){const G=C[0],w=C[1],U=Wt(G)&&qt(w),L=qt(G)&&Wt(w);return U||L},"isArchitecturePairXY"),Nr=dt(function(C){return C!=="LL"&&C!=="RR"&&C!=="TT"&&C!=="BB"},"isValidArchitectureDirectionPair"),pe=dt(function(C,G){const w=`${C}${G}`;return Nr(w)?w:void 0},"getArchitectureDirectionPair"),Lr=dt(function([C,G],w){const U=w[0],L=w[1];return Wt(U)?qt(L)?[C+(U==="L"?-1:1),G+(L==="T"?1:-1)]:[C+(U==="L"?-1:1),G]:Wt(L)?[C+(L==="L"?1:-1),G+(U==="T"?1:-1)]:[C,G+(U==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Cr=dt(function(C){return C==="LT"||C==="TL"?[1,1]:C==="BL"||C==="LB"?[1,-1]:C==="BR"||C==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),Ar=dt(function(C,G){return me(C,G)?"bend":Wt(C)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),wr=dt(function(C){return C.type==="service"},"isArchitectureService"),Mr=dt(function(C){return C.type==="junction"},"isArchitectureJunction"),Fe=dt(C=>C.data(),"edgeData"),ie=dt(C=>C.data(),"nodeData"),Or=ir.architecture,be=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId="",this.setAccTitle=qe,this.getAccTitle=Qe,this.setDiagramTitle=Je,this.getDiagramTitle=Ke,this.getAccDescription=je,this.setAccDescription=_e,this.clear()}static{dt(this,"ArchitectureDB")}setDiagramId(C){this.diagramId=C}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",tr()}addService({id:C,icon:G,in:w,title:U,iconText:L}){if(this.registeredIds[C]!==void 0)throw new Error(`The service id [${C}] is already in use by another ${this.registeredIds[C]}`);if(w!==void 0){if(C===w)throw new Error(`The service [${C}] cannot be placed within itself`);if(this.registeredIds[w]===void 0)throw new Error(`The service [${C}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[w]==="node")throw new Error(`The service [${C}]'s parent is not a group`)}this.registeredIds[C]="node",this.nodes[C]={id:C,type:"service",icon:G,iconText:L,title:U,edges:[],in:w}}getServices(){return Object.values(this.nodes).filter(wr)}addJunction({id:C,in:G}){if(this.registeredIds[C]!==void 0)throw new Error(`The junction id [${C}] is already in use by another ${this.registeredIds[C]}`);if(G!==void 0){if(C===G)throw new Error(`The junction [${C}] cannot be placed within itself`);if(this.registeredIds[G]===void 0)throw new Error(`The junction [${C}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[G]==="node")throw new Error(`The junction [${C}]'s parent is not a group`)}this.registeredIds[C]="node",this.nodes[C]={id:C,type:"junction",edges:[],in:G}}getJunctions(){return Object.values(this.nodes).filter(Mr)}getNodes(){return Object.values(this.nodes)}getNode(C){return this.nodes[C]??null}addGroup({id:C,icon:G,in:w,title:U}){if(this.registeredIds?.[C]!==void 0)throw new Error(`The group id [${C}] is already in use by another ${this.registeredIds[C]}`);if(w!==void 0){if(C===w)throw new Error(`The group [${C}] cannot be placed within itself`);if(this.registeredIds?.[w]===void 0)throw new Error(`The group [${C}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[w]==="node")throw new Error(`The group [${C}]'s parent is not a group`)}this.registeredIds[C]="group",this.groups[C]={id:C,icon:G,title:U,in:w}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:C,rhsId:G,lhsDir:w,rhsDir:U,lhsInto:L,rhsInto:u,lhsGroup:h,rhsGroup:a,title:e}){if(!Ie(w))throw new Error(`Invalid direction given for left hand side of edge ${C}--${G}. Expected (L,R,T,B) got ${String(w)}`);if(!Ie(U))throw new Error(`Invalid direction given for right hand side of edge ${C}--${G}. Expected (L,R,T,B) got ${String(U)}`);if(this.nodes[C]===void 0&&this.groups[C]===void 0)throw new Error(`The left-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[G]===void 0&&this.groups[G]===void 0)throw new Error(`The right-hand id [${G}] does not yet exist. Please create the service/group before declaring an edge to it.`);const i=this.nodes[C].in,f=this.nodes[G].in;if(h&&i&&f&&i==f)throw new Error(`The left-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(a&&i&&f&&i==f)throw new Error(`The right-hand id [${G}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const r={lhsId:C,lhsDir:w,lhsInto:L,lhsGroup:h,rhsId:G,rhsDir:U,rhsInto:u,rhsGroup:a,title:e};this.edges.push(r),this.nodes[C]&&this.nodes[G]&&(this.nodes[C].edges.push(this.edges[this.edges.length-1]),this.nodes[G].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){const C={},G=Object.entries(this.nodes).reduce((a,[e,i])=>(a[e]=i.edges.reduce((f,r)=>{const v=this.getNode(r.lhsId)?.in,t=this.getNode(r.rhsId)?.in;if(v&&t&&v!==t){const s=Ar(r.lhsDir,r.rhsDir);s!=="bend"&&(C[v]??={},C[v][t]=s,C[t]??={},C[t][v]=s)}if(r.lhsId===e){const s=pe(r.lhsDir,r.rhsDir);s&&(f[s]=r.rhsId)}else{const s=pe(r.rhsDir,r.lhsDir);s&&(f[s]=r.lhsId)}return f},{}),a),{}),w=Object.keys(G)[0],U={[w]:1},L=Object.keys(G).reduce((a,e)=>e===w?a:{...a,[e]:1},{}),u=dt(a=>{const e={[a]:[0,0]},i=[a];for(;i.length>0;){const f=i.shift();if(f){U[f]=1,delete L[f];const r=G[f],[v,t]=e[f];Object.entries(r).forEach(([s,o])=>{U[o]||(e[o]=Lr([v,t],s),i.push(o))})}}return e},"BFS"),h=[u(w)];for(;Object.keys(L).length>0;)h.push(u(Object.keys(L)[0]));this.dataStructures={adjList:G,spatialMaps:h,groupAlignments:C}}return this.dataStructures}setElementForId(C,G){this.elements[C]=G}getElementById(C){return this.elements[C]}getConfig(){return er({...Or,...rr().architecture})}getConfigField(C){return this.getConfig()[C]}},Dr=dt((C,G)=>{lr(C,G),C.groups.map(w=>G.addGroup(w)),C.services.map(w=>G.addService({...w,type:"service"})),C.junctions.map(w=>G.addJunction({...w,type:"junction"})),C.edges.map(w=>G.addEdge(w))},"populateDb"),Pe={parser:{yy:void 0},parse:dt(async C=>{const G=await fr("architecture",C);Re.debug(G);const w=Pe.parser?.yy;if(!(w instanceof be))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.");Dr(G,w)},"parse")},xr=dt(C=>` + .edge { + stroke-width: ${C.archEdgeWidth}; + stroke: ${C.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${C.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${C.archGroupBorderColor}; + stroke-width: ${C.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"),Ir=xr,re=dt(C=>`${C}`,"wrapIcon"),ae={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:re('')},server:{body:re('')},disk:{body:re('')},internet:{body:re('')},cloud:{body:re('')},unknown:hr,blank:{body:re("")}}},Rr=dt(async function(C,G,w,U){const L=w.getConfigField("padding"),u=w.getConfigField("iconSize"),h=u/2,a=u/6,e=a/2;await Promise.all(G.edges().map(async i=>{const{source:f,sourceDir:r,sourceArrow:v,sourceGroup:t,target:s,targetDir:o,targetArrow:c,targetGroup:l,label:T}=Fe(i);let{x:g,y:d}=i[0].sourceEndpoint();const{x:N,y:b}=i[0].midpoint();let{x:A,y:S}=i[0].targetEndpoint();const V=L+4;if(t&&(Wt(r)?g+=r==="L"?-V:V:d+=r==="T"?-V:V+18),l&&(Wt(o)?A+=o==="L"?-V:V:S+=o==="T"?-V:V+18),!t&&w.getNode(f)?.type==="junction"&&(Wt(r)?g+=r==="L"?h:-h:d+=r==="T"?h:-h),!l&&w.getNode(s)?.type==="junction"&&(Wt(o)?A+=o==="L"?h:-h:S+=o==="T"?h:-h),i[0]._private.rscratch){const X=C.insert("g");if(X.insert("path").attr("d",`M ${g},${d} L ${N},${b} L${A},${S} `).attr("class","edge").attr("id",`${U}-${or(f,s,{prefix:"L"})}`),v){const Z=Wt(r)?oe[r](g,a):g-e,D=qt(r)?oe[r](d,a):d-e;X.insert("polygon").attr("points",xe[r](a)).attr("transform",`translate(${Z},${D})`).attr("class","arrow")}if(c){const Z=Wt(o)?oe[o](A,a):A-e,D=qt(o)?oe[o](S,a):S-e;X.insert("polygon").attr("points",xe[o](a)).attr("transform",`translate(${Z},${D})`).attr("class","arrow")}if(T){const Z=me(r,o)?"XY":Wt(r)?"X":"Y";let D=0;Z==="X"?D=Math.abs(g-A):Z==="Y"?D=Math.abs(d-S)/1.5:D=Math.abs(g-A)/2;const _=X.append("g");if(await Ee(_,T,{useHtmlLabels:!1,width:D,classes:"architecture-service-label"},ye()),_.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),Z==="X")_.attr("transform","translate("+N+", "+b+")");else if(Z==="Y")_.attr("transform","translate("+N+", "+b+") rotate(-90)");else if(Z==="XY"){const n=pe(r,o);if(n&&Tr(n)){const m=_.node().getBoundingClientRect(),[p,E]=Cr(n);_.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*p*E*45})`);const y=_.node().getBoundingClientRect();_.attr("transform",` + translate(${N}, ${b-m.height/2}) + translate(${p*y.width/2}, ${E*y.height/2}) + rotate(${-1*p*E*45}, 0, ${m.height/2}) + `)}}}}}))},"drawEdges"),Sr=dt(async function(C,G,w,U){const u=w.getConfigField("padding")*.75,h=w.getConfigField("fontSize"),e=w.getConfigField("iconSize")/2;await Promise.all(G.nodes().map(async i=>{const f=ie(i);if(f.type==="group"){const{h:r,w:v,x1:t,y1:s}=i.boundingBox(),o=C.append("rect");o.attr("id",`${U}-group-${f.id}`).attr("x",t+e).attr("y",s+e).attr("width",v).attr("height",r).attr("class","node-bkg");const c=C.append("g");let l=t,T=s;if(f.icon){const g=c.append("g");g.html(`${await ve(f.icon,{height:u,width:u,fallbackPrefix:ae.prefix})}`),g.attr("transform","translate("+(l+e+1)+", "+(T+e+1)+")"),l+=u,T+=h/2-1-2}if(f.label){const g=c.append("g");await Ee(g,f.label,{useHtmlLabels:!1,width:v,classes:"architecture-service-label"},ye()),g.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),g.attr("transform","translate("+(l+e+4)+", "+(T+e+2)+")")}w.setElementForId(f.id,o)}}))},"drawGroups"),Fr=dt(async function(C,G,w,U){const L=ye();for(const u of w){const h=G.append("g"),a=C.getConfigField("iconSize");if(u.title){const r=h.append("g");await Ee(r,u.title,{useHtmlLabels:!1,width:a*1.5,classes:"architecture-service-label"},L),r.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),r.attr("transform","translate("+a/2+", "+a+")")}const e=h.append("g");if(u.icon)e.html(`${await ve(u.icon,{height:a,width:a,fallbackPrefix:ae.prefix})}`);else if(u.iconText){e.html(`${await ve("blank",{height:a,width:a,fallbackPrefix:ae.prefix})}`);const t=e.append("g").append("foreignObject").attr("width",a).attr("height",a).append("div").attr("class","node-icon-text").attr("style",`height: ${a}px;`).append("div").html(ar(u.iconText,L)),s=parseInt(window.getComputedStyle(t.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;t.attr("style",`-webkit-line-clamp: ${Math.floor((a-2)/s)};`)}else e.append("path").attr("class","node-bkg").attr("id",`${U}-node-${u.id}`).attr("d",`M0,${a} V5 Q0,0 5,0 H${a-5} Q${a},0 ${a},5 V${a} Z`);h.attr("id",`${U}-service-${u.id}`).attr("class","architecture-service");const{width:i,height:f}=h.node().getBBox();u.width=i,u.height=f,C.setElementForId(u.id,h)}return 0},"drawServices"),br=dt(function(C,G,w,U){w.forEach(L=>{const u=G.append("g"),h=C.getConfigField("iconSize");u.append("g").append("rect").attr("id",`${U}-node-${L.id}`).attr("fill-opacity","0").attr("width",h).attr("height",h),u.attr("class","architecture-junction");const{width:e,height:i}=u._groups[0][0].getBBox();u.width=e,u.height=i,C.setElementForId(L.id,u)})},"drawJunctions");sr([{name:ae.prefix,icons:ae}]);Se.use(Er);function Ge(C,G,w){C.forEach(U=>{G.add({group:"nodes",data:{type:"service",id:U.id,icon:U.icon,label:U.title,parent:U.in,width:w.getConfigField("iconSize"),height:w.getConfigField("iconSize")},classes:"node-service"})})}dt(Ge,"addServices");function Ue(C,G,w){C.forEach(U=>{G.add({group:"nodes",data:{type:"junction",id:U.id,parent:U.in,width:w.getConfigField("iconSize"),height:w.getConfigField("iconSize")},classes:"node-junction"})})}dt(Ue,"addJunctions");function Ye(C,G){G.nodes().map(w=>{const U=ie(w);if(U.type==="group")return;U.x=w.position().x,U.y=w.position().y,C.getElementById(U.id).attr("transform","translate("+(U.x||0)+","+(U.y||0)+")")})}dt(Ye,"positionNodes");function Xe(C,G){C.forEach(w=>{G.add({group:"nodes",data:{type:"group",id:w.id,icon:w.icon,label:w.title,parent:w.in},classes:"node-group"})})}dt(Xe,"addGroups");function He(C,G){C.forEach(w=>{const{lhsId:U,rhsId:L,lhsInto:u,lhsGroup:h,rhsInto:a,lhsDir:e,rhsDir:i,rhsGroup:f,title:r}=w,v=me(w.lhsDir,w.rhsDir)?"segments":"straight",t={id:`${U}-${L}`,label:r,source:U,sourceDir:e,sourceArrow:u,sourceGroup:h,sourceEndpoint:e==="L"?"0 50%":e==="R"?"100% 50%":e==="T"?"50% 0":"50% 100%",target:L,targetDir:i,targetArrow:a,targetGroup:f,targetEndpoint:i==="L"?"0 50%":i==="R"?"100% 50%":i==="T"?"50% 0":"50% 100%"};G.add({group:"edges",data:t,classes:v})})}dt(He,"addEdges");function We(C,G,w){const U=dt((a,e)=>Object.entries(a).reduce((i,[f,r])=>{let v=0;const t=Object.entries(r);if(t.length===1)return i[f]=t[0][1],i;for(let s=0;s{const e={},i={};return Object.entries(a).forEach(([f,[r,v]])=>{const t=C.getNode(f)?.in??"default";e[v]??={},e[v][t]??=[],e[v][t].push(f),i[r]??={},i[r][t]??=[],i[r][t].push(f)}),{horiz:Object.values(U(e,"horizontal")).filter(f=>f.length>1),vert:Object.values(U(i,"vertical")).filter(f=>f.length>1)}}),[u,h]=L.reduce(([a,e],{horiz:i,vert:f})=>[[...a,...i],[...e,...f]],[[],[]]);return{horizontal:u,vertical:h}}dt(We,"getAlignments");function Ve(C,G){const w=[],U=dt(u=>`${u[0]},${u[1]}`,"posToStr"),L=dt(u=>u.split(",").map(h=>parseInt(h)),"strToPos");return C.forEach(u=>{const h=Object.fromEntries(Object.entries(u).map(([f,r])=>[U(r),f])),a=[U([0,0])],e={},i={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;a.length>0;){const f=a.shift();if(f){e[f]=1;const r=h[f];if(r){const v=L(f);Object.entries(i).forEach(([t,s])=>{const o=U([v[0]+s[0],v[1]+s[1]]),c=h[o];c&&!e[o]&&(a.push(o),w.push({[De[t]]:c,[De[mr(t)]]:r,gap:1.5*G.getConfigField("iconSize")}))})}}}}),w}dt(Ve,"getRelativeConstraints");function ze(C,G,w,U,L,{spatialMaps:u,groupAlignments:h}){return new Promise(a=>{const e=nr("body").append("div").attr("id","cy").attr("style","display:none"),i=Se({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${L.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:`${L.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});e.remove(),Xe(w,i),Ge(C,i,L),Ue(G,i,L),He(U,i);const f=We(L,u,h),r=Ve(u,L),v=L.getConfigField("iconSize"),t=L.getConfigField("idealEdgeLengthMultiplier")*v,s=.5*v,o=L.getConfigField("edgeElasticity"),c=i.layout({name:"fcose",quality:"proof",randomize:L.getConfigField("randomize"),nodeSeparation:L.getConfigField("nodeSeparation"),numIter:L.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(l){const[T,g]=l.connectedNodes(),{parent:d}=ie(T),{parent:N}=ie(g);return d===N?t:s},edgeElasticity(l){const[T,g]=l.connectedNodes(),{parent:d}=ie(T),{parent:N}=ie(g);return d===N?o:.001},alignmentConstraint:f,relativePlacementConstraint:r});c.one("layoutstop",()=>{function l(T,g,d,N){let b,A;const{x:S,y:V}=T,{x:X,y:Z}=g;A=(N-V+(S-d)*(V-Z)/(S-X))/Math.sqrt(1+Math.pow((V-Z)/(S-X),2)),b=Math.sqrt(Math.pow(N-V,2)+Math.pow(d-S,2)-Math.pow(A,2));const D=Math.sqrt(Math.pow(X-S,2)+Math.pow(Z-V,2));b=b/D;let _=(X-S)*(N-V)-(Z-V)*(d-S);switch(!0){case _>=0:_=1;break;case _<0:_=-1;break}let n=(X-S)*(d-S)+(Z-V)*(N-V);switch(!0){case n>=0:n=1;break;case n<0:n=-1;break}return A=Math.abs(A)*_,b=b*n,{distances:A,weights:b}}dt(l,"getSegmentWeights"),i.startBatch();for(const T of Object.values(i.edges()))if(T.data?.()){const{x:g,y:d}=T.source().position(),{x:N,y:b}=T.target().position();if(g!==N&&d!==b){const A=T.sourceEndpoint(),S=T.targetEndpoint(),{sourceDir:V}=Fe(T),[X,Z]=qt(V)?[A.x,S.y]:[S.x,A.y],{weights:D,distances:_}=l(A,S,X,Z);T.style("segment-distances",_),T.style("segment-weights",D)}}i.endBatch(),c.run()}),c.run(),i.ready(l=>{Re.info("Ready",l),a(i)})})}dt(ze,"layoutArchitecture");var Pr=dt(async(C,G,w,U)=>{const L=U.db;L.setDiagramId(G);const u=L.getServices(),h=L.getJunctions(),a=L.getGroups(),e=L.getEdges(),i=L.getDataStructures(),f=ke(G),r=f.append("g");r.attr("class","architecture-edges");const v=f.append("g");v.attr("class","architecture-services");const t=f.append("g");t.attr("class","architecture-groups"),await Fr(L,v,u,G),br(L,v,h,G);const s=await ze(u,h,a,e,L,i);await Rr(r,s,L,G),await Sr(t,s,L,G),Ye(L,s),Ze(void 0,f,L.getConfigField("padding"),L.getConfigField("useMaxWidth"))},"draw"),Gr={draw:Pr},Vr={parser:Pe,get db(){return new be},renderer:Gr,styles:Ir};export{Vr as diagram}; diff --git a/_astro/blockDiagram-GPEHLZMM.DOD1tvWz.js b/_astro/blockDiagram-GPEHLZMM.DOD1tvWz.js new file mode 100644 index 0000000..890d33c --- /dev/null +++ b/_astro/blockDiagram-GPEHLZMM.DOD1tvWz.js @@ -0,0 +1,132 @@ +import{g as pe}from"./chunk-FMBD7UC4.B9yPs07s.js";import{an as fe,ao as Ut,ap as xe,aq as ye,ar as be,as as we,at as me,au as Se,av as Le,aw as ke,ax as ve,ay as Ee,az as _e,aA as Te,aB as De,aC as Be,aD as Ne,aE as Ie,aF as Ce,aG as Oe,aH as Re,aI as Ae,aJ as ze,aK as Me,aL as Pe,_ as d,D as at,d as D,e as Fe,l as k,z as We,B as Ye,aM as He,R as Ke,S as Ue,c as A,O as Xe,aN as P,aO as vt,aP as $,aQ as Ve,u as tt,k as je,aR as Ge,i as Ot,aS as Rt,aT as Ze}from"./mermaid.core.Ci_VGkOG.js";import{G as qe}from"./graph.-OzhPTMs.js";import{c as Je}from"./channel.DScn-k6R.js";import"./preload-helper.DK3iz7C1.js";function Qe(e){return Array.isArray(e)}function $e(e){if(fe(e))return e;const t=Ut(e);if(!tr(e))return{};if(Qe(e)){const s=Array.from(e);return e.length>0&&typeof e[0]=="string"&&Object.hasOwn(e,"index")&&(s.index=e.index,s.input=e.input),s}if(xe(e)){const s=e,i=s.constructor;return new i(s.buffer,s.byteOffset,s.length)}if(t==="[object ArrayBuffer]")return new ArrayBuffer(e.byteLength);if(t==="[object DataView]"){const s=e,i=s.buffer,c=s.byteOffset,r=s.byteLength,n=new ArrayBuffer(r),l=new Uint8Array(i,c,r);return new Uint8Array(n).set(l),new DataView(n)}if(t==="[object Boolean]"||t==="[object Number]"||t==="[object String]"){const s=e.constructor,i=new s(e.valueOf());return t==="[object String]"?rr(i,e):yt(i,e),i}if(t==="[object Date]")return new Date(Number(e));if(t==="[object RegExp]"){const s=e,i=new RegExp(s.source,s.flags);return i.lastIndex=s.lastIndex,i}if(t==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(e));if(t==="[object Map]"){const s=e,i=new Map;return s.forEach((c,r)=>{i.set(r,c)}),i}if(t==="[object Set]"){const s=e,i=new Set;return s.forEach(c=>{i.add(c)}),i}if(t==="[object Arguments]"){const s=e,i={};return yt(i,s),i.length=s.length,i[Symbol.iterator]=s[Symbol.iterator],i}const a={};return ar(a,e),yt(a,e),er(a,e),a}function tr(e){switch(Ut(e)){case Pe:case Me:case ze:case Ae:case Re:case Oe:case Ce:case Ie:case Ne:case Be:case De:case Te:case _e:case Ee:case ve:case ke:case Le:case Se:case me:case we:case be:case ye:return!0;default:return!1}}function yt(e,t){for(const a in t)Object.hasOwn(t,a)&&(e[a]=t[a])}function er(e,t){const a=Object.getOwnPropertySymbols(t);for(let s=0;s=a)&&(e[s]=t[s])}function ar(e,t){const a=Object.getPrototypeOf(t);a!==null&&typeof t.constructor=="function"&&Object.setPrototypeOf(e,a)}var wt=(function(){var e=d(function(T,m,u,y){for(u=u||{},y=T.length;y--;u[T[y]]=m);return u},"o"),t=[1,15],a=[1,7],s=[1,13],i=[1,14],c=[1,19],r=[1,16],n=[1,17],l=[1,18],g=[8,30],o=[8,10,21,28,29,30,31,39,43,46],p=[1,23],b=[1,24],x=[8,10,15,16,21,28,29,30,31,39,43,46],w=[8,10,15,16,21,27,28,29,30,31,39,43,46],v=[1,49],S={trace:d(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:d(function(m,u,y,L,E,h,W){var f=h.length-1;switch(E){case 4:L.getLogger().debug("Rule: separator (NL) ");break;case 5:L.getLogger().debug("Rule: separator (Space) ");break;case 6:L.getLogger().debug("Rule: separator (EOF) ");break;case 7:L.getLogger().debug("Rule: hierarchy: ",h[f-1]),L.setHierarchy(h[f-1]);break;case 8:L.getLogger().debug("Stop NL ");break;case 9:L.getLogger().debug("Stop EOF ");break;case 10:L.getLogger().debug("Stop NL2 ");break;case 11:L.getLogger().debug("Stop EOF2 ");break;case 12:L.getLogger().debug("Rule: statement: ",h[f]),typeof h[f].length=="number"?this.$=h[f]:this.$=[h[f]];break;case 13:L.getLogger().debug("Rule: statement #2: ",h[f-1]),this.$=[h[f-1]].concat(h[f]);break;case 14:L.getLogger().debug("Rule: link: ",h[f],m),this.$={edgeTypeStr:h[f],label:""};break;case 15:L.getLogger().debug("Rule: LABEL link: ",h[f-3],h[f-1],h[f]),this.$={edgeTypeStr:h[f],label:h[f-1]};break;case 18:const O=parseInt(h[f]),q=L.generateId();this.$={id:q,type:"space",label:"",width:O,children:[]};break;case 23:L.getLogger().debug("Rule: (nodeStatement link node) ",h[f-2],h[f-1],h[f]," typestr: ",h[f-1].edgeTypeStr);const j=L.edgeStrToEdgeData(h[f-1].edgeTypeStr),st=L.edgeStrToEdgeStartData(h[f-1].edgeTypeStr),dt=L.edgeStrToThickness(h[f-1].edgeTypeStr),R=L.edgeStrToPattern(h[f-1].edgeTypeStr);this.$=[{id:h[f-2].id,label:h[f-2].label,type:h[f-2].type,directions:h[f-2].directions},{id:h[f-2].id+"-"+h[f].id,start:h[f-2].id,end:h[f].id,label:h[f-1].label,type:"edge",thickness:dt,pattern:R,directions:h[f].directions,arrowTypeEnd:j,arrowTypeStart:st},{id:h[f].id,label:h[f].label,type:L.typeStr2Type(h[f].typeStr),directions:h[f].directions}];break;case 24:L.getLogger().debug("Rule: nodeStatement (abc88 node size) ",h[f-1],h[f]),this.$={id:h[f-1].id,label:h[f-1].label,type:L.typeStr2Type(h[f-1].typeStr),directions:h[f-1].directions,widthInColumns:parseInt(h[f],10)};break;case 25:L.getLogger().debug("Rule: nodeStatement (node) ",h[f]),this.$={id:h[f].id,label:h[f].label,type:L.typeStr2Type(h[f].typeStr),directions:h[f].directions,widthInColumns:1};break;case 26:L.getLogger().debug("APA123",this?this:"na"),L.getLogger().debug("COLUMNS: ",h[f]),this.$={type:"column-setting",columns:h[f]==="auto"?-1:parseInt(h[f])};break;case 27:L.getLogger().debug("Rule: id-block statement : ",h[f-2],h[f-1]),L.generateId(),this.$={...h[f-2],type:"composite",children:h[f-1]};break;case 28:L.getLogger().debug("Rule: blockStatement : ",h[f-2],h[f-1],h[f]);const G=L.generateId();this.$={id:G,type:"composite",label:"",children:h[f-1]};break;case 29:L.getLogger().debug("Rule: node (NODE_ID separator): ",h[f]),this.$={id:h[f]};break;case 30:L.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",h[f-1],h[f]),this.$={id:h[f-1],label:h[f].label,typeStr:h[f].typeStr,directions:h[f].directions};break;case 31:L.getLogger().debug("Rule: dirList: ",h[f]),this.$=[h[f]];break;case 32:L.getLogger().debug("Rule: dirList: ",h[f-1],h[f]),this.$=[h[f-1]].concat(h[f]);break;case 33:L.getLogger().debug("Rule: nodeShapeNLabel: ",h[f-2],h[f-1],h[f]),this.$={typeStr:h[f-2]+h[f],label:h[f-1]};break;case 34:L.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",h[f-3],h[f-2]," #3:",h[f-1],h[f]),this.$={typeStr:h[f-3]+h[f],label:h[f-2],directions:h[f-1]};break;case 35:case 36:this.$={type:"classDef",id:h[f-1].trim(),css:h[f].trim()};break;case 37:this.$={type:"applyClass",id:h[f-1].trim(),styleClass:h[f].trim()};break;case 38:this.$={type:"applyStyles",id:h[f-1].trim(),stylesStr:h[f].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{8:[1,20]},e(g,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:a,28:s,29:i,31:c,39:r,43:n,46:l}),e(o,[2,16],{14:22,15:p,16:b}),e(o,[2,17]),e(o,[2,18]),e(o,[2,19]),e(o,[2,20]),e(o,[2,21]),e(o,[2,22]),e(x,[2,25],{27:[1,25]}),e(o,[2,26]),{19:26,26:12,31:c},{10:t,11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(w,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(g,[2,13]),{26:35,31:c},{31:[2,14]},{17:[1,36]},e(x,[2,24]),{10:t,11:37,13:4,14:22,15:p,16:b,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(w,[2,30]),{18:[1,43]},{18:[1,44]},e(x,[2,23]),{18:[1,45]},{30:[1,46]},e(o,[2,28]),e(o,[2,35]),e(o,[2,36]),e(o,[2,37]),e(o,[2,38]),{36:[1,47]},{33:48,34:v},{15:[1,50]},e(o,[2,27]),e(w,[2,33]),{38:[1,51]},{33:52,34:v,38:[2,31]},{31:[2,15]},e(w,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:d(function(m,u){if(u.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=u,y}},"parseError"),parse:d(function(m){var u=this,y=[0],L=[],E=[null],h=[],W=this.table,f="",O=0,q=0,j=2,st=1,dt=h.slice.call(arguments,1),R=Object.create(this.lexer),G={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(G.yy[ut]=this.yy[ut]);R.setInput(m,G.yy),G.yy.lexer=R,G.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var pt=R.yylloc;h.push(pt);var de=R.options&&R.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(Y){y.length=y.length-2*Y,E.length=E.length-Y,h.length=h.length-Y}d(ue,"popStack");function It(){var Y;return Y=L.pop()||R.lex()||st,typeof Y!="number"&&(Y instanceof Array&&(L=Y,Y=L.pop()),Y=u.symbols_[Y]||Y),Y}d(It,"lex");for(var F,J,K,ft,Q={},it,Z,Ct,nt;;){if(J=y[y.length-1],this.defaultActions[J]?K=this.defaultActions[J]:((F===null||typeof F>"u")&&(F=It()),K=W[J]&&W[J][F]),typeof K>"u"||!K.length||!K[0]){var xt="";nt=[];for(it in W[J])this.terminals_[it]&&it>j&&nt.push("'"+this.terminals_[it]+"'");R.showPosition?xt="Parse error on line "+(O+1)+`: +`+R.showPosition()+` +Expecting `+nt.join(", ")+", got '"+(this.terminals_[F]||F)+"'":xt="Parse error on line "+(O+1)+": Unexpected "+(F==st?"end of input":"'"+(this.terminals_[F]||F)+"'"),this.parseError(xt,{text:R.match,token:this.terminals_[F]||F,line:R.yylineno,loc:pt,expected:nt})}if(K[0]instanceof Array&&K.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+F);switch(K[0]){case 1:y.push(F),E.push(R.yytext),h.push(R.yylloc),y.push(K[1]),F=null,q=R.yyleng,f=R.yytext,O=R.yylineno,pt=R.yylloc;break;case 2:if(Z=this.productions_[K[1]][1],Q.$=E[E.length-Z],Q._$={first_line:h[h.length-(Z||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(Z||1)].first_column,last_column:h[h.length-1].last_column},de&&(Q._$.range=[h[h.length-(Z||1)].range[0],h[h.length-1].range[1]]),ft=this.performAction.apply(Q,[f,q,O,G.yy,K[1],E,h].concat(dt)),typeof ft<"u")return ft;Z&&(y=y.slice(0,-1*Z*2),E=E.slice(0,-1*Z),h=h.slice(0,-1*Z)),y.push(this.productions_[K[1]][0]),E.push(Q.$),h.push(Q._$),Ct=W[y[y.length-2]][y[y.length-1]],y.push(Ct);break;case 3:return!0}}return!0},"parse")},_=(function(){var T={EOF:1,parseError:d(function(u,y){if(this.yy.parser)this.yy.parser.parseError(u,y);else throw new Error(u)},"parseError"),setInput:d(function(m,u){return this.yy=u||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:d(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var u=m.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:d(function(m){var u=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var L=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 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:y?(y.length===L.length?this.yylloc.first_column:0)+L[L.length-y.length].length-y[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(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:d(function(m){this.unput(this.match.slice(m))},"less"),pastInput:d(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:d(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:d(function(){var m=this.pastInput(),u=new Array(m.length+1).join("-");return m+this.upcomingInput()+` +`+u+"^"},"showPosition"),test_match:d(function(m,u){var y,L,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))),L=m[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.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,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var h in E)this[h]=E[h];return!1}return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,u,y,L;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),h=0;hu[0].length)){if(u=y,L=h,this.options.backtrack_lexer){if(m=this.test_match(y,E[h]),m!==!1)return m;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(m=this.test_match(u,E[L]),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:d(function(){var u=this.next();return u||this.lex()},"lex"),begin:d(function(u){this.conditionStack.push(u)},"begin"),popState:d(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(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:d(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:d(function(u){this.begin(u)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:d(function(u,y,L,E){switch(L){case 0:return u.getLogger().debug("Found block-beta"),10;case 1:return u.getLogger().debug("Found id-block"),29;case 2:return u.getLogger().debug("Found block"),10;case 3:u.getLogger().debug(".",y.yytext);break;case 4:u.getLogger().debug("_",y.yytext);break;case 5:return 5;case 6:return y.yytext=-1,28;case 7:return y.yytext=y.yytext.replace(/columns\s+/,""),u.getLogger().debug("COLUMNS (LEX)",y.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:u.getLogger().debug("LEX: POPPING STR:",y.yytext),this.popState();break;case 13:return u.getLogger().debug("LEX: STR end:",y.yytext),"STR";case 14:return y.yytext=y.yytext.replace(/space\:/,""),u.getLogger().debug("SPACE NUM (LEX)",y.yytext),21;case 15:return y.yytext="1",u.getLogger().debug("COLUMNS (LEX)",y.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),u.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),u.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),u.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),u.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),u.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),u.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),u.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),u.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),u.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),u.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),u.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),u.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return u.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return u.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return u.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return u.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return u.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return u.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return u.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return u.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return u.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return u.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return u.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return u.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),u.getLogger().debug("LEX ARR START"),37;case 74:return u.getLogger().debug("Lex: NODE_ID",y.yytext),31;case 75:return u.getLogger().debug("Lex: EOF",y.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:u.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:u.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return u.getLogger().debug("LEX: NODE_DESCR:",y.yytext),"NODE_DESCR";case 83:u.getLogger().debug("LEX POPPING"),this.popState();break;case 84:u.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return y.yytext=y.yytext.replace(/^,\s*/,""),u.getLogger().debug("Lex (right): dir:",y.yytext),"DIR";case 86:return y.yytext=y.yytext.replace(/^,\s*/,""),u.getLogger().debug("Lex (left):",y.yytext),"DIR";case 87:return y.yytext=y.yytext.replace(/^,\s*/,""),u.getLogger().debug("Lex (x):",y.yytext),"DIR";case 88:return y.yytext=y.yytext.replace(/^,\s*/,""),u.getLogger().debug("Lex (y):",y.yytext),"DIR";case 89:return y.yytext=y.yytext.replace(/^,\s*/,""),u.getLogger().debug("Lex (up):",y.yytext),"DIR";case 90:return y.yytext=y.yytext.replace(/^,\s*/,""),u.getLogger().debug("Lex (down):",y.yytext),"DIR";case 91:return y.yytext="]>",u.getLogger().debug("Lex (ARROW_DIR end):",y.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return u.getLogger().debug("Lex: LINK","#"+y.yytext+"#"),15;case 93:return u.getLogger().debug("Lex: LINK",y.yytext),15;case 94:return u.getLogger().debug("Lex: LINK",y.yytext),15;case 95:return u.getLogger().debug("Lex: LINK",y.yytext),15;case 96:return u.getLogger().debug("Lex: START_LINK",y.yytext),this.pushState("LLABEL"),16;case 97:return u.getLogger().debug("Lex: START_LINK",y.yytext),this.pushState("LLABEL"),16;case 98:return u.getLogger().debug("Lex: START_LINK",y.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return u.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),u.getLogger().debug("Lex: LINK","#"+y.yytext+"#"),15;case 102:return this.popState(),u.getLogger().debug("Lex: LINK",y.yytext),15;case 103:return this.popState(),u.getLogger().debug("Lex: LINK",y.yytext),15;case 104:return u.getLogger().debug("Lex: COLON",y.yytext),y.yytext=y.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();S.lexer=_;function I(){this.yy={}}return d(I,"Parser"),I.prototype=S,S.Parser=I,new I})();wt.parser=wt;var sr=wt,X=new Map,Et=[],mt=new Map,At="color",zt="fill",ir="bgFill",Xt=",",nr=A(),lt=new Map,_t="",cr=d(e=>je.sanitizeText(e,nr),"sanitizeText"),lr=d(function(e,t=""){let a=lt.get(e);a||(a={id:e,styles:[],textStyles:[]},lt.set(e,a)),t?.split(Xt).forEach(s=>{const i=s.replace(/([^;]*);/,"$1").trim();if(RegExp(At).exec(s)){const r=i.replace(zt,ir).replace(At,zt);a.textStyles.push(r)}a.styles.push(i)})},"addStyleClass"),or=d(function(e,t=""){const a=X.get(e);t!=null&&(a.styles=t.split(Xt))},"addStyle2Node"),hr=d(function(e,t){e.split(",").forEach(function(a){let s=X.get(a);if(s===void 0){const i=a.trim();s={id:i,type:"na",children:[]},X.set(i,s)}s.classes||(s.classes=[]),s.classes.push(t)})},"setCssClass"),Vt=d((e,t)=>{const a=e.flat(),s=[],c=a.find(r=>r?.type==="column-setting")?.columns??-1;for(const r of a){if(typeof c=="number"&&c>0&&r.type!=="column-setting"&&typeof r.widthInColumns=="number"&&r.widthInColumns>c&&k.warn(`Block ${r.id} width ${r.widthInColumns} exceeds configured column width ${c}`),r.label&&(r.label=cr(r.label)),r.type==="classDef"){lr(r.id,r.css);continue}if(r.type==="applyClass"){hr(r.id,r?.styleClass??"");continue}if(r.type==="applyStyles"){r?.stylesStr&&or(r.id,r?.stylesStr);continue}if(r.type==="column-setting")t.columns=r.columns??-1;else if(r.type==="edge"){const n=(mt.get(r.id)??0)+1;mt.set(r.id,n),r.id=n+"-"+r.id,Et.push(r)}else{r.label||(r.type==="composite"?r.label="":r.label=r.id);const n=X.get(r.id);if(n===void 0?X.set(r.id,r):(r.type!=="na"&&(n.type=r.type),r.label!==r.id&&(n.label=r.label)),r.children&&Vt(r.children,r),r.type==="space"){const l=r.width??1;for(let g=0;g{k.debug("Clear called"),We(),rt={id:"root",type:"composite",children:[],columns:-1},X=new Map([["root",rt]]),Tt=[],lt=new Map,Et=[],mt=new Map,_t=""},"clear");function jt(e){switch(k.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return k.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"}}d(jt,"typeStr2Type");function Gt(e){switch(k.debug("typeStr2Type",e),e){case"==":return"thick";default:return"normal"}}d(Gt,"edgeTypeStr2Type");function Zt(e){switch(e.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}d(Zt,"edgeStrToEdgeData");function qt(e){switch(e.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}d(qt,"edgeStrToEdgeStartData");function Jt(e){return e.includes("==")?"thick":"normal"}d(Jt,"edgeStrToThickness");function Qt(e){return e.includes(".-")?"dotted":"solid"}d(Qt,"edgeStrToPattern");var Mt=0,dr=d(()=>(Mt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Mt),"generateId"),ur=d(e=>{rt.children=e,Vt(e,rt),Tt=rt.children},"setHierarchy"),pr=d(e=>{const t=X.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},"getColumns"),fr=d(()=>[...X.values()],"getBlocksFlat"),xr=d(()=>Tt||[],"getBlocks"),yr=d(()=>Et,"getEdges"),br=d(e=>X.get(e),"getBlock"),wr=d(e=>{X.set(e.id,e)},"setBlock"),mr=d(e=>{_t=e},"setDiagramId"),Sr=d(()=>_t,"getDiagramId"),Lr=d(()=>k,"getLogger"),kr=d(function(){return lt},"getClasses"),vr={getConfig:d(()=>at().block,"getConfig"),typeStr2Type:jt,edgeTypeStr2Type:Gt,edgeStrToEdgeData:Zt,edgeStrToEdgeStartData:qt,edgeStrToThickness:Jt,edgeStrToPattern:Qt,getLogger:Lr,getBlocksFlat:fr,getBlocks:xr,getEdges:yr,setHierarchy:ur,getBlock:br,setBlock:wr,getColumns:pr,getClasses:kr,clear:gr,generateId:dr,setDiagramId:mr,getDiagramId:Sr},Er=vr,bt=d((e,t)=>{const a=Je,s=a(e,"r"),i=a(e,"g"),c=a(e,"b");return Ye(s,i,c,t)},"fade"),_r=d(e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + /* + * This is for backward compatibility with existing code that didn't + * add a \`

\` around edge labels. + * + * TODO: We should probably remove this in a future release. + */ + p { + margin: 0; + padding: 0; + display: inline; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${e.edgeLabelBackground}; + } + + .node .cluster { + // fill: ${bt(e.mainBkg,.5)}; + fill: ${bt(e.clusterBkg,.5)}; + stroke: ${bt(e.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } + ${pe()} +`,"getStyles"),Tr=_r,Dr=d((e,t,a,s)=>{t.forEach(i=>{Pr[i](e,a,s)})},"insertMarkers"),Br=d((e,t,a)=>{k.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),Nr=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Ir=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Cr=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Or=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Rr=d((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Ar=d((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),zr=d((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Mr=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Pr={extension:Br,composition:Nr,aggregation:Ir,dependency:Cr,lollipop:Or,point:Rr,circle:Ar,cross:zr,barb:Mr},Fr=Dr,C=A()?.block?.padding??8;function St(e,t){if(e===0||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw new Error("Position must be a non-negative integer."+t);if(e<0)return{px:t,py:0};if(e===1)return{px:0,py:t};const a=t%e,s=Math.floor(t/e);return{px:a,py:s}}d(St,"calculateBlockPosition");var Wr=d(e=>{let t=0,a=0;for(const s of e.children){const{width:i,height:c,x:r,y:n}=s.size??{width:0,height:0,x:0,y:0};if(k.debug("getMaxChildSize abc95 child:",s.id,"width:",i,"height:",c,"x:",r,"y:",n,s.type),s.type==="space")continue;const l=i/(s.widthInColumns??1);l>t&&(t=l),c>a&&(a=c)}return{width:t,height:a}},"getMaxChildSize");function ot(e,t,a=0,s=0){k.debug("setBlockSizes abc95 (start)",e.id,e?.size?.x,"block width =",e?.size,"siblingWidth",a),e?.size?.width||(e.size={width:a,height:s,x:0,y:0});let i=0,c=0;if(e.children?.length>0){for(const x of e.children)ot(x,t);const r=Wr(e);i=r.width,c=r.height,k.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",i,c);for(const x of e.children)x.size&&(k.debug(`abc95 Setting size of children of ${e.id} id=${x.id} ${i} ${c} ${JSON.stringify(x.size)}`),x.size.width=i*(x.widthInColumns??1)+C*((x.widthInColumns??1)-1),x.size.height=c,x.size.x=0,x.size.y=0,k.debug(`abc95 updating size of ${e.id} children child:${x.id} maxWidth:${i} maxHeight:${c}`));for(const x of e.children)ot(x,t,i,c);const n=e.columns??-1;let l=0;for(const x of e.children)l+=x.widthInColumns??1;let g=e.children.length;n>0&&n0?Math.min(e.children.length,n):e.children.length;if(x>0){const w=(p-x*C-C)/x;k.debug("abc95 (growing to fit) width",e.id,p,e.size?.width,w);for(const v of e.children)v.size&&(v.size.width=w)}}e.size={width:p,height:b,x:0,y:0}}k.debug("setBlockSizes abc94 (done)",e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}d(ot,"setBlockSizes");function Dt(e,t){k.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);const a=e.columns??-1;if(k.debug("layoutBlocks columns abc95",e.id,"=>",a,e),e.children&&e.children.length>0){const s=e?.children[0]?.size?.width??0,i=e.children.length*s+(e.children.length-1)*C;k.debug("widthOfChildren 88",i,"posX");const c=new Map;{let o=0;for(const p of e.children){if(!p.size)continue;const{py:b}=St(a,o),x=c.get(b)??0;p.size.height>x&&c.set(b,p.size.height);let w=p?.widthInColumns??1;a>0&&(w=Math.min(w,a-o%a)),o+=w}}const r=new Map;{let o=0;const p=[...c.keys()].sort((b,x)=>b-x);for(const b of p)r.set(b,o),o+=(c.get(b)??0)+C}let n=0;k.debug("abc91 block?.size?.x",e.id,e?.size?.x);let l=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-C,g=0;for(const o of e.children){const p=e;if(!o.size)continue;const{width:b,height:x}=o.size,{px:w,py:v}=St(a,n);if(v!=g&&(g=v,l=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-C,k.debug("New row in layout for block",e.id," and child ",o.id,g)),k.debug(`abc89 layout blocks (child) id: ${o.id} Pos: ${n} (px, py) ${w},${v} (${p?.size?.x},${p?.size?.y}) parent: ${p.id} width: ${b}${C}`),p.size){const _=b/2;o.size.x=l+C+_,k.debug(`abc91 layout blocks (calc) px, pyid:${o.id} startingPos=X${l} new startingPosX${o.size.x} ${_} padding=${C} width=${b} halfWidth=${_} => x:${o.size.x} y:${o.size.y} ${o.widthInColumns} (width * (child?.w || 1)) / 2 ${b*(o?.widthInColumns??1)/2}`),l=o.size.x+_;const I=r.get(v)??0,T=c.get(v)??x;o.size.y=p.size.y-p.size.height/2+I+T/2+C,k.debug(`abc88 layout blocks (calc) px, pyid:${o.id}startingPosX${l}${C}${_}=>x:${o.size.x}y:${o.size.y}${o.widthInColumns}(width * (child?.w || 1)) / 2${b*(o?.widthInColumns??1)/2}`)}o.children&&Dt(o);let S=o?.widthInColumns??1;a>0&&(S=Math.min(S,a-n%a)),n+=S,k.debug("abc88 columnsPos",o,n)}}k.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}d(Dt,"layoutBlocks");function Bt(e,{minX:t,minY:a,maxX:s,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!=="root"){const{x:c,y:r,width:n,height:l}=e.size;c-n/2s&&(s=c+n/2),r+l/2>i&&(i=r+l/2)}if(e.children)for(const c of e.children)({minX:t,minY:a,maxX:s,maxY:i}=Bt(c,{minX:t,minY:a,maxX:s,maxY:i}));return{minX:t,minY:a,maxX:s,maxY:i}}d(Bt,"findBounds");function $t(e){const t=e.getBlock("root");if(!t)return;ot(t,e,0,0),Dt(t),k.debug("getBlocks",JSON.stringify(t,null,2));const{minX:a,minY:s,maxX:i,maxY:c}=Bt(t),r=c-s,n=i-a;return{x:a,y:s,width:n,height:r}}d($t,"layout");var Yr=d(async(e,t,a,s=!1,i=!1)=>{let c=t||"";typeof c=="object"&&(c=c[0]);const r=A(),n=P(r);return await vt(e,c,{style:a,isTitle:s,useHtmlLabels:n,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},r)},"createLabel"),U=Yr,Hr=d((e,t,a,s,i)=>{t.arrowTypeStart&&Pt(e,"start",t.arrowTypeStart,a,s,i),t.arrowTypeEnd&&Pt(e,"end",t.arrowTypeEnd,a,s,i)},"addEdgeMarkers"),Kr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},Pt=d((e,t,a,s,i,c)=>{const r=Kr[a];if(!r){k.warn(`Unknown arrow type: ${a}`);return}const n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${s}#${i}_${c}-${r}${n})`)},"addEdgeMarker"),Lt={},M={},Ur=d(async(e,t)=>{const a=A(),s=P(a),i=e.insert("g").attr("class","edgeLabel"),c=i.insert("g").attr("class","label"),r=t.labelType==="markdown",n=await vt(e,t.label,{style:t.labelStyle,useHtmlLabels:s,addSvgBackground:r,isNode:!1,markdown:r,width:r?void 0:Number.POSITIVE_INFINITY},a);c.node().appendChild(n);let l=n.getBBox(),g=l;if(s){const p=n.children[0],b=D(n);l=p.getBoundingClientRect(),g=l,b.attr("width",l.width),b.attr("height",l.height)}else{const p=D(n).select("text").node();p&&typeof p.getBBox=="function"&&(g=p.getBBox())}c.attr("transform",$(g,s)),Lt[t.id]=i,t.width=l.width,t.height=l.height;let o;if(t.startLabelLeft){const p=e.insert("g").attr("class","edgeTerminals"),b=p.insert("g").attr("class","inner"),x=await U(b,t.startLabelLeft,t.labelStyle);o=x;let w=x.getBBox();if(s){const v=x.children[0],S=D(x);w=v.getBoundingClientRect(),S.attr("width",w.width),S.attr("height",w.height)}b.attr("transform",$(w,s)),M[t.id]||(M[t.id]={}),M[t.id].startLeft=p,et(o,t.startLabelLeft)}if(t.startLabelRight){const p=e.insert("g").attr("class","edgeTerminals"),b=p.insert("g").attr("class","inner"),x=await U(b,t.startLabelRight,t.labelStyle);o=x;let w=x.getBBox();if(s){const v=x.children[0],S=D(x);w=v.getBoundingClientRect(),S.attr("width",w.width),S.attr("height",w.height)}b.attr("transform",$(w,s)),M[t.id]||(M[t.id]={}),M[t.id].startRight=p,et(o,t.startLabelRight)}if(t.endLabelLeft){const p=e.insert("g").attr("class","edgeTerminals"),b=p.insert("g").attr("class","inner"),x=await U(p,t.endLabelLeft,t.labelStyle);o=x;let w=x.getBBox();if(s){const v=x.children[0],S=D(x);w=v.getBoundingClientRect(),S.attr("width",w.width),S.attr("height",w.height)}b.attr("transform",$(w,s)),M[t.id]||(M[t.id]={}),M[t.id].endLeft=p,et(o,t.endLabelLeft)}if(t.endLabelRight){const p=e.insert("g").attr("class","edgeTerminals"),b=p.insert("g").attr("class","inner"),x=await U(p,t.endLabelRight,t.labelStyle);o=x;let w=x.getBBox();if(s){const v=x.children[0],S=D(x);w=v.getBoundingClientRect(),S.attr("width",w.width),S.attr("height",w.height)}b.attr("transform",$(w,s)),M[t.id]||(M[t.id]={}),M[t.id].endRight=p,et(o,t.endLabelRight)}return n},"insertEdgeLabel");function et(e,t){P(A())&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}d(et,"setTerminalWidth");var Xr=d((e,t)=>{k.debug("Moving label abc88 ",e.id,e.label,Lt[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const s=A(),{subGraphTitleTotalMargin:i}=Ve(s);if(e.label){const c=Lt[e.id];let r=e.x,n=e.y;if(a){const l=tt.calcLabelPosition(a);k.debug("Moving label "+e.label+" from (",r,",",n,") to (",l.x,",",l.y,") abc88"),t.updatedPath&&(r=l.x,n=l.y)}c.attr("transform",`translate(${r}, ${n+i/2})`)}if(e.startLabelLeft){const c=M[e.id].startLeft;let r=e.x,n=e.y;if(a){const l=tt.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);r=l.x,n=l.y}c.attr("transform",`translate(${r}, ${n})`)}if(e.startLabelRight){const c=M[e.id].startRight;let r=e.x,n=e.y;if(a){const l=tt.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);r=l.x,n=l.y}c.attr("transform",`translate(${r}, ${n})`)}if(e.endLabelLeft){const c=M[e.id].endLeft;let r=e.x,n=e.y;if(a){const l=tt.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);r=l.x,n=l.y}c.attr("transform",`translate(${r}, ${n})`)}if(e.endLabelRight){const c=M[e.id].endRight;let r=e.x,n=e.y;if(a){const l=tt.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);r=l.x,n=l.y}c.attr("transform",`translate(${r}, ${n})`)}},"positionEdgeLabel"),Vr=d((e,t)=>{const a=e.x,s=e.y,i=Math.abs(t.x-a),c=Math.abs(t.y-s),r=e.width/2,n=e.height/2;return i>=r||c>=n},"outsideNode"),jr=d((e,t,a)=>{k.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(t)} + insidePoint : ${JSON.stringify(a)} + node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const s=e.x,i=e.y,c=Math.abs(s-a.x),r=e.width/2;let n=a.xMath.abs(s-t.x)*l){let p=a.y{k.debug("abc88 cutPathAtIntersect",e,t);let a=[],s=e[0],i=!1;return e.forEach(c=>{if(!Vr(t,c)&&!i){const r=jr(t,s,c);let n=!1;a.forEach(l=>{n=n||l.x===r.x&&l.y===r.y}),a.some(l=>l.x===r.x&&l.y===r.y)||a.push(r),i=!0}else s=c,i||a.push(c)}),a},"cutPathAtIntersect"),Gr=d(function(e,t,a,s,i,c,r){let n=a.points;k.debug("abc88 InsertEdge: edge=",a,"e=",t);let l=!1;const g=c.node(t.v);var o=c.node(t.w);o?.intersect&&g?.intersect&&(n=n.slice(1,a.points.length-1),n.unshift(g.intersect(n[0])),n.push(o.intersect(n[n.length-1]))),a.toCluster&&(k.debug("to cluster abc88",s[a.toCluster]),n=Ft(a.points,s[a.toCluster].node),l=!0),a.fromCluster&&(k.debug("from cluster abc88",s[a.fromCluster]),n=Ft(n.reverse(),s[a.fromCluster].node).reverse(),l=!0);const p=n.filter(m=>!Number.isNaN(m.y));let b=Ue;a.curve&&(i==="graph"||i==="flowchart")&&(b=a.curve);const{x,y:w}=He(a),v=Ke().x(x).y(w).curve(b);let S;switch(a.thickness){case"normal":S="edge-thickness-normal";break;case"thick":S="edge-thickness-thick";break;case"invisible":S="edge-thickness-thick";break;default:S=""}switch(a.pattern){case"solid":S+=" edge-pattern-solid";break;case"dotted":S+=" edge-pattern-dotted";break;case"dashed":S+=" edge-pattern-dashed";break}const _=e.append("path").attr("d",v(p)).attr("id",a.id).attr("class"," "+S+(a.classes?" "+a.classes:"")).attr("style",a.style);let I="";(A().flowchart.arrowMarkerAbsolute||A().state.arrowMarkerAbsolute)&&(I=Xe(!0)),Hr(_,a,I,r,i);let T={};return l&&(T.updatedPath=n),T.originalPath=a.points,T},"insertEdge"),Zr=d(e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},"expandAndDeduplicateDirections"),qr=d((e,t,a,s)=>{const i=Zr(e),c=2,r=t.height+2*a.padding,n=r/c,l=s??t.width+2*n+a.padding,g=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:l/2,y:2*g},{x:l-n,y:0},{x:l,y:0},{x:l,y:-r/3},{x:l+2*g,y:-r/2},{x:l,y:-2*r/3},{x:l,y:-r},{x:l-n,y:-r},{x:l/2,y:-r-2*g},{x:n,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*g,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:n,y:0},{x:l-n,y:0},{x:l,y:-r/2},{x:l-n,y:-r},{x:n,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:n,y:-r},{x:l-n,y:-r},{x:l,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:l,y:-n},{x:l,y:-r+n},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:l,y:0},{x:0,y:-n},{x:0,y:-r+n},{x:l,y:-r}]:i.has("right")&&i.has("left")?[{x:n,y:0},{x:n,y:-g},{x:l-n,y:-g},{x:l-n,y:0},{x:l,y:-r/2},{x:l-n,y:-r},{x:l-n,y:-r+g},{x:n,y:-r+g},{x:n,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:l/2,y:0},{x:0,y:-g},{x:n,y:-g},{x:n,y:-r+g},{x:0,y:-r+g},{x:l/2,y:-r},{x:l,y:-r+g},{x:l-n,y:-r+g},{x:l-n,y:-g},{x:l,y:-g}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:l,y:-n},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:l,y:0},{x:0,y:-n},{x:l,y:-r}]:i.has("left")&&i.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-r}]:i.has("right")?[{x:n,y:-g},{x:n,y:-g},{x:l-n,y:-g},{x:l-n,y:0},{x:l,y:-r/2},{x:l-n,y:-r},{x:l-n,y:-r+g},{x:n,y:-r+g},{x:n,y:-r+g}]:i.has("left")?[{x:n,y:0},{x:n,y:-g},{x:l-n,y:-g},{x:l-n,y:-r+g},{x:n,y:-r+g},{x:n,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:n,y:-g},{x:n,y:-r+g},{x:0,y:-r+g},{x:l/2,y:-r},{x:l,y:-r+g},{x:l-n,y:-r+g},{x:l-n,y:-g}]:i.has("down")?[{x:l/2,y:0},{x:0,y:-g},{x:n,y:-g},{x:n,y:-r+g},{x:l-n,y:-r+g},{x:l-n,y:-g},{x:l,y:-g}]:[{x:0,y:0}]},"getArrowPoints");function te(e,t){return e.intersect(t)}d(te,"intersectNode");var Jr=te;function ee(e,t,a,s){var i=e.x,c=e.y,r=i-s.x,n=c-s.y,l=Math.sqrt(t*t*n*n+a*a*r*r),g=Math.abs(t*a*r/l);s.x0}d(kt,"sameSign");var $r=se,ta=ie;function ie(e,t,a){var s=e.x,i=e.y,c=[],r=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(w){r=Math.min(r,w.x),n=Math.min(n,w.y)}):(r=Math.min(r,t.x),n=Math.min(n,t.y));for(var l=s-e.width/2-r,g=i-e.height/2-n,o=0;o1&&c.sort(function(w,v){var S=w.x-a.x,_=w.y-a.y,I=Math.sqrt(S*S+_*_),T=v.x-a.x,m=v.y-a.y,u=Math.sqrt(T*T+m*m);return I{var a=e.x,s=e.y,i=t.x-a,c=t.y-s,r=e.width/2,n=e.height/2,l,g;return Math.abs(c)*r>Math.abs(i)*n?(c<0&&(n=-n),l=c===0?0:n*i/c,g=n):(i<0&&(r=-r),l=r,g=i===0?0:r*c/i),{x:a+l,y:s+g}},"intersectRect"),ra=ea,B={node:Jr,circle:Qr,ellipse:re,polygon:ta,rect:ra},z=d(async(e,t,a,s)=>{const i=A();let c;const r=t.useHtmlLabels||P(i);a?c=a:c="node default";const n=e.insert("g").attr("class",c).attr("id",t.domId||t.id),l=n.insert("g").attr("class","label").attr("style",t.labelStyle);let g;t.labelText===void 0?g="":g=typeof t.labelText=="string"?t.labelText:t.labelText[0];let o;t.labelType==="markdown"?o=vt(l,Ot(Rt(g),i),{useHtmlLabels:r,width:t.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):o=await U(l,Ot(Rt(g),i),t.labelStyle,!1,s);let p=o.getBBox();const b=t.padding/2;if(P(i)){const x=o.children[0],w=D(o);await Ze(x,g),p=x.getBoundingClientRect(),w.attr("width",p.width),w.attr("height",p.height)}return r?l.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):l.attr("transform","translate(0, "+-p.height/2+")"),t.centerLabel&&l.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:n,bbox:p,halfPadding:b,label:l}},"labelHelper"),N=d((e,t)=>{const a=t.node().getBBox();e.width=a.width,e.height=a.height},"updateNodeBounds");function V(e,t,a,s){return e.insert("polygon",":first-child").attr("points",s.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}d(V,"insertPolygonShape");var aa=d(async(e,t)=>{t.useHtmlLabels||P(A())||(t.centerLabel=!0);const{shapeSvg:s,bbox:i,halfPadding:c}=await z(e,t,"node "+t.classes,!0);k.info("Classes = ",t.classes);const r=s.insert("rect",":first-child");return r.attr("rx",t.rx).attr("ry",t.ry).attr("x",-i.width/2-c).attr("y",-i.height/2-c).attr("width",i.width+t.padding).attr("height",i.height+t.padding),N(t,r),t.intersect=function(n){return B.rect(t,n)},s},"note"),sa=aa,Wt=d(e=>e?" "+e:"","formatClass"),H=d((e,t)=>`${t||"node default"}${Wt(e.classes)} ${Wt(e.class)}`,"getClassesFromNode"),Yt=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.width+t.padding,c=s.height+t.padding,r=i+c,n=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}];k.info("Question main (Circle)");const l=V(a,r,r,n);return l.attr("style",t.style),N(t,l),t.intersect=function(g){return k.warn("Intersect called"),B.polygon(t,n,g)},a},"question"),ia=d((e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),s=28,i=[{x:0,y:s/2},{x:s/2,y:0},{x:0,y:-s/2},{x:-s/2,y:0}];return a.insert("polygon",":first-child").attr("points",i.map(function(r){return r.x+","+r.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(r){return B.circle(t,14,r)},a},"choice"),na=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=4,c=t.positioned?t.height:s.height+t.padding,r=c/i,n=t.positioned?t.width:s.width+2*r+t.padding,l=[{x:r,y:0},{x:n-r,y:0},{x:n,y:-c/2},{x:n-r,y:-c},{x:r,y:-c},{x:0,y:-c/2}],g=V(a,n,c,l);return g.attr("style",t.style),N(t,g),t.intersect=function(o){return B.polygon(t,l,o)},a},"hexagon"),ca=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,void 0,!0),i=2,c=s.height+2*t.padding,r=c/i,n=s.width+2*r+t.padding,g=t.positioned&&(t.widthInColumns??1)>1&&t.width>n?t.width:n,o=qr(t.directions,s,t,g),p=V(a,g,c,o);return p.attr("style",t.style),N(t,p),t.intersect=function(b){return B.polygon(t,o,b)},a},"block_arrow"),la=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.width+t.padding,c=s.height+t.padding,r=[{x:-c/2,y:0},{x:i,y:0},{x:i,y:-c},{x:-c/2,y:-c},{x:0,y:-c/2}];return V(a,i,c,r).attr("style",t.style),t.width=i+c,t.height=c,t.intersect=function(l){return B.polygon(t,r,l)},a},"rect_left_inv_arrow"),oa=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t),!0),i=s.width+t.padding,c=s.height+t.padding,r=[{x:-2*c/6,y:0},{x:i-c/6,y:0},{x:i+2*c/6,y:-c},{x:c/6,y:-c}],n=V(a,i,c,r);return n.attr("style",t.style),N(t,n),t.intersect=function(l){return B.polygon(t,r,l)},a},"lean_right"),ha=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.width+t.padding,c=s.height+t.padding,r=[{x:2*c/6,y:0},{x:i+c/6,y:0},{x:i-2*c/6,y:-c},{x:-c/6,y:-c}],n=V(a,i,c,r);return n.attr("style",t.style),N(t,n),t.intersect=function(l){return B.polygon(t,r,l)},a},"lean_left"),ga=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.width+t.padding,c=s.height+t.padding,r=[{x:-2*c/6,y:0},{x:i+2*c/6,y:0},{x:i-c/6,y:-c},{x:c/6,y:-c}],n=V(a,i,c,r);return n.attr("style",t.style),N(t,n),t.intersect=function(l){return B.polygon(t,r,l)},a},"trapezoid"),da=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.width+t.padding,c=s.height+t.padding,r=[{x:c/6,y:0},{x:i-c/6,y:0},{x:i+2*c/6,y:-c},{x:-2*c/6,y:-c}],n=V(a,i,c,r);return n.attr("style",t.style),N(t,n),t.intersect=function(l){return B.polygon(t,r,l)},a},"inv_trapezoid"),ua=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.width+t.padding,c=s.height+t.padding,r=[{x:0,y:0},{x:i+c/2,y:0},{x:i,y:-c/2},{x:i+c/2,y:-c},{x:0,y:-c}],n=V(a,i,c,r);return n.attr("style",t.style),N(t,n),t.intersect=function(l){return B.polygon(t,r,l)},a},"rect_right_inv_arrow"),pa=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.width+t.padding,c=i/2,r=c/(2.5+i/50),n=s.height+r+t.padding,l="M 0,"+r+" a "+c+","+r+" 0,0,0 "+i+" 0 a "+c+","+r+" 0,0,0 "+-i+" 0 l 0,"+n+" a "+c+","+r+" 0,0,0 "+i+" 0 l 0,"+-n,g=a.attr("label-offset-y",r).insert("path",":first-child").attr("style",t.style).attr("d",l).attr("transform","translate("+-i/2+","+-(n/2+r)+")");return N(t,g),t.intersect=function(o){const p=B.rect(t,o),b=p.x-t.x;if(c!=0&&(Math.abs(b)t.height/2-r)){let x=r*r*(1-b*b/(c*c));x!=0&&(x=Math.sqrt(x)),x=r-x,o.y-t.y>0&&(x=-x),p.y+=x}return p},a},"cylinder"),fa=d(async(e,t)=>{const{shapeSvg:a,bbox:s,halfPadding:i}=await z(e,t,"node "+t.classes+" "+t.class,!0),c=a.insert("rect",":first-child"),r=t.positioned?t.width:s.width+t.padding,n=t.positioned?t.height:s.height+t.padding,l=t.positioned?-r/2:-s.width/2-i,g=t.positioned?-n/2:-s.height/2-i;if(c.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",l).attr("y",g).attr("width",r).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(ht(c,t.props.borders,r,n),o.delete("borders")),o.forEach(p=>{k.warn(`Unknown node property ${p}`)})}return N(t,c),t.intersect=function(o){return B.rect(t,o)},a},"rect"),xa=d(async(e,t)=>{const{shapeSvg:a,bbox:s,halfPadding:i}=await z(e,t,"node "+t.classes,!0),c=a.insert("rect",":first-child"),r=t.positioned?t.width:s.width+t.padding,n=t.positioned?t.height:s.height+t.padding,l=t.positioned?-r/2:-s.width/2-i,g=t.positioned?-n/2:-s.height/2-i;if(c.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",l).attr("y",g).attr("width",r).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(ht(c,t.props.borders,r,n),o.delete("borders")),o.forEach(p=>{k.warn(`Unknown node property ${p}`)})}return N(t,c),t.intersect=function(o){return B.rect(t,o)},a},"composite"),ya=d(async(e,t)=>{const{shapeSvg:a}=await z(e,t,"label",!0);k.trace("Classes = ",t.class);const s=a.insert("rect",":first-child"),i=0,c=0;if(s.attr("width",i).attr("height",c),a.attr("class","label edgeLabel"),t.props){const r=new Set(Object.keys(t.props));t.props.borders&&(ht(s,t.props.borders,i,c),r.delete("borders")),r.forEach(n=>{k.warn(`Unknown node property ${n}`)})}return N(t,s),t.intersect=function(r){return B.rect(t,r)},a},"labelRect");function ht(e,t,a,s){const i=[],c=d(n=>{i.push(n,0)},"addBorder"),r=d(n=>{i.push(0,n)},"skipBorder");t.includes("t")?(k.debug("add top border"),c(a)):r(a),t.includes("r")?(k.debug("add right border"),c(s)):r(s),t.includes("b")?(k.debug("add bottom border"),c(a)):r(a),t.includes("l")?(k.debug("add left border"),c(s)):r(s),e.attr("stroke-dasharray",i.join(" "))}d(ht,"applyNodePropertyBorders");var ba=d(async(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const s=e.insert("g").attr("class",a).attr("id",t.domId||t.id),i=s.insert("rect",":first-child"),c=s.insert("line"),r=s.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let l="";typeof n=="object"?l=n[0]:l=n,k.info("Label text abc79",l,n,typeof n=="object");const g=await U(r,l,t.labelStyle,!0,!0);let o={width:0,height:0};if(P(A())){const v=g.children[0],S=D(g);o=v.getBoundingClientRect(),S.attr("width",o.width),S.attr("height",o.height)}k.info("Text 2",n);const p=n.slice(1,n.length);let b=g.getBBox();const x=await U(r,p.join?p.join("
"):p,t.labelStyle,!0,!0);if(P(A())){const v=x.children[0],S=D(x);o=v.getBoundingClientRect(),S.attr("width",o.width),S.attr("height",o.height)}const w=t.padding/2;return D(x).attr("transform","translate( "+(o.width>b.width?0:(b.width-o.width)/2)+", "+(b.height+w+5)+")"),D(g).attr("transform","translate( "+(o.width{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.height+t.padding,c=s.width+i/4+t.padding,r=a.insert("rect",":first-child").attr("style",t.style).attr("rx",i/2).attr("ry",i/2).attr("x",-c/2).attr("y",-i/2).attr("width",c).attr("height",i);return N(t,r),t.intersect=function(n){return B.rect(t,n)},a},"stadium"),ma=d(async(e,t)=>{const{shapeSvg:a,bbox:s,halfPadding:i}=await z(e,t,H(t,void 0),!0),c=a.insert("circle",":first-child");return c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",s.width/2+i).attr("width",s.width+t.padding).attr("height",s.height+t.padding),k.info("Circle main"),N(t,c),t.intersect=function(r){return k.info("Circle intersect",t,s.width/2+i,r),B.circle(t,s.width/2+i,r)},a},"circle"),Sa=d(async(e,t)=>{const{shapeSvg:a,bbox:s,halfPadding:i}=await z(e,t,H(t,void 0),!0),c=5,r=a.insert("g",":first-child"),n=r.insert("circle"),l=r.insert("circle");return r.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",s.width/2+i+c).attr("width",s.width+t.padding+c*2).attr("height",s.height+t.padding+c*2),l.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",s.width/2+i).attr("width",s.width+t.padding).attr("height",s.height+t.padding),k.info("DoubleCircle main"),N(t,n),t.intersect=function(g){return k.info("DoubleCircle intersect",t,s.width/2+i+c,g),B.circle(t,s.width/2+i+c,g)},a},"doublecircle"),La=d(async(e,t)=>{const{shapeSvg:a,bbox:s}=await z(e,t,H(t,void 0),!0),i=s.width+t.padding,c=s.height+t.padding,r=[{x:0,y:0},{x:i,y:0},{x:i,y:-c},{x:0,y:-c},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-c},{x:-8,y:-c},{x:-8,y:0}],n=V(a,i,c,r);return n.attr("style",t.style),N(t,n),t.intersect=function(l){return B.polygon(t,r,l)},a},"subroutine"),ka=d((e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),s=a.insert("circle",":first-child");return s.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),N(t,s),t.intersect=function(i){return B.circle(t,7,i)},a},"start"),Ht=d((e,t,a)=>{const s=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let i=70,c=10;a==="LR"&&(i=10,c=70);const r=s.append("rect").attr("x",-1*i/2).attr("y",-1*c/2).attr("width",i).attr("height",c).attr("class","fork-join");return N(t,r),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return B.rect(t,n)},s},"forkJoin"),va=d((e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),s=a.insert("circle",":first-child"),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),s.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),N(t,i),t.intersect=function(c){return B.circle(t,7,c)},a},"end"),Ea=d(async(e,t)=>{const a=t.padding/2,s=4,i=8;let c;t.classes?c="node "+t.classes:c="node default";const r=e.insert("g").attr("class",c).attr("id",t.domId||t.id),n=r.insert("rect",":first-child"),l=r.insert("line"),g=r.insert("line");let o=0,p=s;const b=r.insert("g").attr("class","label");let x=0;const w=t.classData.annotations?.[0],v=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",S=await U(b,v,t.labelStyle,!0,!0);let _=S.getBBox();if(P(A())){const E=S.children[0],h=D(S);_=E.getBoundingClientRect(),h.attr("width",_.width),h.attr("height",_.height)}t.classData.annotations[0]&&(p+=_.height+s,o+=_.width);let I=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(P(A())?I+="<"+t.classData.type+">":I+="<"+t.classData.type+">");const T=await U(b,I,t.labelStyle,!0,!0);D(T).attr("class","classTitle");let m=T.getBBox();if(P(A())){const E=T.children[0],h=D(T);m=E.getBoundingClientRect(),h.attr("width",m.width),h.attr("height",m.height)}p+=m.height+s,m.width>o&&(o=m.width);const u=[];t.classData.members.forEach(async E=>{const h=E.getDisplayDetails();let W=h.displayText;P(A())&&(W=W.replace(//g,">"));const f=await U(b,W,h.cssStyle?h.cssStyle:t.labelStyle,!0,!0);let O=f.getBBox();if(P(A())){const q=f.children[0],j=D(f);O=q.getBoundingClientRect(),j.attr("width",O.width),j.attr("height",O.height)}O.width>o&&(o=O.width),p+=O.height+s,u.push(f)}),p+=i;const y=[];if(t.classData.methods.forEach(async E=>{const h=E.getDisplayDetails();let W=h.displayText;P(A())&&(W=W.replace(//g,">"));const f=await U(b,W,h.cssStyle?h.cssStyle:t.labelStyle,!0,!0);let O=f.getBBox();if(P(A())){const q=f.children[0],j=D(f);O=q.getBoundingClientRect(),j.attr("width",O.width),j.attr("height",O.height)}O.width>o&&(o=O.width),p+=O.height+s,y.push(f)}),p+=i,w){let E=(o-_.width)/2;D(S).attr("transform","translate( "+(-1*o/2+E)+", "+-1*p/2+")"),x=_.height+s}let L=(o-m.width)/2;return D(T).attr("transform","translate( "+(-1*o/2+L)+", "+(-1*p/2+x)+")"),x+=m.height+s,l.attr("class","divider").attr("x1",-o/2-a).attr("x2",o/2+a).attr("y1",-p/2-a+i+x).attr("y2",-p/2-a+i+x),x+=i,u.forEach(E=>{D(E).attr("transform","translate( "+-o/2+", "+(-1*p/2+x+i/2)+")");const h=E?.getBBox();x+=(h?.height??0)+s}),x+=i,g.attr("class","divider").attr("x1",-o/2-a).attr("x2",o/2+a).attr("y1",-p/2-a+i+x).attr("y2",-p/2-a+i+x),x+=i,y.forEach(E=>{D(E).attr("transform","translate( "+-o/2+", "+(-1*p/2+x)+")");const h=E?.getBBox();x+=(h?.height??0)+s}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-o/2-a).attr("y",-(p/2)-a).attr("width",o+t.padding).attr("height",p+t.padding),N(t,n),t.intersect=function(E){return B.rect(t,E)},r},"class_box"),Kt={rhombus:Yt,composite:xa,question:Yt,rect:fa,labelRect:ya,rectWithTitle:ba,choice:ia,circle:ma,doublecircle:Sa,stadium:wa,hexagon:na,block_arrow:ca,rect_left_inv_arrow:la,lean_right:oa,lean_left:ha,trapezoid:ga,inv_trapezoid:da,rect_right_inv_arrow:ua,cylinder:pa,start:ka,end:va,note:sa,subroutine:La,fork:Ht,join:Ht,class_box:Ea},ct={},ne=d(async(e,t,a)=>{let s,i;if(t.link){let c;A().securityLevel==="sandbox"?c="_top":t.linkTarget&&(c=t.linkTarget||"_blank"),s=e.insert("svg:a").attr("xlink:href",t.link).attr("target",c),i=await Kt[t.shape](s,t,a)}else i=await Kt[t.shape](e,t,a),s=i;return t.tooltip&&i.attr("title",t.tooltip),t.class&&i.attr("class","node default "+t.class),ct[t.id]=s,t.haveCallback&&ct[t.id].attr("class",ct[t.id].attr("class")+" clickable"),s},"insertNode"),_a=d(e=>{const t=ct[e.id];k.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const a=8,s=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+s-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),s},"positionNode");function Nt(e,t,a=!1){const s=e;let i="default";(s?.classes?.length||0)>0&&(i=(s?.classes??[]).join(" ")),i=i+" flowchart-label";let c=0,r="",n;switch(s.type){case"round":c=5,r="rect";break;case"composite":c=0,r="composite",n=0;break;case"square":r="rect";break;case"diamond":r="question";break;case"hexagon":r="hexagon";break;case"block_arrow":r="block_arrow";break;case"odd":r="rect_left_inv_arrow";break;case"lean_right":r="lean_right";break;case"lean_left":r="lean_left";break;case"trapezoid":r="trapezoid";break;case"inv_trapezoid":r="inv_trapezoid";break;case"rect_left_inv_arrow":r="rect_left_inv_arrow";break;case"circle":r="circle";break;case"ellipse":r="ellipse";break;case"stadium":r="stadium";break;case"subroutine":r="subroutine";break;case"cylinder":r="cylinder";break;case"group":r="rect";break;case"doublecircle":r="doublecircle";break;default:r="rect"}const l=Ge(s?.styles??[]),g=s.label,o=s.size??{width:0,height:0,x:0,y:0},p=t.getDiagramId();return{labelStyle:l.labelStyle,shape:r,labelText:g,rx:c,ry:c,class:i,style:l.style,id:s.id,domId:p?`${p}-${s.id}`:s.id,directions:s.directions,width:o.width,height:o.height,x:o.x,y:o.y,positioned:a,intersect:void 0,type:s.type,padding:n??at()?.block?.padding??0,widthInColumns:s.widthInColumns??1}}d(Nt,"getNodeFromBlock");async function ce(e,t,a){const s=Nt(t,a,!1);if(s.type==="group")return;const i=at(),c=await ne(e,s,{config:i}),r=c.node().getBBox(),n=a.getBlock(s.id);n.size={width:r.width,height:r.height,x:0,y:0,node:c},a.setBlock(n),c.remove()}d(ce,"calculateBlockSize");async function le(e,t,a){const s=Nt(t,a,!0);if(a.getBlock(s.id).type!=="space"){const c=at();await ne(e,s,{config:c}),t.intersect=s?.intersect,_a(s)}}d(le,"insertBlockPositioned");async function gt(e,t,a,s){for(const i of t)await s(e,i,a),i.children&&await gt(e,i.children,a,s)}d(gt,"performOperations");async function oe(e,t,a){await gt(e,t,a,ce)}d(oe,"calculateBlockSizes");async function he(e,t,a){await gt(e,t,a,le)}d(he,"insertBlocks");async function ge(e,t,a,s,i){const c=new qe({multigraph:!0,compound:!0});c.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const r of a)r.size&&c.setNode(r.id,{width:r.size.width,height:r.size.height,intersect:r.intersect});for(const r of t)if(r.start&&r.end){const n=s.getBlock(r.start),l=s.getBlock(r.end);if(n?.size&&l?.size){const g=n.size,o=l.size,p=[{x:g.x,y:g.y},{x:g.x+(o.x-g.x)/2,y:g.y+(o.y-g.y)/2},{x:o.x,y:o.y}],b=i?`${i}-${r.id}`:r.id,x=r.thickness==="thick"?"edge-thickness-thick":"edge-thickness-normal",w=r.pattern==="dotted"?"edge-pattern-dotted":"edge-pattern-solid",v=`${x} ${w} flowchart-link LS-a1 LE-b1`;Gr(e,{v:r.start,w:r.end,name:b},{...r,id:b,arrowTypeEnd:r.arrowTypeEnd,arrowTypeStart:r.arrowTypeStart,points:p,classes:v},void 0,"block",c,i),r.label&&(await Ur(e,{...r,label:r.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:r.arrowTypeEnd,arrowTypeStart:r.arrowTypeStart,points:p,classes:v}),Xr({...r,x:p[1].x,y:p[1].y},{originalPath:p}))}}}d(ge,"insertEdges");var Ta=d(function(e,t){return t.db.getClasses()},"getClasses"),Da=d(async function(e,t,a,s){const{securityLevel:i,block:c}=at(),r=s.db;r.setDiagramId(t);let n;i==="sandbox"&&(n=D("#i"+t));const l=i==="sandbox"?D(n.nodes()[0].contentDocument.body):D("body"),g=i==="sandbox"?l.select(`[id="${t}"]`):D(`[id="${t}"]`);Fr(g,["point","circle","cross"],s.type,t);const p=r.getBlocks(),b=r.getBlocksFlat(),x=r.getEdges(),w=g.insert("g").attr("class","block");await oe(w,p,r);const v=$t(r);if(await he(w,p,r),await ge(w,x,b,r,t),v){const S=v,_=Math.max(1,Math.round(.125*(S.width/S.height))),I=S.height+_+10,T=S.width+10,{useMaxWidth:m}=c;Fe(g,I,T,!!m),k.debug("Here Bounds",v,S),g.attr("viewBox",`${S.x-5} ${S.y-5} ${S.width+10} ${S.height+10}`)}},"draw"),Ba={draw:Da,getClasses:Ta},Aa={parser:sr,db:Er,renderer:Ba,styles:Tr};export{Aa as diagram}; diff --git a/_astro/c4Diagram-AAUBKEIU.nat2XixZ.js b/_astro/c4Diagram-AAUBKEIU.nat2XixZ.js new file mode 100644 index 0000000..80301e7 --- /dev/null +++ b/_astro/c4Diagram-AAUBKEIU.nat2XixZ.js @@ -0,0 +1,10 @@ +import{g as Oe,d as Re}from"./chunk-ND2GUHAM.CiUMUSja.js";import{s as Se,g as De,a as Pe,b as Be,_ as y,c as Dt,d as Nt,l as he,e as Ie,f as Me,h as Tt,i as pe,j as Le,w as Ne,k as Jt,m as ue}from"./mermaid.core.Ci_VGkOG.js";import"./preload-helper.DK3iz7C1.js";var jt=(function(){var e=y(function(_t,x,v,E){for(v=v||{},E=_t.length;E--;v[_t[E]]=x);return v},"o"),t=[1,24],s=[1,25],o=[1,26],l=[1,27],r=[1,28],a=[1,63],n=[1,64],i=[1,65],u=[1,66],d=[1,67],p=[1,68],g=[1,69],m=[1,29],O=[1,30],S=[1,31],P=[1,32],M=[1,33],U=[1,34],H=[1,35],q=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],$=[1,41],tt=[1,42],et=[1,43],at=[1,44],it=[1,45],nt=[1,46],st=[1,47],rt=[1,48],lt=[1,50],ot=[1,51],ct=[1,52],ht=[1,53],ut=[1,54],dt=[1,55],ft=[1,56],pt=[1,57],yt=[1,58],gt=[1,59],bt=[1,60],Ct=[14,42],Xt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ot=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],A=[1,82],k=[1,83],C=[1,84],w=[1,85],T=[12,14,42],se=[12,14,33,42],Bt=[12,14,33,42,76,77,79,80],vt=[12,33],Wt=[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],Qt={trace:y(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:y(function(x,v,E,b,R,h,Rt){var f=h.length-1;switch(R){case 3:b.setDirection("TB");break;case 4:b.setDirection("BT");break;case 5:b.setDirection("RL");break;case 6:b.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:b.setC4Type(h[f-3]);break;case 19:b.setTitle(h[f].substring(6)),this.$=h[f].substring(6);break;case 20:b.setAccDescription(h[f].substring(15)),this.$=h[f].substring(15);break;case 21:this.$=h[f].trim(),b.setTitle(this.$);break;case 22:case 23:this.$=h[f].trim(),b.setAccDescription(this.$);break;case 28:h[f].splice(2,0,"ENTERPRISE"),b.addPersonOrSystemBoundary(...h[f]),this.$=h[f];break;case 29:h[f].splice(2,0,"SYSTEM"),b.addPersonOrSystemBoundary(...h[f]),this.$=h[f];break;case 30:b.addPersonOrSystemBoundary(...h[f]),this.$=h[f];break;case 31:h[f].splice(2,0,"CONTAINER"),b.addContainerBoundary(...h[f]),this.$=h[f];break;case 32:b.addDeploymentNode("node",...h[f]),this.$=h[f];break;case 33:b.addDeploymentNode("nodeL",...h[f]),this.$=h[f];break;case 34:b.addDeploymentNode("nodeR",...h[f]),this.$=h[f];break;case 35:b.popBoundaryParseStack();break;case 39:b.addPersonOrSystem("person",...h[f]),this.$=h[f];break;case 40:b.addPersonOrSystem("external_person",...h[f]),this.$=h[f];break;case 41:b.addPersonOrSystem("system",...h[f]),this.$=h[f];break;case 42:b.addPersonOrSystem("system_db",...h[f]),this.$=h[f];break;case 43:b.addPersonOrSystem("system_queue",...h[f]),this.$=h[f];break;case 44:b.addPersonOrSystem("external_system",...h[f]),this.$=h[f];break;case 45:b.addPersonOrSystem("external_system_db",...h[f]),this.$=h[f];break;case 46:b.addPersonOrSystem("external_system_queue",...h[f]),this.$=h[f];break;case 47:b.addContainer("container",...h[f]),this.$=h[f];break;case 48:b.addContainer("container_db",...h[f]),this.$=h[f];break;case 49:b.addContainer("container_queue",...h[f]),this.$=h[f];break;case 50:b.addContainer("external_container",...h[f]),this.$=h[f];break;case 51:b.addContainer("external_container_db",...h[f]),this.$=h[f];break;case 52:b.addContainer("external_container_queue",...h[f]),this.$=h[f];break;case 53:b.addComponent("component",...h[f]),this.$=h[f];break;case 54:b.addComponent("component_db",...h[f]),this.$=h[f];break;case 55:b.addComponent("component_queue",...h[f]),this.$=h[f];break;case 56:b.addComponent("external_component",...h[f]),this.$=h[f];break;case 57:b.addComponent("external_component_db",...h[f]),this.$=h[f];break;case 58:b.addComponent("external_component_queue",...h[f]),this.$=h[f];break;case 60:b.addRel("rel",...h[f]),this.$=h[f];break;case 61:b.addRel("birel",...h[f]),this.$=h[f];break;case 62:b.addRel("rel_u",...h[f]),this.$=h[f];break;case 63:b.addRel("rel_d",...h[f]),this.$=h[f];break;case 64:b.addRel("rel_l",...h[f]),this.$=h[f];break;case 65:b.addRel("rel_r",...h[f]),this.$=h[f];break;case 66:b.addRel("rel_b",...h[f]),this.$=h[f];break;case 67:h[f].splice(0,1),b.addRel("rel",...h[f]),this.$=h[f];break;case 68:b.updateElStyle("update_el_style",...h[f]),this.$=h[f];break;case 69:b.updateRelStyle("update_rel_style",...h[f]),this.$=h[f];break;case 70:b.updateLayoutConfig("update_layout_config",...h[f]),this.$=h[f];break;case 71:this.$=[h[f]];break;case 72:h[f].unshift(h[f-1]),this.$=h[f];break;case 73:case 75:this.$=h[f].trim();break;case 74:let Et={};Et[h[f-1].trim()]=h[f].trim(),this.$=Et;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:t,23:s,24:o,26:l,28:r,29:49,30:61,32:62,34:a,36:n,37:i,38:u,39:d,40:p,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:r,29:49,30:61,32:62,34:a,36:n,37:i,38:u,39:d,40:p,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:r,29:49,30:61,32:62,34:a,36:n,37:i,38:u,39:d,40:p,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:r,29:49,30:61,32:62,34:a,36:n,37:i,38:u,39:d,40:p,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:r,29:49,30:61,32:62,34:a,36:n,37:i,38:u,39:d,40:p,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{14:[1,74]},e(Ct,[2,13],{43:23,29:49,30:61,32:62,20:75,34:a,36:n,37:i,38:u,39:d,40:p,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),e(Ct,[2,14]),e(Xt,[2,16],{12:[1,76]}),e(Ct,[2,36],{12:[1,77]}),e(Ot,[2,19]),e(Ot,[2,20]),{25:[1,78]},{27:[1,79]},e(Ot,[2,23]),{35:80,75:81,76:A,77:k,79:C,80:w},{35:86,75:81,76:A,77:k,79:C,80:w},{35:87,75:81,76:A,77:k,79:C,80:w},{35:88,75:81,76:A,77:k,79:C,80:w},{35:89,75:81,76:A,77:k,79:C,80:w},{35:90,75:81,76:A,77:k,79:C,80:w},{35:91,75:81,76:A,77:k,79:C,80:w},{35:92,75:81,76:A,77:k,79:C,80:w},{35:93,75:81,76:A,77:k,79:C,80:w},{35:94,75:81,76:A,77:k,79:C,80:w},{35:95,75:81,76:A,77:k,79:C,80:w},{35:96,75:81,76:A,77:k,79:C,80:w},{35:97,75:81,76:A,77:k,79:C,80:w},{35:98,75:81,76:A,77:k,79:C,80:w},{35:99,75:81,76:A,77:k,79:C,80:w},{35:100,75:81,76:A,77:k,79:C,80:w},{35:101,75:81,76:A,77:k,79:C,80:w},{35:102,75:81,76:A,77:k,79:C,80:w},{35:103,75:81,76:A,77:k,79:C,80:w},{35:104,75:81,76:A,77:k,79:C,80:w},e(T,[2,59]),{35:105,75:81,76:A,77:k,79:C,80:w},{35:106,75:81,76:A,77:k,79:C,80:w},{35:107,75:81,76:A,77:k,79:C,80:w},{35:108,75:81,76:A,77:k,79:C,80:w},{35:109,75:81,76:A,77:k,79:C,80:w},{35:110,75:81,76:A,77:k,79:C,80:w},{35:111,75:81,76:A,77:k,79:C,80:w},{35:112,75:81,76:A,77:k,79:C,80:w},{35:113,75:81,76:A,77:k,79:C,80:w},{35:114,75:81,76:A,77:k,79:C,80:w},{35:115,75:81,76:A,77:k,79:C,80:w},{20:116,29:49,30:61,32:62,34:a,36:n,37:i,38:u,39:d,40:p,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:A,77:k,79:C,80:w},{35:120,75:81,76:A,77:k,79:C,80:w},{35:121,75:81,76:A,77:k,79:C,80:w},{35:122,75:81,76:A,77:k,79:C,80:w},{35:123,75:81,76:A,77:k,79:C,80:w},{35:124,75:81,76:A,77:k,79:C,80:w},{35:125,75:81,76:A,77:k,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(Ct,[2,15]),e(Xt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:l,28:r}),e(Ct,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:l,28:r,34:a,36:n,37:i,38:u,39:d,40:p,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),e(Ot,[2,21]),e(Ot,[2,22]),e(T,[2,39]),e(se,[2,71],{75:81,35:132,76:A,77:k,79:C,80:w}),e(Bt,[2,73]),{78:[1,133]},e(Bt,[2,75]),e(Bt,[2,76]),e(T,[2,40]),e(T,[2,41]),e(T,[2,42]),e(T,[2,43]),e(T,[2,44]),e(T,[2,45]),e(T,[2,46]),e(T,[2,47]),e(T,[2,48]),e(T,[2,49]),e(T,[2,50]),e(T,[2,51]),e(T,[2,52]),e(T,[2,53]),e(T,[2,54]),e(T,[2,55]),e(T,[2,56]),e(T,[2,57]),e(T,[2,58]),e(T,[2,60]),e(T,[2,61]),e(T,[2,62]),e(T,[2,63]),e(T,[2,64]),e(T,[2,65]),e(T,[2,66]),e(T,[2,67]),e(T,[2,68]),e(T,[2,69]),e(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(vt,[2,28]),e(vt,[2,29]),e(vt,[2,30]),e(vt,[2,31]),e(vt,[2,32]),e(vt,[2,33]),e(vt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Xt,[2,18]),e(Ct,[2,38]),e(se,[2,72]),e(Bt,[2,74]),e(T,[2,24]),e(T,[2,35]),e(Wt,[2,25]),e(Wt,[2,26],{12:[1,138]}),e(Wt,[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:y(function(x,v){if(v.recoverable)this.trace(x);else{var E=new Error(x);throw E.hash=v,E}},"parseError"),parse:y(function(x){var v=this,E=[0],b=[],R=[null],h=[],Rt=this.table,f="",Et=0,re=0,ke=2,le=1,Ce=h.slice.call(arguments,1),D=Object.create(this.lexer),At={yy:{}};for(var Ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ht)&&(At.yy[Ht]=this.yy[Ht]);D.setInput(x,At.yy),At.yy.lexer=D,At.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var qt=D.yylloc;h.push(qt);var we=D.options&&D.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Te(L){E.length=E.length-2*L,R.length=R.length-L,h.length=h.length-L}y(Te,"popStack");function oe(){var L;return L=b.pop()||D.lex()||le,typeof L!="number"&&(L instanceof Array&&(b=L,L=b.pop()),L=v.symbols_[L]||L),L}y(oe,"lex");for(var I,kt,N,Gt,wt={},Mt,W,ce,Lt;;){if(kt=E[E.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((I===null||typeof I>"u")&&(I=oe()),N=Rt[kt]&&Rt[kt][I]),typeof N>"u"||!N.length||!N[0]){var Kt="";Lt=[];for(Mt in Rt[kt])this.terminals_[Mt]&&Mt>ke&&Lt.push("'"+this.terminals_[Mt]+"'");D.showPosition?Kt="Parse error on line "+(Et+1)+`: +`+D.showPosition()+` +Expecting `+Lt.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Kt="Parse error on line "+(Et+1)+": Unexpected "+(I==le?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Kt,{text:D.match,token:this.terminals_[I]||I,line:D.yylineno,loc:qt,expected:Lt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+I);switch(N[0]){case 1:E.push(I),R.push(D.yytext),h.push(D.yylloc),E.push(N[1]),I=null,re=D.yyleng,f=D.yytext,Et=D.yylineno,qt=D.yylloc;break;case 2:if(W=this.productions_[N[1]][1],wt.$=R[R.length-W],wt._$={first_line:h[h.length-(W||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(W||1)].first_column,last_column:h[h.length-1].last_column},we&&(wt._$.range=[h[h.length-(W||1)].range[0],h[h.length-1].range[1]]),Gt=this.performAction.apply(wt,[f,re,Et,At.yy,N[1],R,h].concat(Ce)),typeof Gt<"u")return Gt;W&&(E=E.slice(0,-1*W*2),R=R.slice(0,-1*W),h=h.slice(0,-1*W)),E.push(this.productions_[N[1]][0]),R.push(wt.$),h.push(wt._$),ce=Rt[E[E.length-2]][E[E.length-1]],E.push(ce);break;case 3:return!0}}return!0},"parse")},Ae=(function(){var _t={EOF:1,parseError:y(function(v,E){if(this.yy.parser)this.yy.parser.parseError(v,E);else throw new Error(v)},"parseError"),setInput:y(function(x,v){return this.yy=v||this.yy||{},this._input=x,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:y(function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var v=x.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),x},"input"),unput:y(function(x){var v=x.length,E=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===b.length?this.yylloc.first_column:0)+b[b.length-E.length].length-E[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},"unput"),more:y(function(){return this._more=!0,this},"more"),reject:y(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:y(function(x){this.unput(this.match.slice(x))},"less"),pastInput:y(function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:y(function(){var x=this.match;return x.length<20&&(x+=this._input.substr(0,20-x.length)),(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:y(function(){var x=this.pastInput(),v=new Array(x.length+1).join("-");return x+this.upcomingInput()+` +`+v+"^"},"showPosition"),test_match:y(function(x,v){var E,b,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),b=x[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+x[0].length},this.yytext+=x[0],this.match+=x[0],this.matches=x,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(x[0].length),this.matched+=x[0],E=this.performAction.call(this,this.yy,this,v,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var h in R)this[h]=R[h];return!1}return!1},"test_match"),next:y(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var x,v,E,b;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),h=0;hv[0].length)){if(v=E,b=h,this.options.backtrack_lexer){if(x=this.test_match(E,R[h]),x!==!1)return x;if(this._backtrack){v=!1;continue}else return!1}else if(!this.options.flex)break}return v?(x=this.test_match(v,R[b]),x!==!1?x:!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:y(function(){var v=this.next();return v||this.lex()},"lex"),begin:y(function(v){this.conditionStack.push(v)},"begin"),popState:y(function(){var v=this.conditionStack.length-1;return v>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:y(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:y(function(v){return v=this.conditionStack.length-1-Math.abs(v||0),v>=0?this.conditionStack[v]:"INITIAL"},"topState"),pushState:y(function(v){this.begin(v)},"pushState"),stateStackSize:y(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:y(function(v,E,b,R){switch(b){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return _t})();Qt.lexer=Ae;function It(){this.yy={}}return y(It,"Parser"),It.prototype=Qt,Qt.Parser=It,new It})();jt.parser=jt;var Ye=jt,V=[],xt=[""],B="global",F="",X=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Pt=[],ee="",ae=!1,Ut=4,Ft=2,ye,je=y(function(){return ye},"getC4Type"),Ue=y(function(e){ye=pe(e,Dt())},"setC4Type"),Fe=y(function(e,t,s,o,l,r,a,n,i){if(e==null||t===void 0||t===null||s===void 0||s===null||o===void 0||o===null)return;let u={};const d=Pt.find(p=>p.from===t&&p.to===s);if(d?u=d:Pt.push(u),u.type=e,u.from=t,u.to=s,u.label={text:o},l==null)u.techn={text:""};else if(typeof l=="object"){let[p,g]=Object.entries(l)[0];u[p]={text:g}}else u.techn={text:l};if(r==null)u.descr={text:""};else if(typeof r=="object"){let[p,g]=Object.entries(r)[0];u[p]={text:g}}else u.descr={text:r};if(typeof a=="object"){let[p,g]=Object.entries(a)[0];u[p]=g}else u.sprite=a;if(typeof n=="object"){let[p,g]=Object.entries(n)[0];u[p]=g}else u.tags=n;if(typeof i=="object"){let[p,g]=Object.entries(i)[0];u[p]=g}else u.link=i;u.wrap=mt()},"addRel"),Ve=y(function(e,t,s,o,l,r,a){if(t===null||s===null)return;let n={};const i=V.find(u=>u.alias===t);if(i&&t===i.alias?n=i:(n.alias=t,V.push(n)),s==null?n.label={text:""}:n.label={text:s},o==null)n.descr={text:""};else if(typeof o=="object"){let[u,d]=Object.entries(o)[0];n[u]={text:d}}else n.descr={text:o};if(typeof l=="object"){let[u,d]=Object.entries(l)[0];n[u]=d}else n.sprite=l;if(typeof r=="object"){let[u,d]=Object.entries(r)[0];n[u]=d}else n.tags=r;if(typeof a=="object"){let[u,d]=Object.entries(a)[0];n[u]=d}else n.link=a;n.typeC4Shape={text:e},n.parentBoundary=B,n.wrap=mt()},"addPersonOrSystem"),ze=y(function(e,t,s,o,l,r,a,n){if(t===null||s===null)return;let i={};const u=V.find(d=>d.alias===t);if(u&&t===u.alias?i=u:(i.alias=t,V.push(i)),s==null?i.label={text:""}:i.label={text:s},o==null)i.techn={text:""};else if(typeof o=="object"){let[d,p]=Object.entries(o)[0];i[d]={text:p}}else i.techn={text:o};if(l==null)i.descr={text:""};else if(typeof l=="object"){let[d,p]=Object.entries(l)[0];i[d]={text:p}}else i.descr={text:l};if(typeof r=="object"){let[d,p]=Object.entries(r)[0];i[d]=p}else i.sprite=r;if(typeof a=="object"){let[d,p]=Object.entries(a)[0];i[d]=p}else i.tags=a;if(typeof n=="object"){let[d,p]=Object.entries(n)[0];i[d]=p}else i.link=n;i.wrap=mt(),i.typeC4Shape={text:e},i.parentBoundary=B},"addContainer"),Xe=y(function(e,t,s,o,l,r,a,n){if(t===null||s===null)return;let i={};const u=V.find(d=>d.alias===t);if(u&&t===u.alias?i=u:(i.alias=t,V.push(i)),s==null?i.label={text:""}:i.label={text:s},o==null)i.techn={text:""};else if(typeof o=="object"){let[d,p]=Object.entries(o)[0];i[d]={text:p}}else i.techn={text:o};if(l==null)i.descr={text:""};else if(typeof l=="object"){let[d,p]=Object.entries(l)[0];i[d]={text:p}}else i.descr={text:l};if(typeof r=="object"){let[d,p]=Object.entries(r)[0];i[d]=p}else i.sprite=r;if(typeof a=="object"){let[d,p]=Object.entries(a)[0];i[d]=p}else i.tags=a;if(typeof n=="object"){let[d,p]=Object.entries(n)[0];i[d]=p}else i.link=n;i.wrap=mt(),i.typeC4Shape={text:e},i.parentBoundary=B},"addComponent"),We=y(function(e,t,s,o,l){if(e===null||t===null)return;let r={};const a=X.find(n=>n.alias===e);if(a&&e===a.alias?r=a:(r.alias=e,X.push(r)),t==null?r.label={text:""}:r.label={text:t},s==null)r.type={text:"system"};else if(typeof s=="object"){let[n,i]=Object.entries(s)[0];r[n]={text:i}}else r.type={text:s};if(typeof o=="object"){let[n,i]=Object.entries(o)[0];r[n]=i}else r.tags=o;if(typeof l=="object"){let[n,i]=Object.entries(l)[0];r[n]=i}else r.link=l;r.parentBoundary=B,r.wrap=mt(),F=B,B=e,xt.push(F)},"addPersonOrSystemBoundary"),Qe=y(function(e,t,s,o,l){if(e===null||t===null)return;let r={};const a=X.find(n=>n.alias===e);if(a&&e===a.alias?r=a:(r.alias=e,X.push(r)),t==null?r.label={text:""}:r.label={text:t},s==null)r.type={text:"container"};else if(typeof s=="object"){let[n,i]=Object.entries(s)[0];r[n]={text:i}}else r.type={text:s};if(typeof o=="object"){let[n,i]=Object.entries(o)[0];r[n]=i}else r.tags=o;if(typeof l=="object"){let[n,i]=Object.entries(l)[0];r[n]=i}else r.link=l;r.parentBoundary=B,r.wrap=mt(),F=B,B=e,xt.push(F)},"addContainerBoundary"),He=y(function(e,t,s,o,l,r,a,n){if(t===null||s===null)return;let i={};const u=X.find(d=>d.alias===t);if(u&&t===u.alias?i=u:(i.alias=t,X.push(i)),s==null?i.label={text:""}:i.label={text:s},o==null)i.type={text:"node"};else if(typeof o=="object"){let[d,p]=Object.entries(o)[0];i[d]={text:p}}else i.type={text:o};if(l==null)i.descr={text:""};else if(typeof l=="object"){let[d,p]=Object.entries(l)[0];i[d]={text:p}}else i.descr={text:l};if(typeof a=="object"){let[d,p]=Object.entries(a)[0];i[d]=p}else i.tags=a;if(typeof n=="object"){let[d,p]=Object.entries(n)[0];i[d]=p}else i.link=n;i.nodeType=e,i.parentBoundary=B,i.wrap=mt(),F=B,B=t,xt.push(F)},"addDeploymentNode"),qe=y(function(){B=F,xt.pop(),F=xt.pop(),xt.push(F)},"popBoundaryParseStack"),Ge=y(function(e,t,s,o,l,r,a,n,i,u,d){let p=V.find(g=>g.alias===t);if(!(p===void 0&&(p=X.find(g=>g.alias===t),p===void 0))){if(s!=null)if(typeof s=="object"){let[g,m]=Object.entries(s)[0];p[g]=m}else p.bgColor=s;if(o!=null)if(typeof o=="object"){let[g,m]=Object.entries(o)[0];p[g]=m}else p.fontColor=o;if(l!=null)if(typeof l=="object"){let[g,m]=Object.entries(l)[0];p[g]=m}else p.borderColor=l;if(r!=null)if(typeof r=="object"){let[g,m]=Object.entries(r)[0];p[g]=m}else p.shadowing=r;if(a!=null)if(typeof a=="object"){let[g,m]=Object.entries(a)[0];p[g]=m}else p.shape=a;if(n!=null)if(typeof n=="object"){let[g,m]=Object.entries(n)[0];p[g]=m}else p.sprite=n;if(i!=null)if(typeof i=="object"){let[g,m]=Object.entries(i)[0];p[g]=m}else p.techn=i;if(u!=null)if(typeof u=="object"){let[g,m]=Object.entries(u)[0];p[g]=m}else p.legendText=u;if(d!=null)if(typeof d=="object"){let[g,m]=Object.entries(d)[0];p[g]=m}else p.legendSprite=d}},"updateElStyle"),Ke=y(function(e,t,s,o,l,r,a){const n=Pt.find(i=>i.from===t&&i.to===s);if(n!==void 0){if(o!=null)if(typeof o=="object"){let[i,u]=Object.entries(o)[0];n[i]=u}else n.textColor=o;if(l!=null)if(typeof l=="object"){let[i,u]=Object.entries(l)[0];n[i]=u}else n.lineColor=l;if(r!=null)if(typeof r=="object"){let[i,u]=Object.entries(r)[0];n[i]=parseInt(u)}else n.offsetX=parseInt(r);if(a!=null)if(typeof a=="object"){let[i,u]=Object.entries(a)[0];n[i]=parseInt(u)}else n.offsetY=parseInt(a)}},"updateRelStyle"),Je=y(function(e,t,s){let o=Ut,l=Ft;if(typeof t=="object"){const r=Object.values(t)[0];o=parseInt(r)}else o=parseInt(t);if(typeof s=="object"){const r=Object.values(s)[0];l=parseInt(r)}else l=parseInt(s);o>=1&&(Ut=o),l>=1&&(Ft=l)},"updateLayoutConfig"),Ze=y(function(){return Ut},"getC4ShapeInRow"),$e=y(function(){return Ft},"getC4BoundaryInRow"),t0=y(function(){return B},"getCurrentBoundaryParse"),e0=y(function(){return F},"getParentBoundaryParse"),ge=y(function(e){return e==null?V:V.filter(t=>t.parentBoundary===e)},"getC4ShapeArray"),a0=y(function(e){return V.find(t=>t.alias===e)},"getC4Shape"),i0=y(function(e){return Object.keys(ge(e))},"getC4ShapeKeys"),be=y(function(e){return e==null?X:X.filter(t=>t.parentBoundary===e)},"getBoundaries"),n0=be,s0=y(function(){return Pt},"getRels"),r0=y(function(){return ee},"getTitle"),l0=y(function(e){ae=e},"setWrap"),mt=y(function(){return ae},"autoWrap"),o0=y(function(){V=[],X=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],F="",B="global",xt=[""],Pt=[],xt=[""],ee="",ae=!1,Ut=4,Ft=2},"clear"),c0={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},h0={FILLED:0,OPEN:1},u0={LEFTOF:0,RIGHTOF:1,OVER:2},d0=y(function(e){ee=pe(e,Dt())},"setTitle"),Zt={addPersonOrSystem:Ve,addPersonOrSystemBoundary:We,addContainer:ze,addContainerBoundary:Qe,addComponent:Xe,addDeploymentNode:He,popBoundaryParseStack:qe,addRel:Fe,updateElStyle:Ge,updateRelStyle:Ke,updateLayoutConfig:Je,autoWrap:mt,setWrap:l0,getC4ShapeArray:ge,getC4Shape:a0,getC4ShapeKeys:i0,getBoundaries:be,getBoundarys:n0,getCurrentBoundaryParse:t0,getParentBoundaryParse:e0,getRels:s0,getTitle:r0,getC4Type:je,getC4ShapeInRow:Ze,getC4BoundaryInRow:$e,setAccTitle:Be,getAccTitle:Pe,getAccDescription:De,setAccDescription:Se,getConfig:y(()=>Dt().c4,"getConfig"),clear:o0,LINETYPE:c0,ARROWTYPE:h0,PLACEMENT:u0,setTitle:d0,setC4Type:Ue},ie=y(function(e,t){return Re(e,t)},"drawRect"),_e=y(function(e,t,s,o,l,r){const a=e.append("image");a.attr("width",t),a.attr("height",s),a.attr("x",o),a.attr("y",l);let n=r.startsWith("data:image/png;base64")?r:Le.sanitizeUrl(r);a.attr("xlink:href",n)},"drawImage"),f0=y((e,t,s,o)=>{const l=e.append("g");let r=0;for(let a of t){let n=a.textColor?a.textColor:"#444444",i=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,d=a.offsetY?parseInt(a.offsetY):0,p="";if(r===0){let m=l.append("line");m.attr("x1",a.startPoint.x),m.attr("y1",a.startPoint.y),m.attr("x2",a.endPoint.x),m.attr("y2",a.endPoint.y),m.attr("stroke-width","1"),m.attr("stroke",i),m.style("fill","none"),a.type!=="rel_b"&&m.attr("marker-end","url("+p+"#"+o+"-arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&m.attr("marker-start","url("+p+"#"+o+"-arrowend)"),r=-1}else{let m=l.append("path");m.attr("fill","none").attr("stroke-width","1").attr("stroke",i).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"&&m.attr("marker-end","url("+p+"#"+o+"-arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&m.attr("marker-start","url("+p+"#"+o+"-arrowend)")}let g=s.messageFont();Q(s)(a.label.text,l,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+d,a.label.width,a.label.height,{fill:n},g),a.techn&&a.techn.text!==""&&(g=s.messageFont(),Q(s)("["+a.techn.text+"]",l,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+s.messageFontSize+5+d,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:n,"font-style":"italic"},g))}},"drawRels"),p0=y(function(e,t,s){const o=e.append("g");let l=t.bgColor?t.bgColor:"none",r=t.borderColor?t.borderColor:"#444444",a=t.fontColor?t.fontColor:"black",n={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};t.nodeType&&(n={"stroke-width":1});let i={x:t.x,y:t.y,fill:l,stroke:r,width:t.width,height:t.height,rx:2.5,ry:2.5,attrs:n};ie(o,i);let u=s.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=a,Q(s)(t.label.text,o,t.x,t.y+t.label.Y,t.width,t.height,{fill:"#444444"},u),t.type&&t.type.text!==""&&(u=s.boundaryFont(),u.fontColor=a,Q(s)(t.type.text,o,t.x,t.y+t.type.Y,t.width,t.height,{fill:"#444444"},u)),t.descr&&t.descr.text!==""&&(u=s.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=a,Q(s)(t.descr.text,o,t.x,t.y+t.descr.Y,t.width,t.height,{fill:"#444444"},u))},"drawBoundary"),y0=y(function(e,t,s){let o=t.bgColor?t.bgColor:s[t.typeC4Shape.text+"_bg_color"],l=t.borderColor?t.borderColor:s[t.typeC4Shape.text+"_border_color"],r=t.fontColor?t.fontColor:"#FFFFFF",a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(t.typeC4Shape.text){case"person":a="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":a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const n=e.append("g");n.attr("class","person-man");const i=Oe();switch(t.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":i.x=t.x,i.y=t.y,i.fill=o,i.width=t.width,i.height=t.height,i.stroke=l,i.rx=2.5,i.ry=2.5,i.attrs={"stroke-width":.5},ie(n,i);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":n.append("path").attr("fill",o).attr("stroke-width","0.5").attr("stroke",l).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2).replaceAll("height",t.height)),n.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",l).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":n.append("path").attr("fill",o).attr("stroke-width","0.5").attr("stroke",l).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("width",t.width).replaceAll("half",t.height/2)),n.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",l).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",t.x+t.width).replaceAll("starty",t.y).replaceAll("half",t.height/2));break}let u=A0(s,t.typeC4Shape.text);switch(n.append("text").attr("fill",r).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",t.typeC4Shape.width).attr("x",t.x+t.width/2-t.typeC4Shape.width/2).attr("y",t.y+t.typeC4Shape.Y).text("<<"+t.typeC4Shape.text+">>"),t.typeC4Shape.text){case"person":case"external_person":_e(n,48,48,t.x+t.width/2-24,t.y+t.image.Y,a);break}let d=s[t.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=r,Q(s)(t.label.text,n,t.x,t.y+t.label.Y,t.width,t.height,{fill:r},d),d=s[t.typeC4Shape.text+"Font"](),d.fontColor=r,t.techn&&t.techn?.text!==""?Q(s)(t.techn.text,n,t.x,t.y+t.techn.Y,t.width,t.height,{fill:r,"font-style":"italic"},d):t.type&&t.type.text!==""&&Q(s)(t.type.text,n,t.x,t.y+t.type.Y,t.width,t.height,{fill:r,"font-style":"italic"},d),t.descr&&t.descr.text!==""&&(d=s.personFont(),d.fontColor=r,Q(s)(t.descr.text,n,t.x,t.y+t.descr.Y,t.width,t.height,{fill:r},d)),t.height},"drawC4Shape"),g0=y(function(e,t){e.append("defs").append("symbol").attr("id",t+"-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"),b0=y(function(e,t){e.append("defs").append("symbol").attr("id",t+"-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"),_0=y(function(e,t){e.append("defs").append("symbol").attr("id",t+"-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"),x0=y(function(e,t){e.append("defs").append("marker").attr("id",t+"-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"),m0=y(function(e,t){e.append("defs").append("marker").attr("id",t+"-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"),v0=y(function(e,t){e.append("defs").append("marker").attr("id",t+"-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"),E0=y(function(e,t){const o=e.append("defs").append("marker").attr("id",t+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);o.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"),o.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"),A0=y((e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),"getC4ShapeFont"),Q=(function(){function e(l,r,a,n,i,u,d){const p=r.append("text").attr("x",a+i/2).attr("y",n+u/2+5).style("text-anchor","middle").text(l);o(p,d)}y(e,"byText");function t(l,r,a,n,i,u,d,p){const{fontSize:g,fontFamily:m,fontWeight:O}=p,S=l.split(Jt.lineBreakRegex);for(let P=0;P=this.data.widthLimit||s>=this.data.widthLimit||this.nextData.cnt>xe)&&(t=this.nextData.startx+e.margin+_.nextLinePaddingX,o=this.nextData.stopy+e.margin*2,this.nextData.stopx=s=t+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=l=o+e.height,this.nextData.cnt=1),e.x=t,e.y=o,this.updateVal(this.data,"startx",t,Math.min),this.updateVal(this.data,"starty",o,Math.min),this.updateVal(this.data,"stopx",s,Math.max),this.updateVal(this.data,"stopy",l,Math.max),this.updateVal(this.nextData,"startx",t,Math.min),this.updateVal(this.nextData,"starty",o,Math.min),this.updateVal(this.nextData,"stopx",s,Math.max),this.updateVal(this.nextData,"stopy",l,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},te(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},te=y(function(e){Me(_,e),e.fontFamily&&(_.personFontFamily=_.systemFontFamily=_.messageFontFamily=e.fontFamily),e.fontSize&&(_.personFontSize=_.systemFontSize=_.messageFontSize=e.fontSize),e.fontWeight&&(_.personFontWeight=_.systemFontWeight=_.messageFontWeight=e.fontWeight)},"setConf"),St=y((e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),"c4ShapeFont"),Yt=y(e=>({fontFamily:e.boundaryFontFamily,fontSize:e.boundaryFontSize,fontWeight:e.boundaryFontWeight}),"boundaryFont"),k0=y(e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight}),"messageFont");function j(e,t,s,o,l){if(!t[e].width)if(s)t[e].text=Ne(t[e].text,l,o),t[e].textLines=t[e].text.split(Jt.lineBreakRegex).length,t[e].width=l,t[e].height=ue(t[e].text,o);else{let r=t[e].text.split(Jt.lineBreakRegex);t[e].textLines=r.length;let a=0;t[e].height=0,t[e].width=0;for(const n of r)t[e].width=Math.max(Tt(n,o),t[e].width),a=ue(n,o),t[e].height=t[e].height+a}}y(j,"calcC4ShapeTextWH");var ve=y(function(e,t,s){t.x=s.data.startx,t.y=s.data.starty,t.width=s.data.stopx-s.data.startx,t.height=s.data.stopy-s.data.starty,t.label.y=_.c4ShapeMargin-35;let o=t.wrap&&_.wrap,l=Yt(_);l.fontSize=l.fontSize+2,l.fontWeight="bold";let r=Tt(t.label.text,l);j("label",t,o,l,r),z.drawBoundary(e,t,_)},"drawBoundary"),Ee=y(function(e,t,s,o){let l=0;for(const r of o){l=0;const a=s[r];let n=St(_,a.typeC4Shape.text);switch(n.fontSize=n.fontSize-2,a.typeC4Shape.width=Tt("«"+a.typeC4Shape.text+"»",n),a.typeC4Shape.height=n.fontSize+2,a.typeC4Shape.Y=_.c4ShapePadding,l=a.typeC4Shape.Y+a.typeC4Shape.height-4,a.image={width:0,height:0,Y:0},a.typeC4Shape.text){case"person":case"external_person":a.image.width=48,a.image.height=48,a.image.Y=l,l=a.image.Y+a.image.height;break}a.sprite&&(a.image.width=48,a.image.height=48,a.image.Y=l,l=a.image.Y+a.image.height);let i=a.wrap&&_.wrap,u=_.width-_.c4ShapePadding*2,d=St(_,a.typeC4Shape.text);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",j("label",a,i,d,u),a.label.Y=l+8,l=a.label.Y+a.label.height,a.type&&a.type.text!==""){a.type.text="["+a.type.text+"]";let m=St(_,a.typeC4Shape.text);j("type",a,i,m,u),a.type.Y=l+5,l=a.type.Y+a.type.height}else if(a.techn&&a.techn.text!==""){a.techn.text="["+a.techn.text+"]";let m=St(_,a.techn.text);j("techn",a,i,m,u),a.techn.Y=l+5,l=a.techn.Y+a.techn.height}let p=l,g=a.label.width;if(a.descr&&a.descr.text!==""){let m=St(_,a.typeC4Shape.text);j("descr",a,i,m,u),a.descr.Y=l+20,l=a.descr.Y+a.descr.height,g=Math.max(a.label.width,a.descr.width),p=l-a.descr.textLines*5}g=g+_.c4ShapePadding,a.width=Math.max(a.width||_.width,g,_.width),a.height=Math.max(a.height||_.height,p,_.height),a.margin=a.margin||_.c4ShapeMargin,e.insert(a),z.drawC4Shape(t,a,_)}e.bumpLastMargin(_.c4ShapeMargin)},"drawC4ShapeArray"),Y=class{static{y(this,"Point")}constructor(e,t){this.x=e,this.y=t}},de=y(function(e,t){let s=e.x,o=e.y,l=t.x,r=t.y,a=s+e.width/2,n=o+e.height/2,i=Math.abs(s-l),u=Math.abs(o-r),d=u/i,p=e.height/e.width,g=null;return o==r&&sl?g=new Y(s,n):s==l&&or&&(g=new Y(a,o)),s>l&&o=d?g=new Y(s,n+d*e.width/2):g=new Y(a-i/u*e.height/2,o+e.height):s=d?g=new Y(s+e.width,n+d*e.width/2):g=new Y(a+i/u*e.height/2,o+e.height):sr?p>=d?g=new Y(s+e.width,n-d*e.width/2):g=new Y(a+e.height/2*i/u,o):s>l&&o>r&&(p>=d?g=new Y(s,n-e.width/2*d):g=new Y(a-e.height/2*i/u,o)),g},"getIntersectPoint"),C0=y(function(e,t){let s={x:0,y:0};s.x=t.x+t.width/2,s.y=t.y+t.height/2;let o=de(e,s);s.x=e.x+e.width/2,s.y=e.y+e.height/2;let l=de(t,s);return{startPoint:o,endPoint:l}},"getIntersectPoints"),w0=y(function(e,t,s,o,l){let r=0;for(let a of t){r=r+1;let n=a.wrap&&_.wrap,i=k0(_);o.db.getC4Type()==="C4Dynamic"&&(a.label.text=r+": "+a.label.text);let d=Tt(a.label.text,i);j("label",a,n,i,d),a.techn&&a.techn.text!==""&&(d=Tt(a.techn.text,i),j("techn",a,n,i,d)),a.descr&&a.descr.text!==""&&(d=Tt(a.descr.text,i),j("descr",a,n,i,d));let p=s(a.from),g=s(a.to),m=C0(p,g);a.startPoint=m.startPoint,a.endPoint=m.endPoint}z.drawRels(e,t,_,l)},"drawRels");function ne(e,t,s,o,l){let r=new me(l);r.data.widthLimit=s.data.widthLimit/Math.min($t,o.length);for(let[a,n]of o.entries()){let i=0;n.image={width:0,height:0,Y:0},n.sprite&&(n.image.width=48,n.image.height=48,n.image.Y=i,i=n.image.Y+n.image.height);let u=n.wrap&&_.wrap,d=Yt(_);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",j("label",n,u,d,r.data.widthLimit),n.label.Y=i+8,i=n.label.Y+n.label.height,n.type&&n.type.text!==""){n.type.text="["+n.type.text+"]";let O=Yt(_);j("type",n,u,O,r.data.widthLimit),n.type.Y=i+5,i=n.type.Y+n.type.height}if(n.descr&&n.descr.text!==""){let O=Yt(_);O.fontSize=O.fontSize-2,j("descr",n,u,O,r.data.widthLimit),n.descr.Y=i+20,i=n.descr.Y+n.descr.height}if(a==0||a%$t===0){let O=s.data.startx+_.diagramMarginX,S=s.data.stopy+_.diagramMarginY+i;r.setData(O,O,S,S)}else{let O=r.data.stopx!==r.data.startx?r.data.stopx+_.diagramMarginX:r.data.startx,S=r.data.starty;r.setData(O,O,S,S)}r.name=n.alias;let p=l.db.getC4ShapeArray(n.alias),g=l.db.getC4ShapeKeys(n.alias);g.length>0&&Ee(r,e,p,g),t=n.alias;let m=l.db.getBoundaries(t);m.length>0&&ne(e,t,r,m,l),n.alias!=="global"&&ve(e,n,r),s.data.stopy=Math.max(r.data.stopy+_.c4ShapeMargin,s.data.stopy),s.data.stopx=Math.max(r.data.stopx+_.c4ShapeMargin,s.data.stopx),Vt=Math.max(Vt,s.data.stopx),zt=Math.max(zt,s.data.stopy)}}y(ne,"drawInsideBoundary");var T0=y(function(e,t,s,o){_=Dt().c4;const l=Dt().securityLevel;let r;l==="sandbox"&&(r=Nt("#i"+t));const a=l==="sandbox"?Nt(r.nodes()[0].contentDocument.body):Nt("body");let n=o.db;o.db.setWrap(_.wrap),xe=n.getC4ShapeInRow(),$t=n.getC4BoundaryInRow(),he.debug(`C:${JSON.stringify(_,null,2)}`);const i=l==="sandbox"?a.select(`[id="${t}"]`):Nt(`[id="${t}"]`);z.insertComputerIcon(i,t),z.insertDatabaseIcon(i,t),z.insertClockIcon(i,t);let u=new me(o);u.setData(_.diagramMarginX,_.diagramMarginX,_.diagramMarginY,_.diagramMarginY),u.data.widthLimit=screen.availWidth,Vt=_.diagramMarginX,zt=_.diagramMarginY;const d=o.db.getTitle();let p=o.db.getBoundaries("");ne(i,"",u,p,o),z.insertArrowHead(i,t),z.insertArrowEnd(i,t),z.insertArrowCrossHead(i,t),z.insertArrowFilledHead(i,t),w0(i,o.db.getRels(),o.db.getC4Shape,o,t),u.data.stopx=Vt,u.data.stopy=zt;const g=u.data;let O=g.stopy-g.starty+2*_.diagramMarginY;const P=g.stopx-g.startx+2*_.diagramMarginX;d&&i.append("text").text(d).attr("x",(g.stopx-g.startx)/2-4*_.diagramMarginX).attr("y",g.starty+_.diagramMarginY),Ie(i,O,P,_.useMaxWidth);const M=d?60:0;i.attr("viewBox",g.startx-_.diagramMarginX+" -"+(_.diagramMarginY+M)+" "+P+" "+(O+M)),he.debug("models:",g)},"draw"),fe={drawPersonOrSystemArray:Ee,drawBoundary:ve,setConf:te,draw:T0},O0=y(e=>`.person { + stroke: ${e.personBorder}; + fill: ${e.personBkg}; + } +`,"getStyles"),R0=O0,B0={parser:Ye,db:Zt,renderer:fe,styles:R0,init:y(({c4:e,wrap:t})=>{fe.setConf(e),Zt.setWrap(t)},"init")};export{B0 as diagram}; diff --git a/_astro/channel.DScn-k6R.js b/_astro/channel.DScn-k6R.js new file mode 100644 index 0000000..c58d895 --- /dev/null +++ b/_astro/channel.DScn-k6R.js @@ -0,0 +1 @@ +import{ai as o,aj as n}from"./mermaid.core.Ci_VGkOG.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c}; diff --git a/_astro/chunk-2J33WTMH.HmvIJeR8.js b/_astro/chunk-2J33WTMH.HmvIJeR8.js new file mode 100644 index 0000000..5e9b5c3 --- /dev/null +++ b/_astro/chunk-2J33WTMH.HmvIJeR8.js @@ -0,0 +1 @@ +import{_ as a,e as w,l as x}from"./mermaid.core.Ci_VGkOG.js";var d=a((e,t,i,r)=>{e.attr("class",i);const{width:o,height:h,x:n,y:c}=u(e,t);w(e,h,o,r);const s=l(n,c,o,h,t);e.attr("viewBox",s),x.debug(`viewBox configured: ${s} with padding: ${t}`)},"setupViewPortForSVG"),u=a((e,t)=>{const i=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:i.width+t*2,height:i.height+t*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),l=a((e,t,i,r,o)=>`${e-o} ${t-o} ${i} ${r}`,"createViewBox");export{d as s}; diff --git a/_astro/chunk-4BX2VUAB.Bj_lmsp3.js b/_astro/chunk-4BX2VUAB.Bj_lmsp3.js new file mode 100644 index 0000000..5ba9bed --- /dev/null +++ b/_astro/chunk-4BX2VUAB.Bj_lmsp3.js @@ -0,0 +1 @@ +import{_ as i}from"./mermaid.core.Ci_VGkOG.js";function t(c,e){c.accDescr&&e.setAccDescription?.(c.accDescr),c.accTitle&&e.setAccTitle?.(c.accTitle),c.title&&e.setDiagramTitle?.(c.title)}i(t,"populateCommonDb");export{t as p}; diff --git a/_astro/chunk-55IACEB6.DaHeeVsF.js b/_astro/chunk-55IACEB6.DaHeeVsF.js new file mode 100644 index 0000000..e7b3513 --- /dev/null +++ b/_astro/chunk-55IACEB6.DaHeeVsF.js @@ -0,0 +1 @@ +import{_ as a,d as o}from"./mermaid.core.Ci_VGkOG.js";var d=a((t,e)=>{let n;return e==="sandbox"&&(n=o("#i"+t)),(e==="sandbox"?o(n.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{d as g}; diff --git a/_astro/chunk-727SXJPM.eyChSAdB.js b/_astro/chunk-727SXJPM.eyChSAdB.js new file mode 100644 index 0000000..6c9bdca --- /dev/null +++ b/_astro/chunk-727SXJPM.eyChSAdB.js @@ -0,0 +1,206 @@ +import{g as tt}from"./chunk-FMBD7UC4.B9yPs07s.js";import{c as st}from"./chunk-ND2GUHAM.CiUMUSja.js";import{g as it}from"./chunk-55IACEB6.DaHeeVsF.js";import{s as at}from"./chunk-2J33WTMH.HmvIJeR8.js";import{_ as f,l as Ie,c as F,o as rt,r as nt,u as Oe,d as de,y as ut,b as lt,a as ct,s as ot,g as ht,p as dt,q as pt,k as I,z as At,x as ft,i as gt,Q as G}from"./mermaid.core.Ci_VGkOG.js";var we=(function(){var t=f(function(O,o,h,p){for(h=h||{},p=O.length;p--;h[O[p]]=o);return h},"o"),i=[1,18],a=[1,19],r=[1,20],n=[1,41],c=[1,26],l=[1,42],d=[1,24],m=[1,25],g=[1,32],N=[1,33],Ae=[1,34],b=[1,45],fe=[1,35],ge=[1,36],me=[1,37],Ce=[1,38],be=[1,27],ke=[1,28],Ee=[1,29],Te=[1,30],ye=[1,31],k=[1,44],E=[1,46],T=[1,43],y=[1,47],De=[1,9],A=[1,8,9],Z=[1,58],$=[1,59],ee=[1,60],te=[1,61],se=[1,62],Fe=[1,63],Be=[1,64],_=[1,8,9,41],Pe=[1,77],M=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],ie=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],ae=[13,60,86,100,102,103],U=[13,60,73,74,86,100,102,103],Me=[13,60,68,69,70,71,72,86,100,102,103],re=[1,103],z=[1,121],Y=[1,117],K=[1,113],Q=[1,119],W=[1,114],j=[1,115],X=[1,116],q=[1,118],H=[1,120],Re=[22,50,60,61,82,86,87,88,89,90],Ge=[1,128],ne=[12,39],_e=[1,8,9,39,41,44,46],ue=[1,8,9,22],Ue=[1,153],ze=[1,8,9,61],x=[1,8,9,22,50,60,61,82,86,87,88,89,90],Se={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:f(function(o,h,p,u,C,e,J){var s=e.length-1;switch(C){case 8:this.$=e[s-1];break;case 9:case 10:case 13:case 15:this.$=e[s];break;case 11:case 14:this.$=e[s-2]+"."+e[s];break;case 12:case 16:this.$=e[s-1]+e[s];break;case 17:case 18:this.$=e[s-1]+"~"+e[s]+"~";break;case 19:u.addRelation(e[s]);break;case 20:e[s-1].title=u.cleanupLabel(e[s]),u.addRelation(e[s-1]);break;case 31:this.$=e[s].trim(),u.setAccTitle(this.$);break;case 32:case 33:this.$=e[s].trim(),u.setAccDescription(this.$);break;case 34:u.addClassesToNamespace(e[s-3],e[s-1][0],e[s-1][1]),u.popNamespace();break;case 35:u.addClassesToNamespace(e[s-4],e[s-1][0],e[s-1][1]),u.popNamespace();break;case 36:this.$=u.addNamespace(e[s]);break;case 37:this.$=u.addNamespace(e[s-1],e[s]);break;case 38:this.$=[[e[s]],[]];break;case 39:this.$=[[e[s-1]],[]];break;case 40:e[s][0].unshift(e[s-2]),this.$=e[s];break;case 41:this.$=[[],[e[s]]];break;case 42:this.$=[[],[e[s-1]]];break;case 43:e[s][1].unshift(e[s-2]),this.$=e[s];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[s];break;case 48:u.setCssClass(e[s-2],e[s]);break;case 49:u.addMembers(e[s-3],e[s-1]);break;case 51:u.setCssClass(e[s-5],e[s-3]),u.addMembers(e[s-5],e[s-1]);break;case 52:u.addAnnotation(e[s-3],e[s-1]);break;case 53:u.addAnnotation(e[s-6],e[s-4]),u.addMembers(e[s-6],e[s-1]);break;case 54:u.addAnnotation(e[s-5],e[s-3]);break;case 55:this.$=e[s],u.addClass(e[s]);break;case 56:this.$=e[s-1],u.addClass(e[s-1]),u.setClassLabel(e[s-1],e[s]);break;case 60:u.addAnnotation(e[s],e[s-2]);break;case 61:case 74:this.$=[e[s]];break;case 62:e[s].push(e[s-1]),this.$=e[s];break;case 63:break;case 64:u.addMember(e[s-1],u.cleanupLabel(e[s]));break;case 65:break;case 66:break;case 67:this.$={id1:e[s-2],id2:e[s],relation:e[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[s-3],id2:e[s],relation:e[s-1],relationTitle1:e[s-2],relationTitle2:"none"};break;case 69:this.$={id1:e[s-3],id2:e[s],relation:e[s-2],relationTitle1:"none",relationTitle2:e[s-1]};break;case 70:this.$={id1:e[s-4],id2:e[s],relation:e[s-2],relationTitle1:e[s-3],relationTitle2:e[s-1]};break;case 71:this.$=u.addNote(e[s],e[s-1]);break;case 72:this.$=u.addNote(e[s]);break;case 73:this.$=e[s-2],u.defineClass(e[s-1],e[s]);break;case 75:this.$=e[s-2].concat([e[s]]);break;case 76:u.setDirection("TB");break;case 77:u.setDirection("BT");break;case 78:u.setDirection("RL");break;case 79:u.setDirection("LR");break;case 80:this.$={type1:e[s-2],type2:e[s],lineType:e[s-1]};break;case 81:this.$={type1:"none",type2:e[s],lineType:e[s-1]};break;case 82:this.$={type1:e[s-1],type2:"none",lineType:e[s]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[s]};break;case 84:this.$=u.relationType.AGGREGATION;break;case 85:this.$=u.relationType.EXTENSION;break;case 86:this.$=u.relationType.COMPOSITION;break;case 87:this.$=u.relationType.DEPENDENCY;break;case 88:this.$=u.relationType.LOLLIPOP;break;case 89:this.$=u.lineType.LINE;break;case 90:this.$=u.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[s-2],u.setClickEvent(e[s-1],e[s]);break;case 92:case 98:this.$=e[s-3],u.setClickEvent(e[s-2],e[s-1]),u.setTooltip(e[s-2],e[s]);break;case 93:this.$=e[s-2],u.setLink(e[s-1],e[s]);break;case 94:this.$=e[s-3],u.setLink(e[s-2],e[s-1],e[s]);break;case 95:this.$=e[s-3],u.setLink(e[s-2],e[s-1]),u.setTooltip(e[s-2],e[s]);break;case 96:this.$=e[s-4],u.setLink(e[s-3],e[s-2],e[s]),u.setTooltip(e[s-3],e[s-1]);break;case 99:this.$=e[s-3],u.setClickEvent(e[s-2],e[s-1],e[s]);break;case 100:this.$=e[s-4],u.setClickEvent(e[s-3],e[s-2],e[s-1]),u.setTooltip(e[s-3],e[s]);break;case 101:this.$=e[s-3],u.setLink(e[s-2],e[s]);break;case 102:this.$=e[s-4],u.setLink(e[s-3],e[s-1],e[s]);break;case 103:this.$=e[s-4],u.setLink(e[s-3],e[s-1]),u.setTooltip(e[s-3],e[s]);break;case 104:this.$=e[s-5],u.setLink(e[s-4],e[s-2],e[s]),u.setTooltip(e[s-4],e[s-1]);break;case 105:this.$=e[s-2],u.setCssStyle(e[s-1],e[s]);break;case 106:u.setCssClass(e[s-1],e[s]);break;case 107:this.$=[e[s]];break;case 108:e[s-2].push(e[s]),this.$=e[s-2];break;case 110:this.$=e[s-1]+e[s];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:i,35:a,37:r,38:22,42:n,43:23,46:c,48:l,51:d,52:m,54:g,56:N,57:Ae,60:b,62:fe,63:ge,64:me,65:Ce,75:be,76:ke,78:Ee,82:Te,83:ye,86:k,100:E,102:T,103:y},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(De,[2,5],{8:[1,48]}),{8:[1,49]},t(A,[2,19],{22:[1,50]}),t(A,[2,21]),t(A,[2,22]),t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),t(A,[2,26]),t(A,[2,27]),t(A,[2,28]),t(A,[2,29]),t(A,[2,30]),{34:[1,51]},{36:[1,52]},t(A,[2,33]),t(A,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:Z,69:$,70:ee,71:te,72:se,73:Fe,74:Be}),{39:[1,65]},t(_,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),t(A,[2,65]),t(A,[2,66]),{16:69,60:b,86:k,100:E,102:T},{16:39,17:40,19:70,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:71,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:72,60:b,86:k,100:E,102:T,103:y},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:k,100:E,102:T,103:y},{13:Pe,55:76},{58:78,60:[1,79]},t(A,[2,76]),t(A,[2,77]),t(A,[2,78]),t(A,[2,79]),t(M,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:k,100:E,102:T,103:y}),t(M,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:87,60:b,86:k,100:E,102:T,103:y},t(ie,[2,133]),t(ie,[2,134]),t(ie,[2,135]),t(ie,[2,136]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),t(De,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:a,37:r,42:n,46:c,48:l,51:d,52:m,54:g,56:N,57:Ae,60:b,62:fe,63:ge,64:me,65:Ce,75:be,76:ke,78:Ee,82:Te,83:ye,86:k,100:E,102:T,103:y}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:c,48:l,51:d,52:m,54:g,56:N,57:Ae,60:b,62:fe,63:ge,64:me,65:Ce,75:be,76:ke,78:Ee,82:Te,83:ye,86:k,100:E,102:T,103:y},t(A,[2,20]),t(A,[2,31]),t(A,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:k,100:E,102:T,103:y},{53:92,66:56,67:57,68:Z,69:$,70:ee,71:te,72:se,73:Fe,74:Be},t(A,[2,64]),{67:93,73:Fe,74:Be},t(ae,[2,83],{66:94,68:Z,69:$,70:ee,71:te,72:se}),t(U,[2,84]),t(U,[2,85]),t(U,[2,86]),t(U,[2,87]),t(U,[2,88]),t(Me,[2,89]),t(Me,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:l,54:g,56:N},{16:100,60:b,86:k,100:E,102:T},{41:[1,102],45:101,51:re},{16:104,60:b,86:k,100:E,102:T},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:z,50:Y,59:110,60:K,82:Q,84:111,85:112,86:W,87:j,88:X,89:q,90:H},{60:[1,122]},{13:Pe,55:123},t(_,[2,72]),t(_,[2,138]),{22:z,50:Y,59:124,60:K,61:[1,125],82:Q,84:111,85:112,86:W,87:j,88:X,89:q,90:H},t(Re,[2,74]),{16:39,17:40,19:126,60:b,86:k,100:E,102:T,103:y},t(M,[2,16]),t(M,[2,17]),t(M,[2,18]),{11:127,12:Ge,39:[2,36]},t(ne,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:k,100:E,102:T,103:y}),t(ne,[2,10]),t(_e,[2,55],{11:131,12:Ge}),t(De,[2,7]),{9:[1,132]},t(ue,[2,67]),{16:39,17:40,19:133,60:b,86:k,100:E,102:T,103:y},{13:[1,135],16:39,17:40,19:134,60:b,86:k,100:E,102:T,103:y},t(ae,[2,82],{66:136,68:Z,69:$,70:ee,71:te,72:se}),t(ae,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:l,54:g,56:N},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},t(_,[2,48],{39:[1,142]}),{41:[1,143]},t(_,[2,50]),{41:[2,61],45:144,51:re},{47:[1,145]},{16:39,17:40,19:146,60:b,86:k,100:E,102:T,103:y},t(A,[2,91],{13:[1,147]}),t(A,[2,93],{13:[1,149],77:[1,148]}),t(A,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},t(A,[2,105],{61:Ue}),t(ze,[2,107],{85:154,22:z,50:Y,60:K,82:Q,86:W,87:j,88:X,89:q,90:H}),t(x,[2,109]),t(x,[2,111]),t(x,[2,112]),t(x,[2,113]),t(x,[2,114]),t(x,[2,115]),t(x,[2,116]),t(x,[2,117]),t(x,[2,118]),t(x,[2,119]),t(A,[2,106]),t(_,[2,71]),t(A,[2,73],{61:Ue}),{60:[1,155]},t(M,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:k,100:E,102:T,103:y},t(ne,[2,12]),t(_e,[2,56]),{1:[2,4]},t(ue,[2,69]),t(ue,[2,68]),{16:39,17:40,19:158,60:b,86:k,100:E,102:T,103:y},t(ae,[2,80]),t(_,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:l,54:g,56:N},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:l,54:g,56:N},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:l,54:g,56:N},{45:163,51:re},t(_,[2,49]),{41:[2,62]},t(_,[2,52],{39:[1,164]}),t(A,[2,60]),t(A,[2,92]),t(A,[2,94]),t(A,[2,95],{77:[1,165]}),t(A,[2,98]),t(A,[2,99],{13:[1,166]}),t(A,[2,101],{13:[1,168],77:[1,167]}),{22:z,50:Y,60:K,82:Q,84:169,85:112,86:W,87:j,88:X,89:q,90:H},t(x,[2,110]),t(Re,[2,75]),{14:[1,170]},t(ne,[2,11]),t(ue,[2,70]),t(_,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:re},t(A,[2,96]),t(A,[2,100]),t(A,[2,102]),t(A,[2,103],{77:[1,174]}),t(ze,[2,108],{85:154,22:z,50:Y,60:K,82:Q,86:W,87:j,88:X,89:q,90:H}),t(_e,[2,8]),t(_,[2,51]),{41:[1,175]},t(_,[2,54]),t(A,[2,104]),t(_,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:f(function(o,h){if(h.recoverable)this.trace(o);else{var p=new Error(o);throw p.hash=h,p}},"parseError"),parse:f(function(o){var h=this,p=[0],u=[],C=[null],e=[],J=this.table,s="",ce=0,Ye=0,Je=2,Ke=1,Ze=e.slice.call(arguments,1),D=Object.create(this.lexer),w={yy:{}};for(var Ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ne)&&(w.yy[Ne]=this.yy[Ne]);D.setInput(o,w.yy),w.yy.lexer=D,w.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Le=D.yylloc;e.push(Le);var $e=D.options&&D.options.ranges;typeof w.yy.parseError=="function"?this.parseError=w.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(S){p.length=p.length-2*S,C.length=C.length-S,e.length=e.length-S}f(et,"popStack");function Qe(){var S;return S=u.pop()||D.lex()||Ke,typeof S!="number"&&(S instanceof Array&&(u=S,S=u.pop()),S=h.symbols_[S]||S),S}f(Qe,"lex");for(var B,V,L,xe,R={},oe,v,We,he;;){if(V=p[p.length-1],this.defaultActions[V]?L=this.defaultActions[V]:((B===null||typeof B>"u")&&(B=Qe()),L=J[V]&&J[V][B]),typeof L>"u"||!L.length||!L[0]){var ve="";he=[];for(oe in J[V])this.terminals_[oe]&&oe>Je&&he.push("'"+this.terminals_[oe]+"'");D.showPosition?ve="Parse error on line "+(ce+1)+`: +`+D.showPosition()+` +Expecting `+he.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ve="Parse error on line "+(ce+1)+": Unexpected "+(B==Ke?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ve,{text:D.match,token:this.terminals_[B]||B,line:D.yylineno,loc:Le,expected:he})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+V+", token: "+B);switch(L[0]){case 1:p.push(B),C.push(D.yytext),e.push(D.yylloc),p.push(L[1]),B=null,Ye=D.yyleng,s=D.yytext,ce=D.yylineno,Le=D.yylloc;break;case 2:if(v=this.productions_[L[1]][1],R.$=C[C.length-v],R._$={first_line:e[e.length-(v||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(v||1)].first_column,last_column:e[e.length-1].last_column},$e&&(R._$.range=[e[e.length-(v||1)].range[0],e[e.length-1].range[1]]),xe=this.performAction.apply(R,[s,Ye,ce,w.yy,L[1],C,e].concat(Ze)),typeof xe<"u")return xe;v&&(p=p.slice(0,-1*v*2),C=C.slice(0,-1*v),e=e.slice(0,-1*v)),p.push(this.productions_[L[1]][0]),C.push(R.$),e.push(R._$),We=J[p[p.length-2]][p[p.length-1]],p.push(We);break;case 3:return!0}}return!0},"parse")},He=(function(){var O={EOF:1,parseError:f(function(h,p){if(this.yy.parser)this.yy.parser.parseError(h,p);else throw new Error(h)},"parseError"),setInput:f(function(o,h){return this.yy=h||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:f(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var h=o.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),o},"input"),unput:f(function(o){var h=o.length,p=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:p?(p.length===u.length?this.yylloc.first_column:0)+u[u.length-p.length].length-p[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:f(function(){return this._more=!0,this},"more"),reject:f(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:f(function(o){this.unput(this.match.slice(o))},"less"),pastInput:f(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:f(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:f(function(){var o=this.pastInput(),h=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+h+"^"},"showPosition"),test_match:f(function(o,h){var p,u,C;if(this.options.backtrack_lexer&&(C={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(C.yylloc.range=this.yylloc.range.slice(0))),u=o[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],p=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),p)return p;if(this._backtrack){for(var e in C)this[e]=C[e];return!1}return!1},"test_match"),next:f(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,h,p,u;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),e=0;eh[0].length)){if(h=p,u=e,this.options.backtrack_lexer){if(o=this.test_match(p,C[e]),o!==!1)return o;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(o=this.test_match(h,C[u]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:f(function(){var h=this.next();return h||this.lex()},"lex"),begin:f(function(h){this.conditionStack.push(h)},"begin"),popState:f(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:f(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:f(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:f(function(h){this.begin(h)},"pushState"),stateStackSize:f(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:f(function(h,p,u,C){switch(u){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:this.popState(),this.less(0);break;case 34:return this.popState(),41;case 35:return"EOF_IN_STRUCT";case 36:return 8;case 37:break;case 38:return"EDGE_STATE";case 39:return this.begin("class"),48;case 40:return this.popState(),8;case 41:break;case 42:return this.popState(),this.popState(),41;case 43:return this.begin("class-body"),39;case 44:return this.popState(),41;case 45:return"EOF_IN_STRUCT";case 46:return"EDGE_STATE";case 47:return"OPEN_IN_STRUCT";case 48:break;case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 59:this.popState();break;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 62:this.popState();break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 77;case 69:return 69;case 70:return 69;case 71:return 71;case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:return 89;case 86:return 89;case 87:return 90;case 88:return"EQUALS";case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:return 50;case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}};return O})();Se.lexer=He;function le(){this.yy={}}return f(le,"Parser"),le.prototype=Se,Se.Parser=le,new le})();we.parser=we;var Bt=we,je=["#","+","~","-",""],Xe=class{static{f(this,"ClassMember")}constructor(t,i){this.memberType=i,this.visibility="",this.classifier="",this.text="";const a=gt(t,F());this.parseMember(a)}getDisplayDetails(){let t=this.visibility+G(this.id);this.memberType==="method"&&(t+=`(${G(this.parameters.trim())})`,this.returnType&&(t+=" : "+G(this.returnType))),t=t.trim();const i=this.parseClassifier();return{displayText:t,cssStyle:i}}parseMember(t){let i="";if(this.memberType==="method"){const n=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(t);if(n){const c=n[1]?n[1].trim():"";if(je.includes(c)&&(this.visibility=c),this.id=n[2],this.parameters=n[3]?n[3].trim():"",i=n[4]?n[4].trim():"",this.returnType=n[5]?n[5].trim():"",i===""){const l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(i=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const r=t.length,n=t.substring(0,1),c=t.substring(r-1);je.includes(n)&&(this.visibility=n),/[$*]/.exec(c)&&(i=c),this.id=t.substring(this.visibility===""?0:1,i===""?r:r-1)}this.classifier=i,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const a=`${this.visibility?"\\"+this.visibility:""}${G(this.id)}${this.memberType==="method"?`(${G(this.parameters)})${this.returnType?" : "+G(this.returnType):""}`:""}`;this.text=a.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""}}},pe="classId-",qe=0,P=f(t=>I.sanitizeText(t,F()),"sanitizeText"),_t=class Ve{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=f(i=>{const a=st();de(i).select("svg").selectAll("g").filter(function(){return de(this).attr("title")!==null}).on("mouseover",c=>{const l=de(c.currentTarget),d=l.attr("title");if(!d)return;const m=c.currentTarget.getBoundingClientRect();a.transition().duration(200).style("opacity",".9"),a.html(ut.sanitize(d)).style("left",`${window.scrollX+m.left+m.width/2}px`).style("top",`${window.scrollY+m.bottom+4}px`),l.classed("hover",!0)}).on("mouseout",c=>{a.transition().duration(500).style("opacity",0),de(c.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=lt,this.getAccTitle=ct,this.setAccDescription=ot,this.getAccDescription=ht,this.setDiagramTitle=dt,this.getDiagramTitle=pt,this.getConfig=f(()=>F().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{f(this,"ClassDB")}splitClassNameAndType(i){const a=I.sanitizeText(i,F());let r="",n=a;if(a.indexOf("~")>0){const c=a.split("~");n=P(c[0]),r=P(c[1])}return{className:n,type:r}}setClassLabel(i,a){const r=I.sanitizeText(i,F());a&&(a=P(a));const{className:n}=this.splitClassNameAndType(r);this.classes.get(n).label=a,this.classes.get(n).text=`${a}${this.classes.get(n).type?`<${this.classes.get(n).type}>`:""}`}addClass(i){const a=I.sanitizeText(i,F()),{className:r,type:n}=this.splitClassNameAndType(a);if(this.classes.has(r))return;const c=I.sanitizeText(r,F());this.classes.set(c,{id:c,type:n,label:c,text:`${c}${n?`<${n}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:pe+c+"-"+qe}),qe++}addInterface(i,a){const r={id:`interface${this.interfaces.length}`,label:i,classId:a};this.interfaces.push(r)}setDiagramId(i){this.diagramId=i}lookUpDomId(i){const a=I.sanitizeText(i,F());if(this.classes.has(a)){const r=this.classes.get(a).domId;return this.diagramId?`${this.diagramId}-${r}`:r}throw new Error("Class not found: "+a)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",At()}getClass(i){return this.classes.get(i)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(i){const a=typeof i=="number"?`note${i}`:i;return this.notes.get(a)}getNotes(){return this.notes}addRelation(i){Ie.debug("Adding relation: "+JSON.stringify(i));const a=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];i.relation.type1===this.relationType.LOLLIPOP&&!a.includes(i.relation.type2)?(this.addClass(i.id2),this.addInterface(i.id1,i.id2),i.id1=`interface${this.interfaces.length-1}`):i.relation.type2===this.relationType.LOLLIPOP&&!a.includes(i.relation.type1)?(this.addClass(i.id1),this.addInterface(i.id2,i.id1),i.id2=`interface${this.interfaces.length-1}`):(this.addClass(i.id1),this.addClass(i.id2)),i.id1=this.splitClassNameAndType(i.id1).className,i.id2=this.splitClassNameAndType(i.id2).className,i.relationTitle1=I.sanitizeText(i.relationTitle1.trim(),F()),i.relationTitle2=I.sanitizeText(i.relationTitle2.trim(),F()),this.relations.push(i)}addAnnotation(i,a){const r=this.splitClassNameAndType(i).className;this.classes.get(r).annotations.push(a)}addMember(i,a){this.addClass(i);const r=this.splitClassNameAndType(i).className,n=this.classes.get(r);if(typeof a=="string"){const c=a.trim();c.startsWith("<<")&&c.endsWith(">>")?n.annotations.push(P(c.substring(2,c.length-2))):c.indexOf(")")>0?n.methods.push(new Xe(c,"method")):c&&n.members.push(new Xe(c,"attribute"))}}addMembers(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(r=>this.addMember(i,r)))}addNote(i,a){const r=this.notes.size,n={id:`note${r}`,class:a,text:i,index:r};return this.notes.set(n.id,n),n.id}cleanupLabel(i){return i.startsWith(":")&&(i=i.substring(1)),P(i.trim())}setCssClass(i,a){i.split(",").forEach(r=>{let n=r;/\d/.exec(r[0])&&(n=pe+n);const c=this.classes.get(n);c&&(c.cssClasses+=" "+a)})}defineClass(i,a){for(const r of i){let n=this.styleClasses.get(r);n===void 0&&(n={id:r,styles:[],textStyles:[]},this.styleClasses.set(r,n)),a&&a.forEach(c=>{if(/color/.exec(c)){const l=c.replace("fill","bgFill");n.textStyles.push(l)}n.styles.push(c)}),this.classes.forEach(c=>{c.cssClasses.includes(r)&&c.styles.push(...a.flatMap(l=>l.split(",")))})}}setTooltip(i,a){i.split(",").forEach(r=>{a!==void 0&&(this.classes.get(r).tooltip=P(a))})}getTooltip(i,a){return a&&this.namespaces.has(a)?this.namespaces.get(a).classes.get(i).tooltip:this.classes.get(i).tooltip}setLink(i,a,r){const n=F();i.split(",").forEach(c=>{let l=c;/\d/.exec(c[0])&&(l=pe+l);const d=this.classes.get(l);d&&(d.link=Oe.formatUrl(a,n),n.securityLevel==="sandbox"?d.linkTarget="_top":typeof r=="string"?d.linkTarget=P(r):d.linkTarget="_blank")}),this.setCssClass(i,"clickable")}setClickEvent(i,a,r){i.split(",").forEach(n=>{this.setClickFunc(n,a,r),this.classes.get(n).haveCallback=!0}),this.setCssClass(i,"clickable")}setClickFunc(i,a,r){const n=I.sanitizeText(i,F());if(F().securityLevel!=="loose"||a===void 0)return;const l=n;if(this.classes.has(l)){let d=[];if(typeof r=="string"){d=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m{const m=this.lookUpDomId(l),g=document.querySelector(`[id="${m}"]`);g!==null&&g.addEventListener("click",()=>{Oe.runFunc(a,...d)},!1)})}}bindFunctions(i){this.functions.forEach(a=>{a(i)})}escapeHtml(i){return i.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(i){this.direction=i}static resolveQualifiedId(i,a){const r=a.at(-1);return r?`${r}.${i}`:i}static getAncestorIds(i){const a=i.split("."),r=new Array(a.length);r[0]=a[0];for(let n=1;n0?c[l-1]:void 0,g=l===c.length-1,N=g&&a?a:n[l];this.namespaces.has(d)?g&&(this.namespaces.get(d).explicit=!0):this.namespaces.set(d,this.createNamespaceNode(d,N,m,g)),m&&this.linkParentChild(m,d)}return r}popNamespace(){this.namespaceStack.pop()}getNamespace(i){return this.namespaces.get(i)}getNamespaces(){return this.namespaces}addClassesToNamespace(i,a,r){if(this.namespaces.has(i)){for(const n of a){const{className:c}=this.splitClassNameAndType(n),l=this.getClass(c);l.parent=i,this.namespaces.get(i).classes.set(c,l)}for(const n of r){const c=this.getNote(n);c.parent=i,this.namespaces.get(i).notes.set(n,c)}}}setCssStyle(i,a){const r=this.classes.get(i);if(!(!a||!r))for(const n of a)n.includes(",")?r.styles.push(...n.split(",")):r.styles.push(n)}getArrowMarker(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}resolveExplicitAncestor(i){let a=i;for(;a;){const r=this.namespaces.get(a);if(!r)return;if(r.explicit)return a;a=r.parent}}getData(){const i=[],a=[],r=F(),n=r.class?.hierarchicalNamespaces??!0;for(const l of this.namespaces.values()){if(!n&&!l.explicit)continue;const d={id:l.id,label:n?l.label:l.id,isGroup:!0,padding:r.class.padding??16,shape:"rect",cssStyles:[],look:r.look,parentId:n?l.parent:void 0};i.push(d)}for(const l of this.classes.values()){const d=n?l.parent:this.resolveExplicitAncestor(l.parent),m={...l,type:void 0,isGroup:!1,parentId:d,look:r.look};i.push(m)}for(const l of this.notes.values()){const d=n?l.parent:this.resolveExplicitAncestor(l.parent),m={id:l.id,label:l.text,isGroup:!1,shape:"note",padding:r.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${r.themeVariables.noteBkgColor}`,`stroke: ${r.themeVariables.noteBorderColor}`],look:r.look,parentId:d,labelType:"markdown"};i.push(m);const g=this.classes.get(l.class)?.id;if(g){const N={id:`edgeNote${l.index}`,start:l.id,end:g,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:r.look};a.push(N)}}for(const l of this.interfaces){const d={id:l.id,label:l.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:r.look};i.push(d)}let c=0;for(const l of this.relations){c++;const d={id:ft(l.id1,l.id2,{prefix:"id",counter:c}),start:l.id1,end:l.id2,type:"normal",label:l.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(l.relation.type1),arrowTypeEnd:this.getArrowMarker(l.relation.type2),startLabelRight:l.relationTitle1==="none"?"":l.relationTitle1,endLabelLeft:l.relationTitle2==="none"?"":l.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:l.style||"",pattern:l.relation.lineType==1?"dashed":"solid",look:r.look,labelType:"markdown"};a.push(d)}return{nodes:i,edges:a,other:{},config:r,direction:this.getDirection()}}},mt=f(t=>`g.classGroup text { + fill: ${t.nodeBorder||t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} + +.noteLabel .nodeLabel, .noteLabel .edgeLabel { + color: ${t.noteTextColor}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} + +.labelBkg { + background: ${t.mainBkg}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: ${t.strokeWidth}; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth}; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +[id$="-compositionStart"], .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-compositionEnd"], .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-dependencyStart"], .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-dependencyEnd"], .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-extensionStart"], .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-extensionEnd"], .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-aggregationStart"], .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-aggregationEnd"], .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-lollipopStart"], .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-lollipopEnd"], .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} + +.edgeLabel[data-look="neo"] { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} + ${tt()} +`,"getStyles"),St=mt,Ct=f((t,i="TB")=>{if(!t.doc)return i;let a=i;for(const r of t.doc)r.stmt==="dir"&&(a=r.value);return a},"getDir"),bt=f(function(t,i){return i.db.getClasses()},"getClasses"),kt=f(async function(t,i,a,r){Ie.info("REF0:"),Ie.info("Drawing class diagram (v3)",i);const{securityLevel:n,state:c,layout:l}=F();r.db.setDiagramId(i);const d=r.db.getData(),m=it(i,n);d.type=r.type,d.layoutAlgorithm=rt(l),d.nodeSpacing=c?.nodeSpacing||50,d.rankSpacing=c?.rankSpacing||50,d.markers=["aggregation","extension","composition","dependency","lollipop"],d.diagramId=i,await nt(d,m);const g=8;Oe.insertTitle(m,"classDiagramTitleText",c?.titleTopMargin??25,r.db.getDiagramTitle()),at(m,g,"classDiagram",c?.useMaxWidth??!0)},"draw"),Nt={getClasses:bt,draw:kt,getDir:Ct};export{_t as C,Bt as a,Nt as c,St as s}; diff --git a/_astro/chunk-AQP2D5EJ.B_aCHPyh.js b/_astro/chunk-AQP2D5EJ.B_aCHPyh.js new file mode 100644 index 0000000..421bb10 --- /dev/null +++ b/_astro/chunk-AQP2D5EJ.B_aCHPyh.js @@ -0,0 +1,231 @@ +import{g as Zt}from"./chunk-55IACEB6.DaHeeVsF.js";import{s as te}from"./chunk-2J33WTMH.HmvIJeR8.js";import{_ as f,l as _,c as w,r as ee,u as se,a as ie,b as re,g as ae,s as ne,p as oe,q as le,T as ce,k as W,z as he}from"./mermaid.core.Ci_VGkOG.js";var Dt=(function(){var t=f(function(Y,a,c,r){for(c=c||{},r=Y.length;r--;c[Y[r]]=a);return c},"o"),e=[1,2],l=[1,3],s=[1,4],u=[2,4],d=[1,9],S=[1,11],g=[1,16],n=[1,17],T=[1,18],m=[1,19],N=[1,33],A=[1,20],k=[1,21],h=[1,22],x=[1,23],D=[1,24],$=[1,26],L=[1,27],P=[1,28],I=[1,29],J=[1,30],st=[1,31],it=[1,32],rt=[1,35],at=[1,36],nt=[1,37],ot=[1,38],j=[1,34],p=[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],lt=[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],At=[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],yt={trace:f(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:f(function(a,c,r,y,E,i,F){var o=i.length-1;switch(E){case 3:return y.setRootDoc(i[o]),i[o];case 4:this.$=[];break;case 5:i[o]!="nl"&&(i[o-1].push(i[o]),this.$=i[o-1]);break;case 6:case 7:this.$=i[o];break;case 8:this.$="nl";break;case 12:this.$=i[o];break;case 13:const q=i[o-1];q.description=y.trimColon(i[o]),this.$=q;break;case 14:this.$={stmt:"relation",state1:i[o-2],state2:i[o]};break;case 15:const gt=y.trimColon(i[o]);this.$={stmt:"relation",state1:i[o-3],state2:i[o-1],description:gt};break;case 19:this.$={stmt:"state",id:i[o-3],type:"default",description:"",doc:i[o-1]};break;case 20:var B=i[o],H=i[o-2].trim();if(i[o].match(":")){var ht=i[o].split(":");B=ht[0],H=[H,ht[1]]}this.$={stmt:"state",id:B,type:"default",description:H};break;case 21:this.$={stmt:"state",id:i[o-3],type:"default",description:i[o-5],doc:i[o-1]};break;case 22:this.$={stmt:"state",id:i[o],type:"fork"};break;case 23:this.$={stmt:"state",id:i[o],type:"join"};break;case 24:this.$={stmt:"state",id:i[o],type:"choice"};break;case 25:this.$={stmt:"state",id:y.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:i[o-1].trim(),note:{position:i[o-2].trim(),text:i[o].trim()}};break;case 29:this.$=i[o].trim(),y.setAccTitle(this.$);break;case 30:case 31:this.$=i[o].trim(),y.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:i[o-3],url:i[o-2],tooltip:i[o-1]};break;case 33:this.$={stmt:"click",id:i[o-3],url:i[o-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:i[o-1].trim(),classes:i[o].trim()};break;case 36:this.$={stmt:"style",id:i[o-1].trim(),styleClass:i[o].trim()};break;case 37:this.$={stmt:"applyClass",id:i[o-1].trim(),styleClass:i[o].trim()};break;case 38:y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:i[o].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:i[o-2].trim(),classes:[i[o].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:i[o-2].trim(),classes:[i[o].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:l,6:s},{1:[3]},{3:5,4:e,5:l,6:s},{3:6,4:e,5:l,6:s},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],u,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:d,5:S,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:n,19:T,22:m,24:N,25:A,26:k,27:h,28:x,29:D,32:25,33:$,35:L,37:P,38:I,41:J,45:st,48:it,51:rt,52:at,53:nt,54:ot,57:j},t(p,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:g,17:n,19:T,22:m,24:N,25:A,26:k,27:h,28:x,29:D,32:25,33:$,35:L,37:P,38:I,41:J,45:st,48:it,51:rt,52:at,53:nt,54:ot,57:j},t(p,[2,7]),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(p,[2,11]),t(p,[2,12],{14:[1,40],15:[1,41]}),t(p,[2,16]),{18:[1,42]},t(p,[2,18],{20:[1,43]}),{23:[1,44]},t(p,[2,22]),t(p,[2,23]),t(p,[2,24]),t(p,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(p,[2,28]),{34:[1,49]},{36:[1,50]},t(p,[2,31]),{13:51,24:N,57:j},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(lt,[2,44],{58:[1,56]}),t(lt,[2,45],{58:[1,57]}),t(p,[2,38]),t(p,[2,39]),t(p,[2,40]),t(p,[2,41]),t(p,[2,6]),t(p,[2,13]),{13:58,24:N,57:j},t(p,[2,17]),t(At,u,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(p,[2,29]),t(p,[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(p,[2,14],{14:[1,71]}),{4:d,5:S,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:n,19:T,21:[1,72],22:m,24:N,25:A,26:k,27:h,28:x,29:D,32:25,33:$,35:L,37:P,38:I,41:J,45:st,48:it,51:rt,52:at,53:nt,54:ot,57:j},t(p,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(p,[2,34]),t(p,[2,35]),t(p,[2,36]),t(p,[2,37]),t(lt,[2,46]),t(lt,[2,47]),t(p,[2,15]),t(p,[2,19]),t(At,u,{7:78}),t(p,[2,26]),t(p,[2,27]),{5:[1,79]},{5:[1,80]},{4:d,5:S,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:n,19:T,21:[1,81],22:m,24:N,25:A,26:k,27:h,28:x,29:D,32:25,33:$,35:L,37:P,38:I,41:J,45:st,48:it,51:rt,52:at,53:nt,54:ot,57:j},t(p,[2,32]),t(p,[2,33]),t(p,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:f(function(a,c){if(c.recoverable)this.trace(a);else{var r=new Error(a);throw r.hash=c,r}},"parseError"),parse:f(function(a){var c=this,r=[0],y=[],E=[null],i=[],F=this.table,o="",B=0,H=0,ht=2,q=1,gt=i.slice.call(arguments,1),b=Object.create(this.lexer),M={yy:{}};for(var Tt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Tt)&&(M.yy[Tt]=this.yy[Tt]);b.setInput(a,M.yy),M.yy.lexer=b,M.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var Et=b.yylloc;i.push(Et);var qt=b.options&&b.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Qt(O){r.length=r.length-2*O,E.length=E.length-O,i.length=i.length-O}f(Qt,"popStack");function xt(){var O;return O=y.pop()||b.lex()||q,typeof O!="number"&&(O instanceof Array&&(y=O,O=y.pop()),O=c.symbols_[O]||O),O}f(xt,"lex");for(var C,U,R,_t,z={},ut,G,Lt,dt;;){if(U=r[r.length-1],this.defaultActions[U]?R=this.defaultActions[U]:((C===null||typeof C>"u")&&(C=xt()),R=F[U]&&F[U][C]),typeof R>"u"||!R.length||!R[0]){var mt="";dt=[];for(ut in F[U])this.terminals_[ut]&&ut>ht&&dt.push("'"+this.terminals_[ut]+"'");b.showPosition?mt="Parse error on line "+(B+1)+`: +`+b.showPosition()+` +Expecting `+dt.join(", ")+", got '"+(this.terminals_[C]||C)+"'":mt="Parse error on line "+(B+1)+": Unexpected "+(C==q?"end of input":"'"+(this.terminals_[C]||C)+"'"),this.parseError(mt,{text:b.match,token:this.terminals_[C]||C,line:b.yylineno,loc:Et,expected:dt})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+C);switch(R[0]){case 1:r.push(C),E.push(b.yytext),i.push(b.yylloc),r.push(R[1]),C=null,H=b.yyleng,o=b.yytext,B=b.yylineno,Et=b.yylloc;break;case 2:if(G=this.productions_[R[1]][1],z.$=E[E.length-G],z._$={first_line:i[i.length-(G||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(G||1)].first_column,last_column:i[i.length-1].last_column},qt&&(z._$.range=[i[i.length-(G||1)].range[0],i[i.length-1].range[1]]),_t=this.performAction.apply(z,[o,H,B,M.yy,R[1],E,i].concat(gt)),typeof _t<"u")return _t;G&&(r=r.slice(0,-1*G*2),E=E.slice(0,-1*G),i=i.slice(0,-1*G)),r.push(this.productions_[R[1]][0]),E.push(z.$),i.push(z._$),Lt=F[r[r.length-2]][r[r.length-1]],r.push(Lt);break;case 3:return!0}}return!0},"parse")},Jt=(function(){var Y={EOF:1,parseError:f(function(c,r){if(this.yy.parser)this.yy.parser.parseError(c,r);else throw new Error(c)},"parseError"),setInput:f(function(a,c){return this.yy=c||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:f(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var c=a.match(/(?:\r\n?|\n).*/g);return c?(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:f(function(a){var c=a.length,r=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;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),r.length-1&&(this.yylineno-=r.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:r?(r.length===y.length?this.yylloc.first_column:0)+y[y.length-r.length].length-r[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:f(function(){return this._more=!0,this},"more"),reject:f(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:f(function(a){this.unput(this.match.slice(a))},"less"),pastInput:f(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:f(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:f(function(){var a=this.pastInput(),c=new Array(a.length+1).join("-");return a+this.upcomingInput()+` +`+c+"^"},"showPosition"),test_match:f(function(a,c){var r,y,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))),y=a[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+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],r=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var i in E)this[i]=E[i];return!1}return!1},"test_match"),next:f(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,c,r,y;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),i=0;ic[0].length)){if(c=r,y=i,this.options.backtrack_lexer){if(a=this.test_match(r,E[i]),a!==!1)return a;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(a=this.test_match(c,E[y]),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:f(function(){var c=this.next();return c||this.lex()},"lex"),begin:f(function(c){this.conditionStack.push(c)},"begin"),popState:f(function(){var c=this.conditionStack.length-1;return c>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:f(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:f(function(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},"topState"),pushState:f(function(c){this.begin(c)},"pushState"),stateStackSize:f(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:f(function(c,r,y,E){function i(){const F=r.yytext.indexOf("%%");if(F===0)return!1;if(F>0){const o=r.yytext.slice(0,F),B=r.yytext.slice(F);B&&c.lexer.unput(B),r.yytext=o}return!0}switch(f(i,"processId"),y){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:break;case 13:return this.pushState("SCALE"),17;case 14:return 18;case 15:this.popState();break;case 16:return this.begin("acc_title"),33;case 17:return this.popState(),"acc_title_value";case 18:return this.begin("acc_descr"),35;case 19:return this.popState(),"acc_descr_value";case 20:this.begin("acc_descr_multiline");break;case 21:this.popState();break;case 22:return"acc_descr_multiline_value";case 23:return this.pushState("CLASSDEF"),41;case 24:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 25:return this.popState(),this.pushState("CLASSDEFID"),42;case 26:return this.popState(),43;case 27:return this.pushState("CLASS"),48;case 28:return this.popState(),this.pushState("CLASS_STYLE"),49;case 29:return this.popState(),50;case 30:return this.pushState("STYLE"),45;case 31:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 32:return this.popState(),47;case 33:return this.pushState("SCALE"),17;case 34:return 18;case 35:this.popState();break;case 36:this.pushState("STATE");break;case 37:return this.popState(),r.yytext=r.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),r.yytext=r.yytext.slice(0,-8).trim(),26;case 39:return this.popState(),r.yytext=r.yytext.slice(0,-10).trim(),27;case 40:return this.popState(),r.yytext=r.yytext.slice(0,-8).trim(),25;case 41:return this.popState(),r.yytext=r.yytext.slice(0,-8).trim(),26;case 42:return this.popState(),r.yytext=r.yytext.slice(0,-10).trim(),27;case 43:return 51;case 44:return 52;case 45:return 53;case 46:return 54;case 47:this.pushState("STATE_STRING");break;case 48:return this.pushState("STATE_ID"),"AS";case 49:return i()?(this.popState(),"ID"):void 0;case 50:this.popState();break;case 51:return"STATE_DESCR";case 52:return 19;case 53:this.popState();break;case 54:return this.popState(),this.pushState("struct"),20;case 55:return this.popState(),21;case 56:break;case 57:return this.begin("NOTE"),29;case 58:return this.popState(),this.pushState("NOTE_ID"),59;case 59:return this.popState(),this.pushState("NOTE_ID"),60;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 62:break;case 63:return"NOTE_TEXT";case 64:return i()?(this.popState(),"ID"):void 0;case 65:return i()?(this.popState(),this.pushState("NOTE_TEXT"),24):void 0;case 66:return this.popState(),r.yytext=r.yytext.substr(2).trim(),31;case 67:return this.popState(),r.yytext=r.yytext.slice(0,-8).trim(),31;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 57;case 72:return i()?24:void 0;case 73:return r.yytext=r.yytext.trim(),14;case 74:return 15;case 75:return 28;case 76:return 58;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/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,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?\n\s*end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[10,11,12],inclusive:!1},struct:{rules:[10,11,12,23,27,30,36,43,44,45,46,55,56,57,71,72,73,74,75,76],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[32],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[31],inclusive:!1},CLASS_STYLE:{rules:[29],inclusive:!1},CLASS:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[26],inclusive:!1},CLASSDEF:{rules:[24,25],inclusive:!1},acc_descr_multiline:{rules:[21,22],inclusive:!1},acc_descr:{rules:[19],inclusive:!1},acc_title:{rules:[17],inclusive:!1},SCALE:{rules:[14,15,34,35],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[49],inclusive:!1},STATE_STRING:{rules:[50,51],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[10,11,12,37,38,39,40,41,42,47,48,52,53,54],inclusive:!1},ID:{rules:[10,11,12],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,12,13,16,18,20,23,27,30,33,36,54,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};return Y})();yt.lexer=Jt;function ct(){this.yy={}}return f(ct,"Parser"),ct.prototype=yt,yt.Parser=ct,new ct})();Dt.parser=Dt;var Ge=Dt,ue="TB",Ft="TB",It="dir",X="state",K="root",vt="relation",de="classDef",fe="style",pe="applyClass",tt="default",Bt="divider",Gt="fill:none",Yt="fill: #333",Vt="c",Mt="markdown",Ut="normal",bt="rect",kt="rectWithTitle",Se="stateStart",ye="stateEnd",Ot="divider",Nt="roundedWithTitle",ge="note",Te="noteGroup",et="statediagram",Ee="state",_e=`${et}-${Ee}`,Wt="transition",me="note",be="note-edge",ke=`${Wt} ${be}`,De=`${et}-${me}`,ve="cluster",Ce=`${et}-${ve}`,Ae="cluster-alt",xe=`${et}-${Ae}`,jt="parent",Ht="note",Le="state",Ct="----",Ie=`${Ct}${Ht}`,Rt=`${Ct}${jt}`,zt=f((t,e=Ft)=>{if(!t.doc)return e;let l=e;for(const s of t.doc)s.stmt==="dir"&&(l=s.value);return l},"getDir"),Oe=f(function(t,e){return e.db.getClasses()},"getClasses"),Ne=f(async function(t,e,l,s){_.info("REF0:"),_.info("Drawing state diagram (v2)",e);const{securityLevel:u,state:d,layout:S}=w();s.db.extract(s.db.getRootDocV2());const g=s.db.getData(),n=Zt(e,u);g.type=s.type,g.layoutAlgorithm=S,g.nodeSpacing=d?.nodeSpacing||50,g.rankSpacing=d?.rankSpacing||50,w().look==="neo"?g.markers=["barbNeo"]:g.markers=["barb"],g.diagramId=e,await ee(g,n);const m=8;try{(typeof s.db.getLinks=="function"?s.db.getLinks():new Map).forEach((A,k)=>{const h=typeof k=="string"?k:typeof k?.id=="string"?k.id:"";if(!h){_.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(k));return}const x=n.node()?.querySelectorAll("g");let D;if(x?.forEach(I=>{I.textContent?.trim()===h&&(D=I)}),!D){_.warn("⚠️ Could not find node matching text:",h);return}const $=D.parentNode;if(!$){_.warn("⚠️ Node has no parent, cannot wrap:",h);return}const L=document.createElementNS("http://www.w3.org/2000/svg","a"),P=A.url.replace(/^"+|"+$/g,"");if(L.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",P),L.setAttribute("target","_blank"),A.tooltip){const I=A.tooltip.replace(/^"+|"+$/g,"");L.setAttribute("title",I)}$.replaceChild(L,D),L.appendChild(D),_.info("🔗 Wrapped node in tag for:",h,A.url)})}catch(N){_.error("❌ Error injecting clickable links:",N)}se.insertTitle(n,"statediagramTitleText",d?.titleTopMargin??25,s.db.getDiagramTitle()),te(n,m,et,d?.useMaxWidth??!0)},"draw"),Ye={getClasses:Oe,draw:Ne,getDir:zt},pt=new Map,V=0;function St(t="",e=0,l="",s=Ct){const u=l!==null&&l.length>0?`${s}${l}`:"";return`${Le}-${t}${u}-${e}`}f(St,"stateDomId");var Re=f((t,e,l,s,u,d,S,g)=>{_.trace("items",e),e.forEach(n=>{switch(n.stmt){case X:Z(t,n,l,s,u,d,S,g);break;case tt:Z(t,n,l,s,u,d,S,g);break;case vt:{Z(t,n.state1,l,s,u,d,S,g),Z(t,n.state2,l,s,u,d,S,g);const T=S==="neo",m={id:"edge"+V,start:n.state1.id,end:n.state2.id,arrowhead:"normal",arrowTypeEnd:T?"arrow_barb_neo":"arrow_barb",style:Gt,labelStyle:"",label:W.sanitizeText(n.description??"",w()),arrowheadStyle:Yt,labelpos:Vt,labelType:Mt,thickness:Ut,classes:Wt,look:S};u.push(m),V++}break}})},"setupDoc"),wt=f((t,e=Ft)=>{let l=e;if(t.doc)for(const s of t.doc)s.stmt==="dir"&&(l=s.value);return l},"getDir");function Q(t,e,l){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(u=>{const d=l.get(u);d&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...d.styles])}));const s=t.find(u=>u.id===e.id);s?Object.assign(s,e):t.push(e)}f(Q,"insertOrUpdateNode");function Kt(t){return t?.classes?.join(" ")??""}f(Kt,"getClassesFromDbInfo");function Xt(t){return t?.styles??[]}f(Xt,"getStylesFromDbInfo");var Z=f((t,e,l,s,u,d,S,g)=>{const n=e.id,T=l.get(n),m=Kt(T),N=Xt(T),A=w();if(_.info("dataFetcher parsedItem",e,T,N),n!=="root"){let k=bt;e.start===!0?k=Se:e.start===!1&&(k=ye),e.type!==tt&&(k=e.type),pt.get(n)||pt.set(n,{id:n,shape:k,description:W.sanitizeText(n,A),cssClasses:`${m} ${_e}`,cssStyles:N});const h=pt.get(n);e.description&&(Array.isArray(h.description)?(h.shape=kt,h.description.push(e.description)):h.description?.length&&h.description.length>0?(h.shape=kt,h.description===n?h.description=[e.description]:h.description=[h.description,e.description]):(h.shape=bt,h.description=e.description),h.description=W.sanitizeTextOrArray(h.description,A)),h.description?.length===1&&h.shape===kt&&(h.type==="group"?h.shape=Nt:h.shape=bt),!h.type&&e.doc&&(_.info("Setting cluster for XCX",n,wt(e)),h.type="group",h.isGroup=!0,h.dir=wt(e),h.shape=e.type===Bt?Ot:Nt,h.cssClasses=`${h.cssClasses} ${Ce} ${d?xe:""}`);const x={labelStyle:"",shape:h.shape,label:h.description,cssClasses:h.cssClasses,cssCompiledStyles:[],cssStyles:h.cssStyles,id:n,dir:h.dir,domId:St(n,V),type:h.type,isGroup:h.type==="group",padding:8,rx:10,ry:10,look:S,labelType:"markdown"};if(x.shape===Ot&&(x.label=""),t&&t.id!=="root"&&(_.trace("Setting node ",n," to be child of its parent ",t.id),x.parentId=t.id),x.centerLabel=!0,e.note){const D={labelStyle:"",shape:ge,label:e.note.text,labelType:"markdown",cssClasses:De,cssStyles:[],cssCompiledStyles:[],id:n+Ie+"-"+V,domId:St(n,V,Ht),type:h.type,isGroup:h.type==="group",padding:A.flowchart?.padding,look:S,position:e.note.position},$=n+Rt,L={labelStyle:"",shape:Te,label:e.note.text,cssClasses:h.cssClasses,cssStyles:[],id:n+Rt,domId:St(n,V,jt),type:"group",isGroup:!0,padding:16,look:S,position:e.note.position};V++,L.id=$,D.parentId=$,Q(s,L,g),Q(s,D,g),Q(s,x,g);let P=n,I=D.id;e.note.position==="left of"&&(P=D.id,I=n),u.push({id:P+"-"+I,start:P,end:I,arrowhead:"none",arrowTypeEnd:"",style:Gt,labelStyle:"",classes:ke,arrowheadStyle:Yt,labelpos:Vt,labelType:Mt,thickness:Ut,look:S})}else Q(s,x,g)}e.doc&&(_.trace("Adding nodes children "),Re(e,e.doc,l,s,u,!d,S,g))},"dataFetcher"),we=f(()=>{pt.clear(),V=0},"reset"),v={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},$t=f(()=>new Map,"newClassesList"),Pt=f(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),ft=f(t=>JSON.parse(JSON.stringify(t)),"clone"),Ve=class{constructor(t){this.version=t,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=$t(),this.documents={root:Pt()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=ie,this.setAccTitle=re,this.getAccDescription=ae,this.setAccDescription=ne,this.setDiagramTitle=oe,this.getDiagramTitle=le,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{f(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(t){this.clear(!0);for(const s of Array.isArray(t)?t:t.doc)switch(s.stmt){case X:this.addState(s.id.trim(),s.type,s.doc,s.description,s.note);break;case vt:this.addRelation(s.state1,s.state2,s.description);break;case de:this.addStyleClass(s.id.trim(),s.classes);break;case fe:this.handleStyleDef(s);break;case pe:this.setCssClass(s.id.trim(),s.styleClass);break;case"click":this.addLink(s.id,s.url,s.tooltip);break}const e=this.getStates(),l=w();we(),Z(void 0,this.getRootDocV2(),e,this.nodes,this.edges,!0,l.look,this.classes);for(const s of this.nodes)if(Array.isArray(s.label)){if(s.description=s.label.slice(1),s.isGroup&&s.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${s.id}]`);s.label=s.label[0]}}handleStyleDef(t){const e=t.id.trim().split(","),l=t.styleClass.split(",");for(const s of e){let u=this.getState(s);if(!u){const d=s.trim();this.addState(d),u=this.getState(d)}u&&(u.styles=l.map(d=>d.replace(/;/g,"")?.trim()))}}setRootDoc(t){_.info("Setting root doc",t),this.rootDoc=t,this.version===1?this.extract(t):this.extract(this.getRootDocV2())}docTranslator(t,e,l){if(e.stmt===vt){this.docTranslator(t,e.state1,!0),this.docTranslator(t,e.state2,!1);return}if(e.stmt===X&&(e.id===v.START_NODE?(e.id=t.id+(l?"_start":"_end"),e.start=l):e.id=e.id.trim()),e.stmt!==K&&e.stmt!==X||!e.doc)return;const s=[];let u=[];for(const d of e.doc)if(d.type===Bt){const S=ft(d);S.doc=ft(u),s.push(S),u=[]}else u.push(d);if(s.length>0&&u.length>0){const d={stmt:X,id:ce(),type:"divider",doc:ft(u)};s.push(ft(d)),e.doc=s}e.doc.forEach(d=>this.docTranslator(e,d,!0))}getRootDocV2(){return this.docTranslator({id:K,stmt:K},{id:K,stmt:K,doc:this.rootDoc},!0),{id:K,doc:this.rootDoc}}addState(t,e=tt,l=void 0,s=void 0,u=void 0,d=void 0,S=void 0,g=void 0){const n=t?.trim();if(!this.currentDocument.states.has(n))_.info("Adding state ",n,s),this.currentDocument.states.set(n,{stmt:X,id:n,descriptions:[],type:e,doc:l,note:u,classes:[],styles:[],textStyles:[]});else{const T=this.currentDocument.states.get(n);if(!T)throw new Error(`State not found: ${n}`);T.doc||(T.doc=l),T.type||(T.type=e)}if(s&&(_.info("Setting state description",n,s),(Array.isArray(s)?s:[s]).forEach(m=>this.addDescription(n,m.trim()))),u){const T=this.currentDocument.states.get(n);if(!T)throw new Error(`State not found: ${n}`);T.note=u,T.note.text=W.sanitizeText(T.note.text,w())}d&&(_.info("Setting state classes",n,d),(Array.isArray(d)?d:[d]).forEach(m=>this.setCssClass(n,m.trim()))),S&&(_.info("Setting state styles",n,S),(Array.isArray(S)?S:[S]).forEach(m=>this.setStyle(n,m.trim()))),g&&(_.info("Setting state styles",n,S),(Array.isArray(g)?g:[g]).forEach(m=>this.setTextStyle(n,m.trim())))}clear(t){this.nodes=[],this.edges=[],this.documents={root:Pt()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=$t(),t||(this.links=new Map,he())}getState(t){return this.currentDocument.states.get(t)}getStates(){return this.currentDocument.states}logDocuments(){_.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(t,e,l){this.links.set(t,{url:e,tooltip:l}),_.warn("Adding link",t,e,l)}getLinks(){return this.links}startIdIfNeeded(t=""){return t===v.START_NODE?(this.startEndCount++,`${v.START_TYPE}${this.startEndCount}`):t}startTypeIfNeeded(t="",e=tt){return t===v.START_NODE?v.START_TYPE:e}endIdIfNeeded(t=""){return t===v.END_NODE?(this.startEndCount++,`${v.END_TYPE}${this.startEndCount}`):t}endTypeIfNeeded(t="",e=tt){return t===v.END_NODE?v.END_TYPE:e}addRelationObjs(t,e,l=""){const s=this.startIdIfNeeded(t.id.trim()),u=this.startTypeIfNeeded(t.id.trim(),t.type),d=this.startIdIfNeeded(e.id.trim()),S=this.startTypeIfNeeded(e.id.trim(),e.type);this.addState(s,u,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),this.addState(d,S,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.currentDocument.relations.push({id1:s,id2:d,relationTitle:W.sanitizeText(l,w())})}addRelation(t,e,l){if(typeof t=="object"&&typeof e=="object")this.addRelationObjs(t,e,l);else if(typeof t=="string"&&typeof e=="string"){const s=this.startIdIfNeeded(t.trim()),u=this.startTypeIfNeeded(t),d=this.endIdIfNeeded(e.trim()),S=this.endTypeIfNeeded(e);this.addState(s,u),this.addState(d,S),this.currentDocument.relations.push({id1:s,id2:d,relationTitle:l?W.sanitizeText(l,w()):void 0})}}addDescription(t,e){const l=this.currentDocument.states.get(t),s=e.startsWith(":")?e.replace(":","").trim():e;l?.descriptions?.push(W.sanitizeText(s,w()))}cleanupLabel(t){return t.startsWith(":")?t.slice(2).trim():t.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(t,e=""){this.classes.has(t)||this.classes.set(t,{id:t,styles:[],textStyles:[]});const l=this.classes.get(t);e&&l&&e.split(v.STYLECLASS_SEP).forEach(s=>{const u=s.replace(/([^;]*);/,"$1").trim();if(RegExp(v.COLOR_KEYWORD).exec(s)){const S=u.replace(v.FILL_KEYWORD,v.BG_FILL).replace(v.COLOR_KEYWORD,v.FILL_KEYWORD);l.textStyles.push(S)}l.styles.push(u)})}getClasses(){return this.classes}setCssClass(t,e){t.split(",").forEach(l=>{let s=this.getState(l);if(!s){const u=l.trim();this.addState(u),s=this.getState(u)}s?.classes?.push(e)})}setStyle(t,e){this.getState(t)?.styles?.push(e)}setTextStyle(t,e){this.getState(t)?.textStyles?.push(e)}getDirectionStatement(){return this.rootDoc.find(t=>t.stmt===It)}getDirection(){return this.getDirectionStatement()?.value??ue}setDirection(t){const e=this.getDirectionStatement();e?e.value=t:this.rootDoc.unshift({stmt:It,value:t})}trimColon(t){return t.startsWith(":")?t.slice(1).trim():t.trim()}getData(){const t=w();return{nodes:this.nodes,edges:this.edges,other:{},config:t,direction:zt(this.getRootDocV2())}}getConfig(){return w().state}},$e=f(t=>` +defs [id$="-barbEnd"] { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth||1}; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: ${t.strokeWidth||1}; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth||1}px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: ${t.strokeWidth||1}px; +} +[id$="-barbEnd"] { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth||1}px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +[id$="-dependencyStart"], [id$="-dependencyEnd"] { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth||1}; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} + +[data-look="neo"].statediagram-cluster rect { + fill: ${t.mainBkg}; + stroke: ${t.useGradient?"url("+t.svgId+"-gradient)":t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth??1}; +} +[data-look="neo"].statediagram-cluster rect.outer { + rx: ${t.radius}px; + ry: ${t.radius}px; + filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} +} +`,"getStyles"),Me=$e;export{Ve as S,Ge as a,Ye as b,Me as s}; diff --git a/_astro/chunk-FMBD7UC4.B9yPs07s.js b/_astro/chunk-FMBD7UC4.B9yPs07s.js new file mode 100644 index 0000000..0b85be4 --- /dev/null +++ b/_astro/chunk-FMBD7UC4.B9yPs07s.js @@ -0,0 +1,15 @@ +import{_ as e}from"./mermaid.core.Ci_VGkOG.js";var l=e(()=>` + /* 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");export{l as g}; diff --git a/_astro/chunk-ND2GUHAM.CiUMUSja.js b/_astro/chunk-ND2GUHAM.CiUMUSja.js new file mode 100644 index 0000000..e5bb13e --- /dev/null +++ b/_astro/chunk-ND2GUHAM.CiUMUSja.js @@ -0,0 +1 @@ +import{_ as i,d as l,U as d,j as o}from"./mermaid.core.Ci_VGkOG.js";var x=i((r,t)=>{const e=r.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const s in t.attrs)e.attr(s,t.attrs[s]);return t.class&&e.attr("class",t.class),e},"drawRect"),p=i((r,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(r,e).lower()},"drawBackgroundRect"),y=i((r,t)=>{const e=t.text.replace(d," "),s=r.append("text");s.attr("x",t.x),s.attr("y",t.y),s.attr("class","legend"),s.style("text-anchor",t.anchor),t.class&&s.attr("class",t.class);const a=s.append("tspan");return a.attr("x",t.x+t.textMargin*2),a.text(e),s},"drawText"),m=i((r,t,e,s)=>{const a=r.append("image");a.attr("x",t),a.attr("y",e);const n=o.sanitizeUrl(s);a.attr("xlink:href",n)},"drawImage"),g=i((r,t,e,s)=>{const a=r.append("use");a.attr("x",t),a.attr("y",e);const n=o.sanitizeUrl(s);a.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),h=i(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),f=i(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),w=i(()=>{let r=l(".mermaidTooltip");return r.empty()&&(r=l("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),r},"createTooltip");export{p as a,f as b,w as c,x as d,g as e,m as f,h as g,y as h}; diff --git a/_astro/chunk-QZHKN3VN.BmpnJiq_.js b/_astro/chunk-QZHKN3VN.BmpnJiq_.js new file mode 100644 index 0000000..2d1c1b8 --- /dev/null +++ b/_astro/chunk-QZHKN3VN.BmpnJiq_.js @@ -0,0 +1 @@ +import{_ as i}from"./mermaid.core.Ci_VGkOG.js";var r=class{constructor(t){this.init=t,this.records=this.init()}static{i(this,"ImperativeState")}reset(){this.records=this.init()}};export{r as I}; diff --git a/_astro/classDiagram-4FO5ZUOK.OncdqZO7.js b/_astro/classDiagram-4FO5ZUOK.OncdqZO7.js new file mode 100644 index 0000000..41173f8 --- /dev/null +++ b/_astro/classDiagram-4FO5ZUOK.OncdqZO7.js @@ -0,0 +1 @@ +import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM.eyChSAdB.js";import{_ as i}from"./mermaid.core.Ci_VGkOG.js";import"./chunk-FMBD7UC4.B9yPs07s.js";import"./chunk-ND2GUHAM.CiUMUSja.js";import"./chunk-55IACEB6.DaHeeVsF.js";import"./chunk-2J33WTMH.HmvIJeR8.js";import"./preload-helper.DK3iz7C1.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/_astro/classDiagram-v2-Q7XG4LA2.OncdqZO7.js b/_astro/classDiagram-v2-Q7XG4LA2.OncdqZO7.js new file mode 100644 index 0000000..41173f8 --- /dev/null +++ b/_astro/classDiagram-v2-Q7XG4LA2.OncdqZO7.js @@ -0,0 +1 @@ +import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM.eyChSAdB.js";import{_ as i}from"./mermaid.core.Ci_VGkOG.js";import"./chunk-FMBD7UC4.B9yPs07s.js";import"./chunk-ND2GUHAM.CiUMUSja.js";import"./chunk-55IACEB6.DaHeeVsF.js";import"./chunk-2J33WTMH.HmvIJeR8.js";import"./preload-helper.DK3iz7C1.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/_astro/cose-bilkent-S5V4N54A.ClF2UM5N.js b/_astro/cose-bilkent-S5V4N54A.ClF2UM5N.js new file mode 100644 index 0000000..0fbe206 --- /dev/null +++ b/_astro/cose-bilkent-S5V4N54A.ClF2UM5N.js @@ -0,0 +1 @@ +import{b4 as lt,_ as V,l as k,d as gt}from"./mermaid.core.Ci_VGkOG.js";import{c as tt}from"./cytoscape.esm.OyMbaexL.js";import"./preload-helper.DK3iz7C1.js";var Z={exports:{}},$={exports:{}},Q={exports:{}},ut=Q.exports,j;function ft(){return j||(j=1,(function(G,b){(function(I,L){G.exports=L()})(ut,function(){return(function(N){var I={};function L(o){if(I[o])return I[o].exports;var e=I[o]={i:o,l:!1,exports:{}};return N[o].call(e.exports,e,e.exports,L),e.l=!0,e.exports}return L.m=N,L.c=I,L.i=function(o){return o},L.d=function(o,e,t){L.o(o,e)||Object.defineProperty(o,e,{configurable:!1,enumerable:!0,get:t})},L.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return L.d(e,"a",e),e},L.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},L.p="",L(L.s=26)})([(function(N,I,L){function o(){}o.QUALITY=1,o.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,o.DEFAULT_INCREMENTAL=!1,o.DEFAULT_ANIMATION_ON_LAYOUT=!0,o.DEFAULT_ANIMATION_DURING_LAYOUT=!1,o.DEFAULT_ANIMATION_PERIOD=50,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,o.DEFAULT_GRAPH_MARGIN=15,o.NODE_DIMENSIONS_INCLUDE_LABELS=!1,o.SIMPLE_NODE_SIZE=40,o.SIMPLE_NODE_HALF_SIZE=o.SIMPLE_NODE_SIZE/2,o.EMPTY_COMPOUND_NODE_SIZE=40,o.MIN_EDGE_LENGTH=1,o.WORLD_BOUNDARY=1e6,o.INITIAL_WORLD_BOUNDARY=o.WORLD_BOUNDARY/1e3,o.WORLD_CENTER_X=1200,o.WORLD_CENTER_Y=900,N.exports=o}),(function(N,I,L){var o=L(2),e=L(8),t=L(9);function i(g,n,d){o.call(this,d),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=d,this.bendpoints=[],this.source=g,this.target=n}i.prototype=Object.create(o.prototype);for(var l in o)i[l]=o[l];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,n){for(var d=this.getOtherEnd(g),r=n.getGraphManager().getRoot();;){if(d.getOwner()==n)return d;if(d.getOwner()==r)break;d=d.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.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=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},N.exports=i}),(function(N,I,L){function o(e){this.vGraphObject=e}N.exports=o}),(function(N,I,L){var o=L(2),e=L(10),t=L(13),i=L(0),l=L(16),g=L(4);function n(r,h,a,p){a==null&&p==null&&(p=h),o.call(this,p),r.graphManager!=null&&(r=r.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=p,this.edges=[],this.graphManager=r,a!=null&&h!=null?this.rect=new t(h.x,h.y,a.width,a.height):this.rect=new t}n.prototype=Object.create(o.prototype);for(var d in o)n[d]=o[d];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(r){this.rect.width=r},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(r){this.rect.height=r},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(r,h){this.rect.x=r.x,this.rect.y=r.y,this.rect.width=h.width,this.rect.height=h.height},n.prototype.setCenter=function(r,h){this.rect.x=r-this.rect.width/2,this.rect.y=h-this.rect.height/2},n.prototype.setLocation=function(r,h){this.rect.x=r,this.rect.y=h},n.prototype.moveBy=function(r,h){this.rect.x+=r,this.rect.y+=h},n.prototype.getEdgeListToNode=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(p.target==r){if(p.source!=a)throw"Incorrect edge source!";h.push(p)}}),h},n.prototype.getEdgesBetween=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(!(p.source==a||p.target==a))throw"Incorrect edge source and/or target";(p.target==r||p.source==r)&&h.push(p)}),h},n.prototype.getNeighborsList=function(){var r=new Set,h=this;return h.edges.forEach(function(a){if(a.source==h)r.add(a.target);else{if(a.target!=h)throw"Incorrect incidency!";r.add(a.source)}}),r},n.prototype.withChildren=function(){var r=new Set,h,a;if(r.add(this),this.child!=null)for(var p=this.child.getNodes(),v=0;vh&&(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)),this.labelHeight>a&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-a)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-a),this.setHeight(this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(r){var h=this.rect.x;h>i.WORLD_BOUNDARY?h=i.WORLD_BOUNDARY:h<-i.WORLD_BOUNDARY&&(h=-i.WORLD_BOUNDARY);var a=this.rect.y;a>i.WORLD_BOUNDARY?a=i.WORLD_BOUNDARY:a<-i.WORLD_BOUNDARY&&(a=-i.WORLD_BOUNDARY);var p=new g(h,a),v=r.inverseTransformPoint(p);this.setLocation(v.x,v.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},N.exports=n}),(function(N,I,L){function o(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}o.prototype.getX=function(){return this.x},o.prototype.getY=function(){return this.y},o.prototype.setX=function(e){this.x=e},o.prototype.setY=function(e){this.y=e},o.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},o.prototype.getCopy=function(){return new o(this.x,this.y)},o.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},N.exports=o}),(function(N,I,L){var o=L(2),e=L(10),t=L(0),i=L(6),l=L(3),g=L(1),n=L(13),d=L(12),r=L(11);function h(p,v,D){o.call(this,D),this.estimatedSize=e.MIN_VALUE,this.margin=t.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=p,v!=null&&v instanceof i?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}h.prototype=Object.create(o.prototype);for(var a in o)h[a]=o[a];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(p,v,D){if(v==null&&D==null){var u=p;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var T=p;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(D)>-1))throw"Source or target not in graph!";if(!(v.owner==D.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=D.owner?null:(T.source=v,T.target=D,T.isInterGraph=!1,this.getEdges().push(T),v.edges.push(T),D!=v&&D.edges.push(T),T)}},h.prototype.remove=function(p){var v=p;if(p instanceof l){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var D=v.edges.slice(),u,T=D.length,y=0;y-1&&f>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(s,1),u.target!=u.source&&u.target.edges.splice(f,1);var O=u.source.owner.getEdges().indexOf(u);if(O==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(O,1)}},h.prototype.updateLeftTop=function(){for(var p=e.MAX_VALUE,v=e.MAX_VALUE,D,u,T,y=this.getNodes(),O=y.length,s=0;sD&&(p=D),v>u&&(v=u)}return p==e.MAX_VALUE?null:(y[0].getParent().paddingLeft!=null?T=y[0].getParent().paddingLeft:T=this.margin,this.left=v-T,this.top=p-T,new d(this.left,this.top))},h.prototype.updateBounds=function(p){for(var v=e.MAX_VALUE,D=-e.MAX_VALUE,u=e.MAX_VALUE,T=-e.MAX_VALUE,y,O,s,f,c,E=this.nodes,A=E.length,m=0;my&&(v=y),Ds&&(u=s),Ty&&(v=y),Ds&&(u=s),T=this.nodes.length){var A=0;D.forEach(function(m){m.owner==p&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},N.exports=h}),(function(N,I,L){var o,e=L(1);function t(i){o=L(5),this.layout=i,this.graphs=[],this.edges=[]}t.prototype.addRoot=function(){var i=this.layout.newGraph(),l=this.layout.newNode(null),g=this.add(i,l);return this.setRootGraph(g),this.rootGraph},t.prototype.add=function(i,l,g,n,d){if(g==null&&n==null&&d==null){if(i==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return i.parent=l,l.child=i,i}else{d=g,n=l,g=i;var r=n.getOwner(),h=d.getOwner();if(!(r!=null&&r.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(r==h)return g.isInterGraph=!1,r.add(g,n,d);if(g.isInterGraph=!0,g.source=n,g.target=d,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},t.prototype.remove=function(i){if(i instanceof o){var l=i;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 g=[];g=g.concat(l.getEdges());for(var n,d=g.length,r=0;r=i.getRight()?l[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(l[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?l[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(l[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var d=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(d=1);var r=d*l[0],h=l[1]/d;l[0]r)return l[0]=g,l[1]=a,l[2]=d,l[3]=E,!1;if(nd)return l[0]=h,l[1]=n,l[2]=f,l[3]=r,!1;if(gd?(l[0]=v,l[1]=D,R=!0):(l[0]=p,l[1]=a,R=!0):S===w&&(g>d?(l[0]=h,l[1]=a,R=!0):(l[0]=u,l[1]=D,R=!0)),-Y===w?d>g?(l[2]=c,l[3]=E,M=!0):(l[2]=f,l[3]=s,M=!0):Y===w&&(d>g?(l[2]=O,l[3]=s,M=!0):(l[2]=A,l[3]=E,M=!0)),R&&M)return!1;if(g>d?n>r?(x=this.getCardinalDirection(S,w,4),F=this.getCardinalDirection(Y,w,2)):(x=this.getCardinalDirection(-S,w,3),F=this.getCardinalDirection(-Y,w,1)):n>r?(x=this.getCardinalDirection(-S,w,1),F=this.getCardinalDirection(-Y,w,3)):(x=this.getCardinalDirection(S,w,2),F=this.getCardinalDirection(Y,w,4)),!R)switch(x){case 1:P=a,U=g+-y/w,l[0]=U,l[1]=P;break;case 2:U=u,P=n+T*w,l[0]=U,l[1]=P;break;case 3:P=D,U=g+y/w,l[0]=U,l[1]=P;break;case 4:U=v,P=n+-T*w,l[0]=U,l[1]=P;break}if(!M)switch(F){case 1:X=s,_=d+-C/w,l[2]=_,l[3]=X;break;case 2:_=A,X=r+m*w,l[2]=_,l[3]=X;break;case 3:X=E,_=d+C/w,l[2]=_,l[3]=X;break;case 4:_=c,X=r+-m*w,l[2]=_,l[3]=X;break}}return!1},e.getCardinalDirection=function(t,i,l){return t>i?l:1+l%4},e.getIntersection=function(t,i,l,g){if(g==null)return this.getIntersection2(t,i,l);var n=t.x,d=t.y,r=i.x,h=i.y,a=l.x,p=l.y,v=g.x,D=g.y,u=void 0,T=void 0,y=void 0,O=void 0,s=void 0,f=void 0,c=void 0,E=void 0,A=void 0;return y=h-d,s=n-r,c=r*d-n*h,O=D-p,f=a-v,E=v*p-a*D,A=y*f-O*s,A===0?null:(u=(s*E-f*c)/A,T=(O*c-y*E)/A,new o(u,T))},e.angleOfVector=function(t,i,l,g){var n=void 0;return t!==l?(n=Math.atan((g-i)/(l-t)),l0?1:e<0?-1:0},o.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},o.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},N.exports=o}),(function(N,I,L){function o(){}o.MAX_VALUE=2147483647,o.MIN_VALUE=-2147483648,N.exports=o}),(function(N,I,L){var o=(function(){function n(d,r){for(var h=0;h"u"?"undefined":o(t);return t==null||i!="object"&&i!="function"},N.exports=e}),(function(N,I,L){function o(a){if(Array.isArray(a)){for(var p=0,v=Array(a.length);p0&&p;){for(y.push(s[0]);y.length>0&&p;){var f=y[0];y.splice(0,1),T.add(f);for(var c=f.getEdges(),u=0;u-1&&s.splice(C,1)}T=new Set,O=new Map}}return a},h.prototype.createDummyNodesForBendpoints=function(a){for(var p=[],v=a.source,D=this.graphManager.calcLowestCommonAncestor(a.source,a.target),u=0;u0){for(var D=this.edgeToDummyNodes.get(v),u=0;u=0&&p.splice(E,1);var A=O.getNeighborsList();A.forEach(function(R){if(v.indexOf(R)<0){var M=D.get(R),S=M-1;S==1&&f.push(R),D.set(R,S)}})}v=v.concat(f),(p.length==1||p.length==2)&&(u=!0,T=p[0])}return T},h.prototype.setGraphManager=function(a){this.graphManager=a},N.exports=h}),(function(N,I,L){function o(){}o.seed=1,o.x=0,o.nextDouble=function(){return o.x=Math.sin(o.seed++)*1e4,o.x-Math.floor(o.x)},N.exports=o}),(function(N,I,L){var o=L(4);function e(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(t){this.lworldExtX=t},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(t){this.lworldExtY=t},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},e.prototype.transformX=function(t){var i=0,l=this.lworldExtX;return l!=0&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/l),i},e.prototype.transformY=function(t){var i=0,l=this.lworldExtY;return l!=0&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/l),i},e.prototype.inverseTransformX=function(t){var i=0,l=this.ldeviceExtX;return l!=0&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/l),i},e.prototype.inverseTransformY=function(t){var i=0,l=this.ldeviceExtY;return l!=0&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/l),i},e.prototype.inverseTransformPoint=function(t){var i=new o(this.inverseTransformX(t.x),this.inverseTransformY(t.y));return i},N.exports=e}),(function(N,I,L){function o(r){if(Array.isArray(r)){for(var h=0,a=Array(r.length);ht.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*t.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-t.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT_INCREMENTAL):(r>t.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(t.COOLING_ADAPTATION_FACTOR,1-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*(1-t.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var r=this.getAllEdges(),h,a=0;a0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a,p,v,D,u=this.getAllNodes(),T;if(this.useFRGridVariant)for(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&r&&this.updateGrid(),T=new Set,a=0;ay||T>y)&&(r.gravitationForceX=-this.gravityConstant*v,r.gravitationForceY=-this.gravityConstant*D)):(y=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>y||T>y)&&(r.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,r.gravitationForceY=-this.gravityConstant*D*this.compoundGravityConstant))},n.prototype.isConverged=function(){var r,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),r=this.totalDisplacement=u.length||y>=u[0].length)){for(var O=0;On}}]),l})();N.exports=i}),(function(N,I,L){var o=(function(){function i(l,g){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;e(this,i),this.sequence1=l,this.sequence2=g,this.match_score=n,this.mismatch_penalty=d,this.gap_penalty=r,this.iMax=l.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;l--){var g=this.listeners[l];g.event===t&&g.callback===i&&this.listeners.splice(l,1)}},e.emit=function(t,i){for(var l=0;lg.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*t.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),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,n){for(var d=this.getChild().getNodes(),r,h=0;h0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var f=new Set(this.getAllNodes()),c=this.nodesWithGravity.filter(function(E){return f.has(E)});this.graphManager.setAllNodesToApplyGravitation(c),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(f),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,E=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,E),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),f={},c=0;c1){var R;for(R=0;RE&&(E=Math.floor(C.y)),m=Math.floor(C.x+n.DEFAULT_COMPONENT_SEPERATION)}this.transform(new a(r.WORLD_CENTER_X-C.x/2,r.WORLD_CENTER_Y-C.y/2))},y.radialLayout=function(s,f,c){var E=Math.max(this.maxDiagonalInTree(s),n.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(f,null,0,359,0,E);var A=u.calculateBounds(s),m=new T;m.setDeviceOrgX(A.getMinX()),m.setDeviceOrgY(A.getMinY()),m.setWorldOrgX(c.x),m.setWorldOrgY(c.y);for(var C=0;C1;){var X=_[0];_.splice(0,1);var H=w.indexOf(X);H>=0&&w.splice(H,1),U--,x--}f!=null?P=(w.indexOf(_[0])+1)%U:P=0;for(var W=Math.abs(E-c)/x,B=P;F!=x;B=++B%U){var K=w[B].getOtherEnd(s);if(K!=f){var q=(c+F*W)%360,ht=(q+W)%360;y.branchRadialLayout(K,s,q,ht,A+m,m),F++}}},y.maxDiagonalInTree=function(s){for(var f=v.MIN_VALUE,c=0;cf&&(f=A)}return f},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var s=this,f={};this.memberGroups={},this.idToDummyNode={};for(var c=[],E=this.graphManager.getAllNodes(),A=0;A"u"&&(f[R]=[]),f[R]=f[R].concat(m)}Object.keys(f).forEach(function(M){if(f[M].length>1){var S="DummyCompound_"+M;s.memberGroups[S]=f[M];var Y=f[M][0].getParent(),w=new l(s.graphManager);w.id=S,w.paddingLeft=Y.paddingLeft||0,w.paddingRight=Y.paddingRight||0,w.paddingBottom=Y.paddingBottom||0,w.paddingTop=Y.paddingTop||0,s.idToDummyNode[S]=w;var x=s.getGraphManager().add(s.newGraph(),w),F=Y.getChild();F.add(w);for(var U=0;U=0;s--){var f=this.compoundOrder[s],c=f.id,E=f.paddingLeft,A=f.paddingTop;this.adjustLocations(this.tiledMemberPack[c],f.rect.x,f.rect.y,E,A)}},y.prototype.repopulateZeroDegreeMembers=function(){var s=this,f=this.tiledZeroDegreePack;Object.keys(f).forEach(function(c){var E=s.idToDummyNode[c],A=E.paddingLeft,m=E.paddingTop;s.adjustLocations(f[c],E.rect.x,E.rect.y,A,m)})},y.prototype.getToBeTiled=function(s){var f=s.id;if(this.toBeTiled[f]!=null)return this.toBeTiled[f];var c=s.getChild();if(c==null)return this.toBeTiled[f]=!1,!1;for(var E=c.getNodes(),A=0;A0)return this.toBeTiled[f]=!1,!1;if(m.getChild()==null){this.toBeTiled[m.id]=!1;continue}if(!this.getToBeTiled(m))return this.toBeTiled[f]=!1,!1}return this.toBeTiled[f]=!0,!0},y.prototype.getNodeDegree=function(s){s.id;for(var f=s.getEdges(),c=0,E=0;EM&&(M=Y.rect.height)}c+=M+s.verticalPadding}},y.prototype.tileCompoundMembers=function(s,f){var c=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(E){var A=f[E];c.tiledMemberPack[E]=c.tileNodes(s[E],A.paddingLeft+A.paddingRight),A.rect.width=c.tiledMemberPack[E].width,A.rect.height=c.tiledMemberPack[E].height})},y.prototype.tileNodes=function(s,f){var c=n.TILING_PADDING_VERTICAL,E=n.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:f,verticalPadding:c,horizontalPadding:E};s.sort(function(R,M){return R.rect.width*R.rect.height>M.rect.width*M.rect.height?-1:R.rect.width*R.rect.height0&&(C+=s.horizontalPadding),s.rowWidth[c]=C,s.width0&&(R+=s.verticalPadding);var M=0;R>s.rowHeight[c]&&(M=s.rowHeight[c],s.rowHeight[c]=R,M=s.rowHeight[c]-M),s.height+=M,s.rows[c].push(f)},y.prototype.getShortestRowIndex=function(s){for(var f=-1,c=Number.MAX_VALUE,E=0;Ec&&(f=E,c=s.rowWidth[E]);return f},y.prototype.canAddHorizontal=function(s,f,c){var E=this.getShortestRowIndex(s);if(E<0)return!0;var A=s.rowWidth[E];if(A+s.horizontalPadding+f<=s.width)return!0;var m=0;s.rowHeight[E]0&&(m=c+s.verticalPadding-s.rowHeight[E]);var C;s.width-A>=f+s.horizontalPadding?C=(s.height+m)/(A+f+s.horizontalPadding):C=(s.height+m)/s.width,m=c+s.verticalPadding;var R;return s.widthm&&f!=c){E.splice(-1,1),s.rows[c].push(A),s.rowWidth[f]=s.rowWidth[f]-m,s.rowWidth[c]=s.rowWidth[c]+m,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var C=Number.MIN_VALUE,R=0;RC&&(C=E[R].height);f>0&&(C+=s.verticalPadding);var M=s.rowHeight[f]+s.rowHeight[c];s.rowHeight[f]=C,s.rowHeight[c]0)for(var F=A;F<=m;F++)x[0]+=this.grid[F][C-1].length+this.grid[F][C].length-1;if(m0)for(var F=C;F<=R;F++)x[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var U=v.MAX_VALUE,P,_,X=0;X0){var R;R=T.getGraphManager().add(T.newGraph(),c),this.processChildrenList(R,f,T)}}},a.prototype.stop=function(){return this.stopped=!0,this};var v=function(u){u("layout","cose-bilkent",a)};typeof cytoscape<"u"&&v(cytoscape),I.exports=v})])})})(Z)),Z.exports}var yt=vt();const Et=lt(yt);tt.use(Et);function et(G,b){G.forEach(N=>{const I={id:N.id,labelText:N.label,height:N.height,width:N.width,padding:N.padding??0};Object.keys(N).forEach(L=>{["id","label","height","width","padding","x","y"].includes(L)||(I[L]=N[L])}),b.add({group:"nodes",data:I,position:{x:N.x??0,y:N.y??0}})})}V(et,"addNodes");function rt(G,b){G.forEach(N=>{const I={id:N.id,source:N.start,target:N.end};Object.keys(N).forEach(L=>{["id","start","end"].includes(L)||(I[L]=N[L])}),b.add({group:"edges",data:I})})}V(rt,"addEdges");function it(G){return new Promise(b=>{const N=gt("body").append("div").attr("id","cy").attr("style","display:none"),I=tt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});N.remove(),et(G.nodes,I),rt(G.edges,I),I.nodes().forEach(function(o){o.layoutDimensions=()=>{const e=o.data();return{w:e.width,h:e.height}}});const L={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};I.layout(L).run(),I.ready(o=>{k.info("Cytoscape ready",o),b(I)})})}V(it,"createCytoscapeInstance");function nt(G){return G.nodes().map(b=>{const N=b.data(),I=b.position(),L={id:N.id,x:I.x,y:I.y};return Object.keys(N).forEach(o=>{o!=="id"&&(L[o]=N[o])}),L})}V(nt,"extractPositionedNodes");function ot(G){return G.edges().map(b=>{const N=b.data(),I=b._private.rscratch,L={id:N.id,source:N.source,target:N.target,startX:I.startX,startY:I.startY,midX:I.midX,midY:I.midY,endX:I.endX,endY:I.endY};return Object.keys(N).forEach(o=>{["id","source","target"].includes(o)||(L[o]=N[o])}),L})}V(ot,"extractPositionedEdges");async function st(G,b){k.debug("Starting cose-bilkent layout algorithm");try{at(G);const N=await it(G),I=nt(N),L=ot(N);return k.debug(`Layout completed: ${I.length} nodes, ${L.length} edges`),{nodes:I,edges:L}}catch(N){throw k.error("Error in cose-bilkent layout algorithm:",N),N}}V(st,"executeCoseBilkentLayout");function at(G){if(!G)throw new Error("Layout data is required");if(!G.config)throw new Error("Configuration is required in layout data");if(!G.rootNode)throw new Error("Root node is required");if(!G.nodes||!Array.isArray(G.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(G.edges))throw new Error("Edges array is required in layout data");return!0}V(at,"validateLayoutData");var Lt=V(async(G,b,{insertCluster:N,insertEdge:I,insertEdgeLabel:L,insertMarkers:o,insertNode:e,log:t,positionEdgeLabel:i},{algorithm:l})=>{const g={},n={},d=b.select("g");o(d,G.markers,G.type,G.diagramId);const r=d.insert("g").attr("class","subgraphs"),h=d.insert("g").attr("class","edgePaths"),a=d.insert("g").attr("class","edgeLabels"),p=d.insert("g").attr("class","nodes");t.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(G.nodes.map(async u=>{if(u.isGroup){const T={...u};n[u.id]=T,g[u.id]=T,await N(r,u)}else{const T={...u};g[u.id]=T;const y=await e(p,u,{config:G.config,dir:G.direction||"TB"}),O=y.node().getBBox();T.width=O.width,T.height=O.height,T.domId=y,t.debug(`Node ${u.id} dimensions: ${O.width}x${O.height}`)}})),t.debug("Running cose-bilkent layout algorithm");const v={...G,nodes:G.nodes.map(u=>{const T=g[u.id];return{...u,width:T.width,height:T.height}})},D=await st(v,G.config);t.debug("Positioning nodes based on layout results"),D.nodes.forEach(u=>{const T=g[u.id];T?.domId&&(T.domId.attr("transform",`translate(${u.x}, ${u.y})`),T.x=u.x,T.y=u.y,t.debug(`Positioned node ${T.id} at center (${u.x}, ${u.y})`))}),D.edges.forEach(u=>{const T=G.edges.find(y=>y.id===u.id);T&&(T.points=[{x:u.startX,y:u.startY},{x:u.midX,y:u.midY},{x:u.endX,y:u.endY}])}),t.debug("Inserting and positioning edges"),await Promise.all(G.edges.map(async u=>{await L(a,u);const T=g[u.start??""],y=g[u.end??""];if(T&&y){const O=D.edges.find(s=>s.id===u.id);if(O){t.debug("APA01 positionedEdge",O);const s={...u},f=I(h,s,n,G.type,T,y,G.diagramId);i(s,f)}else{const s={...u,points:[{x:T.x||0,y:T.y||0},{x:y.x||0,y:y.y||0}]},f=I(h,s,n,G.type,T,y,G.diagramId);i(s,f)}}})),t.debug("Cose-bilkent rendering completed")},"render"),Nt=Lt;export{Nt as render}; diff --git a/_astro/cytoscape.esm.OyMbaexL.js b/_astro/cytoscape.esm.OyMbaexL.js new file mode 100644 index 0000000..8bffcdd --- /dev/null +++ b/_astro/cytoscape.esm.OyMbaexL.js @@ -0,0 +1,331 @@ +function Bs(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,a=Array(e);t=r.length?{done:!0}:{done:!1,value:r[a++]}},e:function(u){throw u},f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,s=!0,o=!1;return{s:function(){t=t.call(r)},n:function(){var u=t.next();return s=u.done,u},e:function(u){o=!0,i=u},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw i}}}}function Jl(r,e,t){return(e=jl(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function nc(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function ic(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var a,n,i,s,o=[],u=!0,l=!1;try{if(i=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;u=!1}else for(;!(u=(a=i.call(t)).done)&&(o.push(a.value),o.length!==e);u=!0);}catch(v){l=!0,n=v}finally{try{if(!u&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(l)throw n}}return o}}function sc(){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 oc(){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 Qe(r,e){return rc(r)||ic(r,e)||Xs(r,e)||sc()}function mn(r){return tc(r)||nc(r)||Xs(r)||oc()}function uc(r,e){if(typeof r!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var a=t.call(r,e);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function jl(r){var e=uc(r,"string");return typeof e=="symbol"?e:e+""}function rr(r){"@babel/helpers - typeof";return rr=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},rr(r)}function Xs(r,e){if(r){if(typeof r=="string")return Bs(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Bs(r,e):void 0}}var je=typeof window>"u"?null:window,To=je?je.navigator:null;je&&je.document;var lc=rr(""),ev=rr({}),vc=rr(function(){}),fc=typeof HTMLElement>"u"?"undefined":rr(HTMLElement),La=function(e){return e&&e.instanceString&&$e(e.instanceString)?e.instanceString():null},he=function(e){return e!=null&&rr(e)==lc},$e=function(e){return e!=null&&rr(e)===vc},Ve=function(e){return!Tr(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},Me=function(e){return e!=null&&rr(e)===ev&&!Ve(e)&&e.constructor===Object},cc=function(e){return e!=null&&rr(e)===ev},ae=function(e){return e!=null&&rr(e)===rr(1)&&!isNaN(e)},dc=function(e){return ae(e)&&Math.floor(e)===e},bn=function(e){if(fc!=="undefined")return e!=null&&e instanceof HTMLElement},Tr=function(e){return Ia(e)||rv(e)},Ia=function(e){return La(e)==="collection"&&e._private.single},rv=function(e){return La(e)==="collection"&&!e._private.single},Ys=function(e){return La(e)==="core"},tv=function(e){return La(e)==="stylesheet"},hc=function(e){return La(e)==="event"},ot=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},gc=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},pc=function(e){return Me(e)&&ae(e.x1)&&ae(e.x2)&&ae(e.y1)&&ae(e.y2)},yc=function(e){return cc(e)&&$e(e.then)},mc=function(){return To&&To.userAgent.match(/msie|trident|edge/i)},Yt=function(e,t){t||(t=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],s=0;st?1:0},Sc=function(e,t){return-1*nv(e,t)},ye=Object.assign!=null?Object.assign.bind(Object):function(r){for(var e=arguments,t=1;t1&&(g-=1),g<1/6?d+(y-d)*6*g:g<1/2?y:g<2/3?d+(y-d)*(2/3-g)*6:d}var f=new RegExp("^"+xc+"$").exec(e);if(f){if(a=parseInt(f[1]),a<0?a=(360- -1*a%360)%360:a>360&&(a=a%360),a/=360,n=parseFloat(f[2]),n<0||n>100||(n=n/100,i=parseFloat(f[3]),i<0||i>100)||(i=i/100,s=f[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)o=u=l=Math.round(i*255);else{var c=i<.5?i*(1+n):i+n-i*n,h=2*i-c;o=Math.round(255*v(h,c,a+1/3)),u=Math.round(255*v(h,c,a)),l=Math.round(255*v(h,c,a-1/3))}t=[o,u,l,s]}return t},Bc=function(e){var t,a=new RegExp("^"+bc+"$").exec(e);if(a){t=[];for(var n=[],i=1;i<=3;i++){var s=a[i];if(s[s.length-1]==="%"&&(n[i]=!0),s=parseFloat(s),n[i]&&(s=s/100*255),s<0||s>255)return;t.push(Math.floor(s))}var o=n[1]||n[2]||n[3],u=n[1]&&n[2]&&n[3];if(o&&!u)return;var l=a[4];if(l!==void 0){if(l=parseFloat(l),l<0||l>1)return;t.push(l)}}return t},Pc=function(e){return Ac[e.toLowerCase()]},iv=function(e){return(Ve(e)?e:null)||Pc(e)||kc(e)||Bc(e)||Dc(e)},Ac={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]},sv=function(e){for(var t=e.map,a=e.keys,n=a.length,i=0;i=u||R<0||m&&L>=c}function S(){var A=e();if(x(A))return k(A);d=setTimeout(S,C(A))}function k(A){return d=void 0,b&&v?w(A):(v=f=void 0,h)}function B(){d!==void 0&&clearTimeout(d),g=0,v=y=f=d=void 0}function D(){return d===void 0?h:k(e())}function P(){var A=e(),R=x(A);if(v=arguments,f=this,y=A,R){if(d===void 0)return E(y);if(m)return clearTimeout(d),d=setTimeout(S,u),w(y)}return d===void 0&&(d=setTimeout(S,u)),h}return P.cancel=B,P.flush=D,P}return fi=s,fi}var qc=Vc(),Fa=Oa(qc),ci=je?je.performance:null,lv=ci&&ci.now?function(){return ci.now()}:function(){return Date.now()},_c=(function(){if(je){if(je.requestAnimationFrame)return function(r){je.requestAnimationFrame(r)};if(je.mozRequestAnimationFrame)return function(r){je.mozRequestAnimationFrame(r)};if(je.webkitRequestAnimationFrame)return function(r){je.webkitRequestAnimationFrame(r)};if(je.msRequestAnimationFrame)return function(r){je.msRequestAnimationFrame(r)}}return function(r){r&&setTimeout(function(){r(lv())},1e3/60)}})(),wn=function(e){return _c(e)},Xr=lv,Ct=9261,vv=65599,_t=5381,fv=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ct,a=t,n;n=e.next(),!n.done;)a=a*vv+n.value|0;return a},Ca=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ct;return t*vv+e|0},Ta=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_t;return(t<<5)+t+e|0},Gc=function(e,t){return e*2097152+t},jr=function(e){return e[0]*2097152+e[1]},Xa=function(e,t){return[Ca(e[0],t[0]),Ta(e[1],t[1])]},qo=function(e,t){var a={value:0,done:!1},n=0,i=e.length,s={next:function(){return n=0;n--)e[n]===t&&e.splice(n,1)},eo=function(e){e.splice(0,e.length)},Jc=function(e,t){for(var a=0;a"u"?"undefined":rr(Set))!==ed?Set:rd,In=function(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||t===void 0||!Ys(e)){He("An element must have a core reference and parameters set");return}var n=t.group;if(n==null&&(t.data&&t.data.source!=null&&t.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){He("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:t.selectable===void 0?!0:!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:t.grabbable===void 0?!0:!!t.grabbable,pannable:t.pannable===void 0?n==="edges":!!t.pannable,active:!1,classes:new ra,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),t.renderedPosition){var s=t.renderedPosition,o=e.pan(),u=e.zoom();i.position={x:(s.x-o.x)/u,y:(s.y-o.y)/u}}var l=[];Ve(t.classes)?l=t.classes:he(t.classes)&&(l=t.classes.split(/\s+/));for(var v=0,f=l.length;vm?1:0},v=function(p,m,b,w,E){var C;if(b==null&&(b=0),E==null&&(E=a),b<0)throw new Error("lo must be non-negative");for(w==null&&(w=p.length);bB;0<=B?k++:k--)S.push(k);return S}).apply(this).reverse(),x=[],w=0,E=C.length;wD;0<=D?++S:--S)P.push(s(p,b));return P},y=function(p,m,b,w){var E,C,x;for(w==null&&(w=a),E=p[b];b>m;){if(x=b-1>>1,C=p[x],w(E,C)<0){p[b]=C,b=x;continue}break}return p[b]=E},g=function(p,m,b){var w,E,C,x,S;for(b==null&&(b=a),E=p.length,S=m,C=p[m],w=2*m+1;w0;){var C=m.pop(),x=g(C),S=C.id();if(c[S]=x,x!==1/0)for(var k=C.neighborhood().intersect(d),B=0;B0)for(O.unshift(M);f[_];){var N=f[_];O.unshift(N.edge),O.unshift(N.node),q=N.node,_=q.id()}return o.spawn(O)}}}},ud={kruskal:function(e){e=e||function(b){return 1};for(var t=this.byGroup(),a=t.nodes,n=t.edges,i=a.length,s=new Array(i),o=a,u=function(w){for(var E=0;E0;){if(E(),x++,w===v){for(var S=[],k=i,B=v,D=p[B];S.unshift(k),D!=null&&S.unshift(D),k=g[B],k!=null;)B=k.id(),D=p[B];return{found:!0,distance:f[w],path:this.spawn(S),steps:x}}h[w]=!0;for(var P=b._private.edges,A=0;AD&&(d[B]=D,m[B]=k,b[B]=E),!i){var P=k*v+S;!i&&d[P]>D&&(d[P]=D,m[P]=S,b[P]=E)}}}for(var A=0;A1&&arguments[1]!==void 0?arguments[1]:s,se=b(me),de=[],ce=se;;){if(ce==null)return t.spawn();var xe=m(ce),be=xe.edge,Se=xe.pred;if(de.unshift(ce[0]),ce.same(ge)&&de.length>0)break;be!=null&&de.unshift(be),ce=Se}return u.spawn(de)},C=0;C=0;v--){var f=l[v],c=f[1],h=f[2];(t[c]===o&&t[h]===u||t[c]===u&&t[h]===o)&&l.splice(v,1)}for(var d=0;dn;){var i=Math.floor(Math.random()*t.length);t=pd(i,e,t),a--}return t},yd={kargerStein:function(){var e=this,t=this.byGroup(),a=t.nodes,n=t.edges;n.unmergeBy(function(O){return O.isLoop()});var i=a.length,s=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),u=Math.floor(i/gd);if(i<2){He("At least 2 nodes are required for Karger-Stein algorithm");return}for(var l=[],v=0;v1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,i=t;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,i=t;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,i=0,s=t;s1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(t,a):(a0&&e.splice(0,t));for(var o=0,u=e.length-1;u>=0;u--){var l=e[u];s?isFinite(l)||(e[u]=-1/0,o++):e.splice(u,1)}i&&e.sort(function(c,h){return c-h});var v=e.length,f=Math.floor(v/2);return v%2!==0?e[f+1+o]:(e[f-1+o]+e[f+o])/2},Cd=function(e){return Math.PI*e/180},Ya=function(e,t){return Math.atan2(t,e)-Math.PI/2},ro=Math.log2||function(r){return Math.log(r)/Math.log(2)},to=function(e){return e>0?1:e<0?-1:0},Dt=function(e,t){return Math.sqrt(xt(e,t))},xt=function(e,t){var a=t.x-e.x,n=t.y-e.y;return a*a+n*n},Td=function(e){for(var t=e.length,a=0,n=0;n=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},kd=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},Dd=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},Bd=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},mv=function(e,t,a){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,a),e.y2=Math.max(e.y2,a),e.h=e.y2-e.y1},un=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},ln=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],a,n,i,s;if(t.length===1)a=n=i=s=t[0];else if(t.length===2)a=i=t[0],s=n=t[1];else if(t.length===4){var o=Qe(t,4);a=o[0],n=o[1],i=o[2],s=o[3]}return e.x1-=s,e.x2+=n,e.y1-=a,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Uo=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},ao=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},at=function(e,t,a){return e.x1<=t&&t<=e.x2&&e.y1<=a&&a<=e.y2},Ko=function(e,t){return at(e,t.x,t.y)},bv=function(e,t){return at(e,t.x1,t.y1)&&at(e,t.x2,t.y2)},Pd=(gi=Math.hypot)!==null&&gi!==void 0?gi:function(r,e){return Math.sqrt(r*r+e*e)};function Ad(r,e){if(r.length<3)throw new Error("Need at least 3 vertices");var t=function(S,k){return{x:S.x+k.x,y:S.y+k.y}},a=function(S,k){return{x:S.x-k.x,y:S.y-k.y}},n=function(S,k){return{x:S.x*k,y:S.y*k}},i=function(S,k){return S.x*k.y-S.y*k.x},s=function(S){var k=Pd(S.x,S.y);return k===0?{x:0,y:0}:{x:S.x/k,y:S.y/k}},o=function(S){for(var k=0,B=0;B7&&arguments[7]!==void 0?arguments[7]:"auto",l=u==="auto"?lt(i,s):u,v=i/2,f=s/2;l=Math.min(l,v,f);var c=l!==v,h=l!==f,d;if(c){var y=a-v+l-o,g=n-f-o,p=a+v-l+o,m=g;if(d=nt(e,t,a,n,y,g,p,m,!1),d.length>0)return d}if(h){var b=a+v+o,w=n-f+l-o,E=b,C=n+f-l+o;if(d=nt(e,t,a,n,b,w,E,C,!1),d.length>0)return d}if(c){var x=a-v+l-o,S=n+f+o,k=a+v-l+o,B=S;if(d=nt(e,t,a,n,x,S,k,B,!1),d.length>0)return d}if(h){var D=a-v-o,P=n-f+l-o,A=D,R=n+f-l+o;if(d=nt(e,t,a,n,D,P,A,R,!1),d.length>0)return d}var L;{var I=a-v+l,M=n-f+l;if(L=ya(e,t,a,n,I,M,l+o),L.length>0&&L[0]<=I&&L[1]<=M)return[L[0],L[1]]}{var O=a+v-l,q=n-f+l;if(L=ya(e,t,a,n,O,q,l+o),L.length>0&&L[0]>=O&&L[1]<=q)return[L[0],L[1]]}{var _=a+v-l,N=n+f-l;if(L=ya(e,t,a,n,_,N,l+o),L.length>0&&L[0]>=_&&L[1]>=N)return[L[0],L[1]]}{var V=a-v+l,Y=n+f-l;if(L=ya(e,t,a,n,V,Y,l+o),L.length>0&&L[0]<=V&&L[1]>=Y)return[L[0],L[1]]}return[]},Md=function(e,t,a,n,i,s,o){var u=o,l=Math.min(a,i),v=Math.max(a,i),f=Math.min(n,s),c=Math.max(n,s);return l-u<=e&&e<=v+u&&f-u<=t&&t<=c+u},Ld=function(e,t,a,n,i,s,o,u,l){var v={x1:Math.min(a,o,i)-l,x2:Math.max(a,o,i)+l,y1:Math.min(n,u,s)-l,y2:Math.max(n,u,s)+l};return!(ev.x2||tv.y2)},Id=function(e,t,a,n){a-=n;var i=t*t-4*e*a;if(i<0)return[];var s=Math.sqrt(i),o=2*e,u=(-t+s)/o,l=(-t-s)/o;return[u,l]},Od=function(e,t,a,n,i){var s=1e-5;e===0&&(e=s),t/=e,a/=e,n/=e;var o,u,l,v,f,c,h,d;if(u=(3*a-t*t)/9,l=-(27*n)+t*(9*a-2*(t*t)),l/=54,o=u*u*u+l*l,i[1]=0,h=t/3,o>0){f=l+Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),c=l-Math.sqrt(o),c=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-h+f+c,h+=(f+c)/2,i[4]=i[2]=-h,h=Math.sqrt(3)*(-c+f)/2,i[3]=h,i[5]=-h;return}if(i[5]=i[3]=0,o===0){d=l<0?-Math.pow(-l,1/3):Math.pow(l,1/3),i[0]=-h+2*d,i[4]=i[2]=-(d+h);return}u=-u,v=u*u*u,v=Math.acos(l/Math.sqrt(v)),d=2*Math.sqrt(u),i[0]=-h+d*Math.cos(v/3),i[2]=-h+d*Math.cos((v+2*Math.PI)/3),i[4]=-h+d*Math.cos((v+4*Math.PI)/3)},Nd=function(e,t,a,n,i,s,o,u){var l=1*a*a-4*a*i+2*a*o+4*i*i-4*i*o+o*o+n*n-4*n*s+2*n*u+4*s*s-4*s*u+u*u,v=9*a*i-3*a*a-3*a*o-6*i*i+3*i*o+9*n*s-3*n*n-3*n*u-6*s*s+3*s*u,f=3*a*a-6*a*i+a*o-a*e+2*i*i+2*i*e-o*e+3*n*n-6*n*s+n*u-n*t+2*s*s+2*s*t-u*t,c=1*a*i-a*a+a*e-i*e+n*s-n*n+n*t-s*t,h=[];Od(l,v,f,c,h);for(var d=1e-7,y=[],g=0;g<6;g+=2)Math.abs(h[g+1])=0&&h[g]<=1&&y.push(h[g]);y.push(1),y.push(0);for(var p=-1,m,b,w,E=0;E=0?wl?(e-i)*(e-i)+(t-s)*(t-s):v-c},Er=function(e,t,a){for(var n,i,s,o,u,l=0,v=0;v=e&&e>=s||n<=e&&e<=s)u=(e-n)/(s-n)*(o-i)+i,u>t&&l++;else continue;return l%2!==0},Yr=function(e,t,a,n,i,s,o,u,l){var v=new Array(a.length),f;u[0]!=null?(f=Math.atan(u[1]/u[0]),u[0]<0?f=f+Math.PI/2:f=-f-Math.PI/2):f=u;for(var c=Math.cos(-f),h=Math.sin(-f),d=0;d0){var g=Cn(v,-l);y=En(g)}else y=v;return Er(e,t,y)},Fd=function(e,t,a,n,i,s,o,u){for(var l=new Array(a.length*2),v=0;v=0&&g<=1&&m.push(g),p>=0&&p<=1&&m.push(p),m.length===0)return[];var b=m[0]*u[0]+e,w=m[0]*u[1]+t;if(m.length>1){if(m[0]==m[1])return[b,w];var E=m[1]*u[0]+e,C=m[1]*u[1]+t;return[b,w,E,C]}else return[b,w]},pi=function(e,t,a){return t<=e&&e<=a||a<=e&&e<=t?e:e<=t&&t<=a||a<=t&&t<=e?t:a},nt=function(e,t,a,n,i,s,o,u,l){var v=e-i,f=a-e,c=o-i,h=t-s,d=n-t,y=u-s,g=c*h-y*v,p=f*h-d*v,m=y*f-c*d;if(m!==0){var b=g/m,w=p/m,E=.001,C=0-E,x=1+E;return C<=b&&b<=x&&C<=w&&w<=x?[e+b*f,t+b*d]:l?[e+b*f,t+b*d]:[]}else return g===0||p===0?pi(e,a,o)===o?[o,u]:pi(e,a,i)===i?[i,s]:pi(i,o,a)===a?[a,n]:[]:[]},qd=function(e,t,a,n,i){var s=[],o=n/2,u=i/2,l=t,v=a;s.push({x:l+o*e[0],y:v+u*e[1]});for(var f=1;f0){var y=Cn(f,-u);h=En(y)}else h=f}else h=a;for(var g,p,m,b,w=0;w2){for(var d=[v[0],v[1]],y=Math.pow(d[0]-e,2)+Math.pow(d[1]-t,2),g=1;gv&&(v=w)},get:function(b){return l[b]}},c=0;c0?L=R.edgesTo(A)[0]:L=A.edgesTo(R)[0];var I=n(L);A=A.id(),x[A]>x[D]+I&&(x[A]=x[D]+I,S.nodes.indexOf(A)<0?S.push(A):S.updateItem(A),C[A]=0,E[A]=[]),x[A]==x[D]+I&&(C[A]=C[A]+C[D],E[A].push(D))}else for(var M=0;M0;){for(var N=w.pop(),V=0;V0&&o.push(a[u]);o.length!==0&&i.push(n.collection(o))}return i},rh=function(e,t){for(var a=0;a5&&arguments[5]!==void 0?arguments[5]:nh,o=n,u,l,v=0;v=2?va(e,t,a,0,Jo,ih):va(e,t,a,0,Qo)},squaredEuclidean:function(e,t,a){return va(e,t,a,0,Jo)},manhattan:function(e,t,a){return va(e,t,a,0,Qo)},max:function(e,t,a){return va(e,t,a,-1/0,sh)}};Zt["squared-euclidean"]=Zt.squaredEuclidean;Zt.squaredeuclidean=Zt.squaredEuclidean;function Nn(r,e,t,a,n,i){var s;return $e(r)?s=r:s=Zt[r]||Zt.euclidean,e===0&&$e(r)?s(n,i):s(e,t,a,n,i)}var oh=vr({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),io=function(e){return oh(e)},Tn=function(e,t,a,n,i){var s=i!=="kMedoids",o=s?function(f){return a[f]}:function(f){return n[f](a)},u=function(c){return n[c](t)},l=a,v=t;return Nn(e,n.length,o,u,l,v)},mi=function(e,t,a){for(var n=a.length,i=new Array(n),s=new Array(n),o=new Array(t),u=null,l=0;la)return!1}return!0},vh=function(e,t,a){for(var n=0;no&&(o=t[l][v],u=v);i[u].push(e[l])}for(var f=0;f=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var d=t[s],y=t[n[s]],g;i.mode==="dendrogram"?g={left:d,right:y,key:d.key}:g={value:d.value.concat(y.value),key:d.key},e[d.index]=g,e.splice(y.index,1),t[d.key]=g;for(var p=0;pa[y.key][m.key]&&(u=a[y.key][m.key])):i.linkage==="max"?(u=a[d.key][m.key],a[d.key][m.key]0&&n.push(i);return n},nu=function(e,t,a){for(var n=[],i=0;io&&(s=l,o=t[i*e+l])}s>0&&n.push(s)}for(var v=0;vl&&(u=v,l=f)}a[i]=s[u]}return n=nu(e,t,a),n},iu=function(e){for(var t=this.cy(),a=this.nodes(),n=Eh(e),i={},s=0;s=D?(P=D,D=R,A=L):R>P&&(P=R);for(var I=0;I0?1:0;x[k%n.minIterations*o+V]=Y,N+=Y}if(N>0&&(k>=n.minIterations-1||k==n.maxIterations-1)){for(var J=0,Z=0;Z1||C>1)&&(o=!0),f[b]=[],m.outgoers().forEach(function(S){S.isEdge()&&f[b].push(S.id())})}else c[b]=[void 0,m.target().id()]}):s.forEach(function(m){var b=m.id();if(m.isNode()){var w=m.degree(!0);w%2&&(u?l?o=!0:l=b:u=b),f[b]=[],m.connectedEdges().forEach(function(E){return f[b].push(E.id())})}else c[b]=[m.source().id(),m.target().id()]});var h={found:!1,trail:void 0};if(o)return h;if(l&&u)if(i){if(v&&l!=v)return h;v=l}else{if(v&&l!=v&&u!=v)return h;v||(v=l)}else v||(v=s[0].id());var d=function(b){for(var w=b,E=[b],C,x,S;f[w].length;)C=f[w].shift(),x=c[C][0],S=c[C][1],w!=S?(f[S]=f[S].filter(function(k){return k!=C}),w=S):!i&&w!=x&&(f[x]=f[x].filter(function(k){return k!=C}),w=x),E.unshift(C),E.unshift(w);return E},y=[],g=[];for(g=d(v);g.length!=1;)f[g[0]].length==0?(y.unshift(s.getElementById(g.shift())),y.unshift(s.getElementById(g.shift()))):g=d(g.shift()).concat(g);y.unshift(s.getElementById(g.shift()));for(var p in f)if(f[p].length)return h;return h.found=!0,h.trail=this.spawn(y,!0),h}},Qa=function(){var e=this,t={},a=0,n=0,i=[],s=[],o={},u=function(c,h){for(var d=s.length-1,y=[],g=e.spawn();s[d].x!=c||s[d].y!=h;)y.push(s.pop().edge),d--;y.push(s.pop().edge),y.forEach(function(p){var m=p.connectedNodes().intersection(e);g.merge(p),m.forEach(function(b){var w=b.id(),E=b.connectedEdges().intersection(e);g.merge(b),t[w].cutVertex?g.merge(E.filter(function(C){return C.isLoop()})):g.merge(E)})}),i.push(g)},l=function(c,h,d){c===d&&(n+=1),t[h]={id:a,low:a++,cutVertex:!1};var y=e.getElementById(h).connectedEdges().intersection(e);if(y.size()===0)i.push(e.spawn(e.getElementById(h)));else{var g,p,m,b;y.forEach(function(w){g=w.source().id(),p=w.target().id(),m=g===h?p:g,m!==d&&(b=w.id(),o[b]||(o[b]=!0,s.push({x:h,y:m,edge:w})),m in t?t[h].low=Math.min(t[h].low,t[m].id):(l(c,m,h),t[h].low=Math.min(t[h].low,t[m].low),t[h].id<=t[m].low&&(t[h].cutVertex=!0,u(h,m))))})}};e.forEach(function(f){if(f.isNode()){var c=f.id();c in t||(n=0,l(c,c),t[c].cutVertex=n>1)}});var v=Object.keys(t).filter(function(f){return t[f].cutVertex}).map(function(f){return e.getElementById(f)});return{cut:e.spawn(v),components:i}},Ah={hopcroftTarjanBiconnected:Qa,htbc:Qa,htb:Qa,hopcroftTarjanBiconnectedComponents:Qa},Ja=function(){var e=this,t={},a=0,n=[],i=[],s=e.spawn(e),o=function(l){i.push(l),t[l]={index:a,low:a++,explored:!1};var v=e.getElementById(l).connectedEdges().intersection(e);if(v.forEach(function(y){var g=y.target().id();g!==l&&(g in t||o(g),t[g].explored||(t[l].low=Math.min(t[l].low,t[g].low)))}),t[l].index===t[l].low){for(var f=e.spawn();;){var c=i.pop();if(f.merge(e.getElementById(c)),t[c].low=t[l].index,t[c].explored=!0,c===l)break}var h=f.edgesWith(f),d=f.merge(h);n.push(d),s=s.difference(d)}};return e.forEach(function(u){if(u.isNode()){var l=u.id();l in t||o(l)}}),{cut:s,components:n}},Rh={tarjanStronglyConnected:Ja,tsc:Ja,tscc:Ja,tarjanStronglyConnectedComponents:Ja},Dv={};[Sa,od,ud,vd,cd,hd,yd,Wd,Ut,Kt,Rs,ah,ph,wh,Dh,Ph,Ah,Rh].forEach(function(r){ye(Dv,r)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var Bv=0,Pv=1,Av=2,Or=function(e){if(!(this instanceof Or))return new Or(e);this.id="Thenable/1.0.7",this.state=Bv,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))};Or.prototype={fulfill:function(e){return su(this,Pv,"fulfillValue",e)},reject:function(e){return su(this,Av,"rejectReason",e)},then:function(e,t){var a=this,n=new Or;return a.onFulfilled.push(uu(e,n,"fulfill")),a.onRejected.push(uu(t,n,"reject")),Rv(a),n.proxy}};var su=function(e,t,a,n){return e.state===Bv&&(e.state=t,e[a]=n,Rv(e)),e},Rv=function(e){e.state===Pv?ou(e,"onFulfilled",e.fulfillValue):e.state===Av&&ou(e,"onRejected",e.rejectReason)},ou=function(e,t,a){if(e[t].length!==0){var n=e[t];e[t]=[];var i=function(){for(var o=0;o0}},clearQueue:function(){return function(){var t=this,a=t.length!==void 0,n=a?t:[t],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var s=0;s-1}return qi=e,qi}var _i,Ru;function Zh(){if(Ru)return _i;Ru=1;var r=Vn();function e(t,a){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,a])):n[i][1]=a,this}return _i=e,_i}var Gi,Mu;function Qh(){if(Mu)return Gi;Mu=1;var r=Uh(),e=Kh(),t=Xh(),a=Yh(),n=Zh();function i(s){var o=-1,u=s==null?0:s.length;for(this.clear();++o-1&&a%1==0&&a0&&this.spawn(n).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return t!=null&&t._private.classes.has(e)},toggleClass:function(e,t){Ve(e)||(e=e.match(/\S+/g)||[]);for(var a=this,n=t===void 0,i=[],s=0,o=a.length;s0&&this.spawn(i).updateStyle().emit("class"),a},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var a=this;if(t==null)t=250;else if(t===0)return a;return a.addClass(e),setTimeout(function(){a.removeClass(e)},t),a}};vn.className=vn.classNames=vn.classes;var Re={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:er,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Re.variable="(?:[\\w-.]|(?:\\\\"+Re.metaChar+"))+";Re.className="(?:[\\w-]|(?:\\\\"+Re.metaChar+"))+";Re.value=Re.string+"|"+Re.number;Re.id=Re.variable;(function(){var r,e,t;for(r=Re.comparatorOp.split("|"),t=0;t=0)&&e!=="="&&(Re.comparatorOp+="|\\!"+e)})();var Fe=function(){return{checks:[]}},ue={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},Os=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(r,e){return Sc(r.selector,e.selector)}),Bg=(function(){for(var r={},e,t=0;t0&&v.edgeCount>0)return ze("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(v.edgeCount>1)return ze("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;v.edgeCount===1&&ze("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},Ig=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(v){return v??""},t=function(v){return he(v)?'"'+v+'"':e(v)},a=function(v){return" "+v+" "},n=function(v,f){var c=v.type,h=v.value;switch(c){case ue.GROUP:{var d=e(h);return d.substring(0,d.length-1)}case ue.DATA_COMPARE:{var y=v.field,g=v.operator;return"["+y+a(e(g))+t(h)+"]"}case ue.DATA_BOOL:{var p=v.operator,m=v.field;return"["+e(p)+m+"]"}case ue.DATA_EXIST:{var b=v.field;return"["+b+"]"}case ue.META_COMPARE:{var w=v.operator,E=v.field;return"[["+E+a(e(w))+t(h)+"]]"}case ue.STATE:return h;case ue.ID:return"#"+h;case ue.CLASS:return"."+h;case ue.PARENT:case ue.CHILD:return i(v.parent,f)+a(">")+i(v.child,f);case ue.ANCESTOR:case ue.DESCENDANT:return i(v.ancestor,f)+" "+i(v.descendant,f);case ue.COMPOUND_SPLIT:{var C=i(v.left,f),x=i(v.subject,f),S=i(v.right,f);return C+(C.length>0?" ":"")+x+S}case ue.TRUE:return""}},i=function(v,f){return v.checks.reduce(function(c,h,d){return c+(f===v&&d===0?"$":"")+n(h,f)},"")},s="",o=0;o1&&o=0&&(t=t.replace("!",""),f=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),v=!0),(i||o||v)&&(u=!i&&!s?"":""+e,l=""+a),v&&(e=u=u.toLowerCase(),a=l=l.toLowerCase()),t){case"*=":n=u.indexOf(l)>=0;break;case"$=":n=u.indexOf(l,u.length-l.length)>=0;break;case"^=":n=u.indexOf(l)===0;break;case"=":n=e===a;break;case">":c=!0,n=e>a;break;case">=":c=!0,n=e>=a;break;case"<":c=!0,n=e0;){var v=n.shift();e(v),i.add(v.id()),o&&a(n,i,v)}return r}function Vv(r,e,t){if(t.isParent())for(var a=t._private.children,n=0;n1&&arguments[1]!==void 0?arguments[1]:!0;return lo(this,r,e,Vv)};function qv(r,e,t){if(t.isChild()){var a=t._private.parent;e.has(a.id())||r.push(a)}}Qt.forEachUp=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return lo(this,r,e,qv)};function Gg(r,e,t){qv(r,e,t),Vv(r,e,t)}Qt.forEachUpAndDown=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return lo(this,r,e,Gg)};Qt.ancestors=Qt.parents;var Ba,_v;Ba=_v={data:Ne.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:Ne.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Ne.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ne.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Ne.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Ne.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};Ba.attr=Ba.data;Ba.removeAttr=Ba.removeData;var Hg=_v,_n={};function ps(r){return function(e){var t=this;if(e===void 0&&(e=!0),t.length!==0)if(t.isNode()&&!t.removed()){for(var a=0,n=t[0],i=n._private.edges,s=0;se}),minIndegree:It("indegree",function(r,e){return re}),minOutdegree:It("outdegree",function(r,e){return re})});ye(_n,{totalDegree:function(e){for(var t=0,a=this.nodes(),n=0;n0,c=f;f&&(v=v[0]);var h=c?v.position():{x:0,y:0};t!==void 0?l.position(e,t+h[e]):i!==void 0&&l.position({x:i.x+h.x,y:i.y+h.y})}else{var d=a.position(),y=o?a.parent():null,g=y&&y.length>0,p=g;g&&(y=y[0]);var m=p?y.position():{x:0,y:0};return i={x:d.x-m.x,y:d.y-m.y},e===void 0?i:i[e]}else if(!s)return;return this}};Ir.modelPosition=Ir.point=Ir.position;Ir.modelPositions=Ir.points=Ir.positions;Ir.renderedPoint=Ir.renderedPosition;Ir.relativePoint=Ir.relativePosition;var Wg=Gv,Jt=function(e){switch(e){case"left":case"right-inside":return"left";case"right":case"left-inside":return"right";default:return"center"}},jt=function(e){switch(e){case"top":case"bottom-inside":return"top";case"bottom":case"top-inside":return"bottom";default:return"center"}},$g=function(e){switch(e){case"left":return"right";case"right":return"left";case"left-inside":return"left";case"right-inside":return"right";default:return"center"}},Xt,gt;Xt=gt={};gt.renderedBoundingBox=function(r){var e=this.boundingBox(r),t=this.cy(),a=t.zoom(),n=t.pan(),i=e.x1*a+n.x,s=e.x2*a+n.x,o=e.y1*a+n.y,u=e.y2*a+n.y;return{x1:i,x2:s,y1:o,y2:u,w:s-i,h:u-o}};gt.dirtyCompoundBoundsCache=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(t){if(t.isParent()){var a=t._private;a.compoundBoundsClean=!1,a.bbCache=null,r||t.emitAndNotify("bounds")}}),this)};gt.updateCompoundBounds=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!r&&e.batching())return this;function t(s){if(!s.isParent())return;var o=s._private,u=s.children(),l=s.pstyle("compound-sizing-wrt-labels").value==="include",v={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")}},f=u.boundingBox({includeLabels:l,includeOverlays:!1,useCache:!1}),c=o.position;(f.w===0||f.h===0)&&(f={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},f.x1=c.x-f.w/2,f.x2=c.x+f.w/2,f.y1=c.y-f.h/2,f.y2=c.y+f.h/2);function h(k,B,D){var P=0,A=0,R=B+D;return k>0&&R>0&&(P=B/R*k,A=D/R*k),{biasDiff:P,biasComplementDiff:A}}function d(k,B,D,P){if(D.units==="%")switch(P){case"width":return k>0?D.pfValue*k:0;case"height":return B>0?D.pfValue*B:0;case"average":return k>0&&B>0?D.pfValue*(k+B)/2:0;case"min":return k>0&&B>0?k>B?D.pfValue*B:D.pfValue*k:0;case"max":return k>0&&B>0?k>B?D.pfValue*k:D.pfValue*B:0;default:return 0}else return D.units==="px"?D.pfValue:0}var y=v.width.left.value;v.width.left.units==="px"&&v.width.val>0&&(y=y*100/v.width.val);var g=v.width.right.value;v.width.right.units==="px"&&v.width.val>0&&(g=g*100/v.width.val);var p=v.height.top.value;v.height.top.units==="px"&&v.height.val>0&&(p=p*100/v.height.val);var m=v.height.bottom.value;v.height.bottom.units==="px"&&v.height.val>0&&(m=m*100/v.height.val);var b=h(v.width.val-f.w,y,g),w=b.biasDiff,E=b.biasComplementDiff,C=h(v.height.val-f.h,p,m),x=C.biasDiff,S=C.biasComplementDiff;o.autoPadding=d(f.w,f.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(f.w,v.width.val),c.x=(-w+f.x1+f.x2+E)/2,o.autoHeight=Math.max(f.h,v.height.val),c.y=(-x+f.y1+f.y2+S)/2}for(var a=0;ae.x2?n:e.x2,e.y1=ae.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},rt=function(e,t){return t==null?e:Lr(e,t.x1,t.y1,t.x2,t.y2)},fa=function(e,t,a){return yr(e,t,a)},ja=function(e,t,a){if(!t.cy().headless()){var n=t._private,i=n.rstyle,s=i.arrowWidth/2,o=t.pstyle(a+"-arrow-shape").value,u,l;if(o!=="none"){a==="source"?(u=i.srcX,l=i.srcY):a==="target"?(u=i.tgtX,l=i.tgtY):(u=i.midX,l=i.midY);var v=n.arrowBounds=n.arrowBounds||{},f=v[a]=v[a]||{};f.x1=u-s,f.y1=l-s,f.x2=u+s,f.y2=l+s,f.w=f.x2-f.x1,f.h=f.y2-f.y1,un(f,1),Lr(e,f.x1,f.y1,f.x2,f.y2)}}},ys=function(e,t,a){if(!t.cy().headless()){var n;a?n=a+"-":n="";var i=t._private,s=i.rstyle,o=t.pstyle(n+"label").strValue;if(o){var u=t.pstyle("text-halign"),l=t.pstyle("text-valign"),v=fa(s,"labelWidth",a),f=fa(s,"labelHeight",a),c=fa(s,"labelX",a),h=fa(s,"labelY",a),d=t.pstyle(n+"text-margin-x").pfValue,y=t.pstyle(n+"text-margin-y").pfValue,g=t.isEdge(),p=t.pstyle(n+"text-rotation"),m=t.pstyle("text-outline-width").pfValue,b=t.pstyle("text-border-width").pfValue,w=b/2,E=t.pstyle("text-background-padding").pfValue,C=2,x=f,S=v,k=S/2,B=x/2,D,P,A,R;if(g)D=c-k,P=c+k,A=h-B,R=h+B;else{switch(Jt(u.value)){case"left":D=c-S,P=c;break;case"center":D=c-k,P=c+k;break;case"right":D=c,P=c+S;break}switch(jt(l.value)){case"top":A=h-x,R=h;break;case"center":A=h-B,R=h+B;break;case"bottom":A=h,R=h+x;break}}var L=d-Math.max(m,w)-E-C,I=d+Math.max(m,w)+E+C,M=y-Math.max(m,w)-E-C,O=y+Math.max(m,w)+E+C;D+=L,P+=I,A+=M,R+=O;var q=a||"main",_=i.labelBounds,N=_[q]=_[q]||{};N.x1=D,N.y1=A,N.x2=P,N.y2=R,N.w=P-D,N.h=R-A,N.leftPad=L,N.rightPad=I,N.topPad=M,N.botPad=O;var V=g&&p.strValue==="autorotate",Y=p.pfValue!=null&&p.pfValue!==0;if(V||Y){var J=V?fa(i.rstyle,"labelAngle",a):p.pfValue,Z=Math.cos(J),ee=Math.sin(J),re=(D+P)/2,ne=(A+R)/2;if(!g){switch(Jt(u.value)){case"left":re=P;break;case"right":re=D;break}switch(jt(l.value)){case"top":ne=R;break;case"bottom":ne=A;break}}var X=function(we,me){return we=we-re,me=me-ne,{x:we*Z-me*ee+re,y:we*ee+me*Z+ne}},F=X(D,A),H=X(D,R),W=X(P,A),U=X(P,R);D=Math.min(F.x,H.x,W.x,U.x),P=Math.max(F.x,H.x,W.x,U.x),A=Math.min(F.y,H.y,W.y,U.y),R=Math.max(F.y,H.y,W.y,U.y)}var te=q+"Rot",le=_[te]=_[te]||{};le.x1=D,le.y1=A,le.x2=P,le.y2=R,le.w=P-D,le.h=R-A,Lr(e,D,A,P,R),Lr(i.labelBounds.all,D,A,P,R)}return e}},ol=function(e,t){if(!t.cy().headless()){var a=t.pstyle("outline-opacity").value,n=t.pstyle("outline-width").value,i=t.pstyle("outline-offset").value,s=n+i;Wv(e,t,a,s,"outside",s/2)}},Wv=function(e,t,a,n,i,s){if(!(a===0||n<=0||i==="inside")){var o=t.cy(),u=o.renderer(),l=u.nodeShapes[u.getNodeShape(t)];if(l){var v=t.position(),f=v.x,c=v.y,h=t.width(),d=t.height();if(l.hasMiterBounds){i==="center"&&(n/=2);var y=l.miterBounds(f,c,h,d,n);rt(e,y)}else s!=null&&s>0&&ln(e,[s,s,s,s])}}},Ug=function(e,t){if(!t.cy().headless()){var a=t.pstyle("border-opacity").value,n=t.pstyle("border-width").pfValue,i=t.pstyle("border-position").value;Wv(e,t,a,n,i)}},Kg=function(e,t){var a=e._private.cy,n=a.styleEnabled(),i=a.headless(),s=mr(),o=e._private,u=e.isNode(),l=e.isEdge(),v,f,c,h,d,y,g=o.rstyle,p=u&&n?e.pstyle("bounds-expansion").pfValue:[0],m=function(De){return De.pstyle("display").value!=="none"},b=!n||m(e)&&(!l||m(e.source())&&m(e.target()));if(b){var w=0,E=0;n&&t.includeOverlays&&(w=e.pstyle("overlay-opacity").value,w!==0&&(E=e.pstyle("overlay-padding").value));var C=0,x=0;n&&t.includeUnderlays&&(C=e.pstyle("underlay-opacity").value,C!==0&&(x=e.pstyle("underlay-padding").value));var S=Math.max(E,x),k=0,B=0;if(n&&(k=e.pstyle("width").pfValue,B=k/2),u&&t.includeNodes){var D=e.position();d=D.x,y=D.y;var P=e.outerWidth(),A=P/2,R=e.outerHeight(),L=R/2;v=d-A,f=d+A,c=y-L,h=y+L,Lr(s,v,c,f,h),n&&ol(s,e),n&&t.includeOutlines&&!i&&ol(s,e),n&&Ug(s,e)}else if(l&&t.includeEdges)if(n&&!i){var I=e.pstyle("curve-style").strValue;if(v=Math.min(g.srcX,g.midX,g.tgtX),f=Math.max(g.srcX,g.midX,g.tgtX),c=Math.min(g.srcY,g.midY,g.tgtY),h=Math.max(g.srcY,g.midY,g.tgtY),v-=B,f+=B,c-=B,h+=B,Lr(s,v,c,f,h),I==="haystack"){var M=g.haystackPts;if(M&&M.length===2){if(v=M[0].x,c=M[0].y,f=M[1].x,h=M[1].y,v>f){var O=v;v=f,f=O}if(c>h){var q=c;c=h,h=q}Lr(s,v-B,c-B,f+B,h+B)}}else if(I==="bezier"||I==="unbundled-bezier"||tt(I,"segments")||tt(I,"taxi")){var _;switch(I){case"bezier":case"unbundled-bezier":_=g.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":_=g.linePts;break}if(_!=null)for(var N=0;N<_.length;N++){var V=_[N];v=V.x-B,f=V.x+B,c=V.y-B,h=V.y+B,Lr(s,v,c,f,h)}}}else{var Y=e.source(),J=Y.position(),Z=e.target(),ee=Z.position();if(v=J.x,f=ee.x,c=J.y,h=ee.y,v>f){var re=v;v=f,f=re}if(c>h){var ne=c;c=h,h=ne}v-=B,f+=B,c-=B,h+=B,Lr(s,v,c,f,h)}if(n&&t.includeEdges&&l&&(ja(s,e,"mid-source"),ja(s,e,"mid-target"),ja(s,e,"source"),ja(s,e,"target")),n){var X=e.pstyle("ghost").value==="yes";if(X){var F=e.pstyle("ghost-offset-x").pfValue,H=e.pstyle("ghost-offset-y").pfValue;Lr(s,s.x1+F,s.y1+H,s.x2+F,s.y2+H)}}var W=o.bodyBounds=o.bodyBounds||{};Uo(W,s),ln(W,p),un(W,1),n&&(v=s.x1,f=s.x2,c=s.y1,h=s.y2,Lr(s,v-S,c-S,f+S,h+S));var U=o.overlayBounds=o.overlayBounds||{};Uo(U,s),ln(U,p),un(U,1);var te=o.labelBounds=o.labelBounds||{};te.all!=null?Dd(te.all):te.all=mr(),n&&t.includeLabels&&(t.includeMainLabels&&ys(s,e,null),l&&(t.includeSourceLabels&&ys(s,e,"source"),t.includeTargetLabels&&ys(s,e,"target")))}return s.x1=Dr(s.x1),s.y1=Dr(s.y1),s.x2=Dr(s.x2),s.y2=Dr(s.y2),s.w=Dr(s.x2-s.x1),s.h=Dr(s.y2-s.y1),s.w>0&&s.h>0&&b&&(ln(s,p),un(s,1)),s},$v=function(e){var t=0,a=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:up,e=arguments.length>1?arguments[1]:void 0,t=0;t=0;o--)s(o);return this};ct.removeAllListeners=function(){return this.removeListener("*")};ct.emit=ct.trigger=function(r,e,t){var a=this.listeners,n=a.length;return this.emitting++,Ve(e)||(e=[e]),lp(this,function(i,s){t!=null&&(a=[{event:s.event,type:s.type,namespace:s.namespace,callback:t}],n=a.length);for(var o=function(){var v=a[u];if(v.type===s.type&&(!v.namespace||v.namespace===s.namespace||v.namespace===op)&&i.eventMatches(i.context,v,s)){var f=[s];e!=null&&Jc(f,e),i.beforeEmit(i.context,v,s),v.conf&&v.conf.one&&(i.listeners=i.listeners.filter(function(d){return d!==v}));var c=i.callbackContext(i.context,v,s),h=v.callback.apply(c,f);i.afterEmit(i.context,v,s),h===!1&&(s.stopPropagation(),s.preventDefault())}},u=0;u1&&!s){var o=this.length-1,u=this[o],l=u._private.data.id;this[o]=void 0,this[e]=u,i.set(l,{ele:u,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,a=e._private.data.id,n=t.map,i=n.get(a);if(!i)return this;var s=i.index;return this.unmergeAt(s),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&he(e)){var a=e;e=t.mutableElements().filter(a)}for(var n=0;n=0;t--){var a=this[t];e(a)&&this.unmergeAt(t)}return this},map:function(e,t){for(var a=[],n=this,i=0;ia&&(a=u,n=o)}return{value:a,ele:n}},min:function(e,t){for(var a=1/0,n,i=this,s=0;s=0&&i"u"?"undefined":rr(Symbol))!=e&&rr(Symbol.iterator)!=e;t&&(Sn[Symbol.iterator]=function(){var a=this,n={value:void 0,done:!1},i=0,s=this.length;return Jl({next:function(){return i1&&arguments[1]!==void 0?arguments[1]:!0,a=this[0],n=a.cy();if(n.styleEnabled()&&a){a._private.styleDirty&&(a._private.styleDirty=!1,n.style().apply(a));var i=a._private.style[e];return i??(t?n.style().getDefaultProperty(e):null)}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var a=t.pstyle(e);return a.pfValue!==void 0?a.pfValue:a.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var a=this[0];if(a)return t.style().getRenderedStyle(a,e)},style:function(e,t){var a=this.cy();if(!a.styleEnabled())return this;var n=!1,i=a.style();if(Me(e)){var s=e;i.applyBypass(this,s,n),this.emitAndNotify("style")}else if(he(e))if(t===void 0){var o=this[0];return o?i.getStylePropertyValue(o,e):void 0}else i.applyBypass(this,e,t,n),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?i.getRawStyle(u):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var a=!1,n=t.style(),i=this;if(e===void 0)for(var s=0;s0&&e.push(v[0]),e.push(o[0])}return this.spawn(e,!0).filter(r)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});dr.neighbourhood=dr.neighborhood;dr.closedNeighbourhood=dr.closedNeighborhood;dr.openNeighbourhood=dr.openNeighborhood;ye(dr,{source:Br(function(e){var t=this[0],a;return t&&(a=t._private.source||t.cy().collection()),a&&e?a.filter(e):a},"source"),target:Br(function(e){var t=this[0],a;return t&&(a=t._private.target||t.cy().collection()),a&&e?a.filter(e):a},"target"),sources:ml({attr:"source"}),targets:ml({attr:"target"})});function ml(r){return function(t){for(var a=[],n=0;n0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});dr.componentsOf=dr.components;var lr=function(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){He("A collection must have a reference to the core");return}var i=new Kr,s=!1;if(!t)t=[];else if(t.length>0&&Me(t[0])&&!Ia(t[0])){s=!0;for(var o=[],u=new ra,l=0,v=t.length;l0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=this,a=t.cy(),n=a._private,i=[],s=[],o,u=0,l=t.length;u0){for(var q=o.length===t.length?t:new lr(a,o),_=0;_0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=this,a=[],n={},i=t._private.cy;function s(R){for(var L=R._private.edges,I=0;I0&&(r?D.emitAndNotify("remove"):e&&D.emit("remove"));for(var P=0;P0?P=R:D=R;while(Math.abs(A)>s&&++L=i?m(B,L):I===0?L:w(B,D,D+l)}var C=!1;function x(){C=!0,(r!==e||t!==a)&&b()}var S=function(D){return C||x(),r===e&&t===a?D:D===0?0:D===1?1:g(E(D),e,a)};S.getControlPoints=function(){return[{x:r,y:e},{x:t,y:a}]};var k="generateBezier("+[r,e,t,a]+")";return S.toString=function(){return k},S}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var wp=(function(){function r(a){return-a.tension*a.x-a.friction*a.v}function e(a,n,i){var s={x:a.x+i.dx*n,v:a.v+i.dv*n,tension:a.tension,friction:a.friction};return{dx:s.v,dv:r(s)}}function t(a,n){var i={dx:a.v,dv:r(a)},s=e(a,n*.5,i),o=e(a,n*.5,s),u=e(a,n,o),l=1/6*(i.dx+2*(s.dx+o.dx)+u.dx),v=1/6*(i.dv+2*(s.dv+o.dv)+u.dv);return a.x=a.x+l*n,a.v=a.v+v*n,a}return function a(n,i,s){var o={x:-1,v:0,tension:null,friction:null},u=[0],l=0,v=1/1e4,f=16/1e3,c,h,d;for(n=parseFloat(n)||500,i=parseFloat(i)||20,s=s||null,o.tension=n,o.friction=i,c=s!==null,c?(l=a(n,i),h=l/s*f):h=f;d=t(d||o,h),u.push(1+d.x),l+=16,Math.abs(d.x)>v&&Math.abs(d.v)>v;);return c?function(y){return u[y*(u.length-1)|0]}:l}})(),qe=function(e,t,a,n){var i=bp(e,t,a,n);return function(s,o,u){return s+(o-s)*i(u)}},cn={linear:function(e,t,a){return e+(t-e)*a},ease:qe(.25,.1,.25,1),"ease-in":qe(.42,0,1,1),"ease-out":qe(0,0,.58,1),"ease-in-out":qe(.42,0,.58,1),"ease-in-sine":qe(.47,0,.745,.715),"ease-out-sine":qe(.39,.575,.565,1),"ease-in-out-sine":qe(.445,.05,.55,.95),"ease-in-quad":qe(.55,.085,.68,.53),"ease-out-quad":qe(.25,.46,.45,.94),"ease-in-out-quad":qe(.455,.03,.515,.955),"ease-in-cubic":qe(.55,.055,.675,.19),"ease-out-cubic":qe(.215,.61,.355,1),"ease-in-out-cubic":qe(.645,.045,.355,1),"ease-in-quart":qe(.895,.03,.685,.22),"ease-out-quart":qe(.165,.84,.44,1),"ease-in-out-quart":qe(.77,0,.175,1),"ease-in-quint":qe(.755,.05,.855,.06),"ease-out-quint":qe(.23,1,.32,1),"ease-in-out-quint":qe(.86,0,.07,1),"ease-in-expo":qe(.95,.05,.795,.035),"ease-out-expo":qe(.19,1,.22,1),"ease-in-out-expo":qe(1,0,0,1),"ease-in-circ":qe(.6,.04,.98,.335),"ease-out-circ":qe(.075,.82,.165,1),"ease-in-out-circ":qe(.785,.135,.15,.86),spring:function(e,t,a){if(a===0)return cn.linear;var n=wp(e,t,a);return function(i,s,o){return i+(s-i)*n(o)}},"cubic-bezier":qe};function xl(r,e,t,a,n){if(a===1||e===t)return t;var i=n(e,t,a);return r==null||((r.roundValue||r.color)&&(i=Math.round(i)),r.min!==void 0&&(i=Math.max(i,r.min)),r.max!==void 0&&(i=Math.min(i,r.max))),i}function El(r,e){return r.pfValue!=null||r.value!=null?r.pfValue!=null&&(e==null||e.type.units!=="%")?r.pfValue:r.value:r}function Ot(r,e,t,a,n){var i=n!=null?n.type:null;t<0?t=0:t>1&&(t=1);var s=El(r,n),o=El(e,n);if(ae(s)&&ae(o))return xl(i,s,o,t,a);if(Ve(s)&&Ve(o)){for(var u=[],l=0;l0?(h==="spring"&&d.push(s.duration),s.easingImpl=cn[h].apply(null,d)):s.easingImpl=cn[h]}var y=s.easingImpl,g;if(s.duration===0?g=1:g=(t-u)/s.duration,s.applying&&(g=s.progress),g<0?g=0:g>1&&(g=1),s.delay==null){var p=s.startPosition,m=s.position;if(m&&n&&!r.locked()){var b={};da(p.x,m.x)&&(b.x=Ot(p.x,m.x,g,y)),da(p.y,m.y)&&(b.y=Ot(p.y,m.y,g,y)),r.position(b)}var w=s.startPan,E=s.pan,C=i.pan,x=E!=null&&a;x&&(da(w.x,E.x)&&(C.x=Ot(w.x,E.x,g,y)),da(w.y,E.y)&&(C.y=Ot(w.y,E.y,g,y)),r.emit("pan"));var S=s.startZoom,k=s.zoom,B=k!=null&&a;B&&(da(S,k)&&(i.zoom=ka(i.minZoom,Ot(S,k,g,y),i.maxZoom)),r.emit("zoom")),(x||B)&&r.emit("viewport");var D=s.style;if(D&&D.length>0&&n){for(var P=0;P=0;x--){var S=C[x];S()}C.splice(0,C.length)},m=h.length-1;m>=0;m--){var b=h[m],w=b._private;if(w.stopped){h.splice(m,1),w.hooked=!1,w.playing=!1,w.started=!1,p(w.frames);continue}!w.playing&&!w.applying||(w.playing&&w.applying&&(w.applying=!1),w.started||Ep(v,b,r),xp(v,b,r,f),w.applying&&(w.applying=!1),p(w.frames),w.step!=null&&w.step(r),b.completed()&&(h.splice(m,1),w.hooked=!1,w.playing=!1,w.started=!1,p(w.completes)),y=!0)}return!f&&h.length===0&&d.length===0&&a.push(v),y}for(var i=!1,s=0;s0?e.notify("draw",t):e.notify("draw")),t.unmerge(a),e.emit("step")}var Cp={animate:Ne.animate(),animation:Ne.animation(),animated:Ne.animated(),clearQueue:Ne.clearQueue(),delay:Ne.delay(),delayAnimation:Ne.delayAnimation(),stop:Ne.stop(),addToAnimationPool:function(e){var t=this;t.styleEnabled()&&t._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function t(){e._private.animationsRunning&&wn(function(i){Cl(i,e),t()})}var a=e.renderer();a&&a.beforeRender?a.beforeRender(function(i,s){Cl(s,e)},a.beforeRenderPriorities.animations):t()}},Tp={qualifierCompare:function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},eventMatches:function(e,t,a){var n=t.qualifier;return n!=null?e!==a.target&&Ia(a.target)&&n.matches(a.target):!0},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,a){return t.qualifier!=null?a.target:e}},tn=function(e){return he(e)?new vt(e):e},tf={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Gn(Tp,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,a){return this.emitter().on(e,tn(t),a),this},removeListener:function(e,t,a){return this.emitter().removeListener(e,tn(t),a),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,a){return this.emitter().one(e,tn(t),a),this},once:function(e,t,a){return this.emitter().one(e,tn(t),a),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};Ne.eventAliasesOn(tf);var zs={png:function(e){var t=this._private.renderer;return e=e||{},t.png(e)},jpg:function(e){var t=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",t.jpg(e)}};zs.jpeg=zs.jpg;var dn={layout:function(e){var t=this;if(e==null){He("Layout options must be specified to make a layout");return}if(e.name==null){He("A `name` must be specified to make a layout");return}var a=e.name,n=t.extension("layout",a);if(n==null){He("No such layout `"+a+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;he(e.eles)?i=t.$(e.eles):i=e.eles!=null?e.eles:t.$();var s=new n(ye({},e,{cy:t,eles:i}));return s}};dn.createLayout=dn.makeLayout=dn.layout;var Sp={notify:function(e,t){var a=this._private;if(this.batching()){a.batchNotifications=a.batchNotifications||{};var n=a.batchNotifications[e]=a.batchNotifications[e]||this.collection();t!=null&&n.merge(t);return}if(a.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,t)}},notifications:function(e){var t=this._private;return e===void 0?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(a){var n=e.batchNotifications[a];n.empty()?t.notify(a):t.notify(a,n)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch(function(){for(var a=Object.keys(e),n=0;n0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(a){var n=a._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Fs.invalidateDimensions=Fs.resize;var hn={collection:function(e,t){return he(e)?this.$(e):Tr(e)?e.collection():Ve(e)?(t||(t={}),new lr(this,e,t.unique,t.removed)):new lr(this)},nodes:function(e){var t=this.$(function(a){return a.isNode()});return e?t.filter(e):t},edges:function(e){var t=this.$(function(a){return a.isEdge()});return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};hn.elements=hn.filter=hn.$;var sr={},wa="t",Dp="f";sr.apply=function(r){for(var e=this,t=e._private,a=t.cy,n=a.collection(),i=0;i0;if(c||f&&h){var d=void 0;c&&h||c?d=l.properties:h&&(d=l.mappedProperties);for(var y=0;y1&&(w=1),o.color){var C=a.valueMin[0],x=a.valueMax[0],S=a.valueMin[1],k=a.valueMax[1],B=a.valueMin[2],D=a.valueMax[2],P=a.valueMin[3]==null?1:a.valueMin[3],A=a.valueMax[3]==null?1:a.valueMax[3],R=[Math.round(C+(x-C)*w),Math.round(S+(k-S)*w),Math.round(B+(D-B)*w),Math.round(P+(A-P)*w)];i={bypass:a.bypass,name:a.name,value:R,strValue:"rgb("+R[0]+", "+R[1]+", "+R[2]+")"}}else if(o.number){var L=a.valueMin+(a.valueMax-a.valueMin)*w;i=this.parse(a.name,L,a.bypass,c)}else return!1;if(!i)return y(),!1;i.mapping=a,a=i;break}case s.data:{for(var I=a.field.split("."),M=f.data,O=0;O0&&i>0){for(var o={},u=!1,l=0;l0?r.delayAnimation(s).play().promise().then(b):b()}).then(function(){return r.animation({style:o,duration:i,easing:r.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){t.removeBypasses(r,n),r.emitAndNotify("style"),a.transitioning=!1})}else a.transitioning&&(this.removeBypasses(r,n),r.emitAndNotify("style"),a.transitioning=!1)};sr.checkTrigger=function(r,e,t,a,n,i){var s=this.properties[e],o=n(s);r.removed()||o!=null&&o(t,a,r)&&i(s)};sr.checkZOrderTrigger=function(r,e,t,a){var n=this;this.checkTrigger(r,e,t,a,function(i){return i.triggersZOrder},function(){n._private.cy.notify("zorder",r)})};sr.checkBoundsTrigger=function(r,e,t,a){this.checkTrigger(r,e,t,a,function(n){return n.triggersBounds},function(n){r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache()})};sr.checkConnectedEdgesBoundsTrigger=function(r,e,t,a){this.checkTrigger(r,e,t,a,function(n){return n.triggersBoundsOfConnectedEdges},function(n){r.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};sr.checkParallelEdgesBoundsTrigger=function(r,e,t,a){this.checkTrigger(r,e,t,a,function(n){return n.triggersBoundsOfParallelEdges},function(n){r.parallelEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};sr.checkTriggers=function(r,e,t,a){r.dirtyStyleCache(),this.checkZOrderTrigger(r,e,t,a),this.checkBoundsTrigger(r,e,t,a),this.checkConnectedEdgesBoundsTrigger(r,e,t,a),this.checkParallelEdgesBoundsTrigger(r,e,t,a)};var _a={};_a.applyBypass=function(r,e,t,a){var n=this,i=[],s=!0;if(e==="*"||e==="**"){if(t!==void 0)for(var o=0;on.length?a=a.substr(n.length):a=""}function u(){i.length>s.length?i=i.substr(s.length):i=""}for(;;){var l=a.match(/^\s*$/);if(l)break;var v=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!v){ze("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}n=v[0];var f=v[1];if(f!=="core"){var c=new vt(f);if(c.invalid){ze("Skipping parsing of block: Invalid selector found in string stylesheet: "+f),o();continue}}var h=v[2],d=!1;i=h;for(var y=[];;){var g=i.match(/^\s*$/);if(g)break;var p=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!p){ze("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+h),d=!0;break}s=p[0];var m=p[1],b=p[2],w=e.properties[m];if(!w){ze("Skipping property: Invalid property name in: "+s),u();continue}var E=t.parse(m,b);if(!E){ze("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:m,val:b}),u()}if(d){o();break}t.selector(f);for(var C=0;C=7&&e[0]==="d"&&(v=new RegExp(o.data.regex).exec(e))){if(t)return!1;var c=o.data;return{name:r,value:v,strValue:""+e,mapped:c,field:v[1],bypass:t}}else if(e.length>=10&&e[0]==="m"&&(f=new RegExp(o.mapData.regex).exec(e))){if(t||l.multiple)return!1;var h=o.mapData;if(!(l.color||l.number))return!1;var d=this.parse(r,f[4]);if(!d||d.mapped)return!1;var y=this.parse(r,f[5]);if(!y||y.mapped)return!1;if(d.pfValue===y.pfValue||d.strValue===y.strValue)return ze("`"+r+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+r+": "+d.strValue+"`"),this.parse(r,d.strValue);if(l.color){var g=d.value,p=y.value,m=g[0]===p[0]&&g[1]===p[1]&&g[2]===p[2]&&(g[3]===p[3]||(g[3]==null||g[3]===1)&&(p[3]==null||p[3]===1));if(m)return!1}return{name:r,value:f,strValue:""+e,mapped:h,field:f[1],fieldMin:parseFloat(f[2]),fieldMax:parseFloat(f[3]),valueMin:d.value,valueMax:y.value,bypass:t}}}if(l.multiple&&a!=="multiple"){var b;if(u?b=e.split(/\s+/):Ve(e)?b=e:b=[e],l.evenMultiple&&b.length%2!==0)return null;for(var w=[],E=[],C=[],x="",S=!1,k=0;k0?" ":"")+B.strValue}return l.validate&&!l.validate(w,E)?null:l.singleEnum&&S?w.length===1&&he(w[0])?{name:r,value:w[0],strValue:w[0],bypass:t}:null:{name:r,value:w,pfValue:C,strValue:x,bypass:t,units:E}}var D=function(){for(var X=0;Xl.max||l.strictMax&&e===l.max))return null;var I={name:r,value:e,strValue:""+e+(P||""),units:P,bypass:t};return l.unitless||P!=="px"&&P!=="em"?I.pfValue=e:I.pfValue=P==="px"||!P?e:this.getEmSizeInPixels()*e,(P==="ms"||P==="s")&&(I.pfValue=P==="ms"?e:1e3*e),(P==="deg"||P==="rad")&&(I.pfValue=P==="rad"?e:Cd(e)),P==="%"&&(I.pfValue=e/100),I}else if(l.propList){var M=[],O=""+e;if(O!=="none"){for(var q=O.split(/\s*,\s*|\s+/),_=0;_0&&o>0&&!isNaN(a.w)&&!isNaN(a.h)&&a.w>0&&a.h>0){u=Math.min((s-2*t)/a.w,(o-2*t)/a.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=a.minZoom&&(a.maxZoom=t),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t=this._private,a=t.pan,n=t.zoom,i,s,o=!1;if(t.zoomingEnabled||(o=!0),ae(e)?s=e:Me(e)&&(s=e.level,e.position!=null?i=On(e.position,n,a):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!t.panningEnabled&&(o=!0)),s=s>t.maxZoom?t.maxZoom:s,s=st.maxZoom||!t.zoomingEnabled?s=!0:(t.zoom=u,i.push("zoom"))}if(n&&(!s||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;ae(l.x)&&(t.pan.x=l.x,o=!1),ae(l.y)&&(t.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(he(e)){var a=e;e=this.mutableElements().filter(a)}else Tr(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),i=this.width(),s=this.height();t=t===void 0?this._private.zoom:t;var o={x:(i-t*(n.x1+n.x2))/2,y:(s-t*(n.y1+n.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,t=e.container,a=this;return e.sizeCache=e.sizeCache||(t?(function(){var n=a.window().getComputedStyle(t),i=function(o){return parseFloat(n.getPropertyValue(o))};return{width:t.clientWidth-i("padding-left")-i("padding-right"),height:t.clientHeight-i("padding-top")-i("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,a=this.renderedExtent(),n={x1:(a.x1-e.x)/t,x2:(a.x2-e.x)/t,y1:(a.y1-e.y)/t,y2:(a.y2-e.y)/t};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};Pt.centre=Pt.center;Pt.autolockNodes=Pt.autolock;Pt.autoungrabifyNodes=Pt.autoungrabify;var Aa={data:Ne.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Ne.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Ne.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ne.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Aa.attr=Aa.data;Aa.removeAttr=Aa.removeData;var Ra=function(e){var t=this;e=ye({},e);var a=e.container;a&&!bn(a)&&bn(a[0])&&(a=a[0]);var n=a?a._cyreg:null;n=n||{},n&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];a&&(a._cyreg=n),n.cy=t;var s=je!==void 0&&a!==void 0&&!e.headless,o=e;o.layout=ye({name:s?"grid":"null"},o.layout),o.renderer=ye({name:s?"canvas":"null"},o.renderer);var u=function(d,y,g){return y!==void 0?y:g!==void 0?g:d},l=this._private={container:a,ready:!1,options:o,elements:new lr(this),listeners:[],aniEles:new lr(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,o.zoomingEnabled),userZoomingEnabled:u(!0,o.userZoomingEnabled),panningEnabled:u(!0,o.panningEnabled),userPanningEnabled:u(!0,o.userPanningEnabled),boxSelectionEnabled:u(!0,o.boxSelectionEnabled),autolock:u(!1,o.autolock,o.autolockNodes),autoungrabify:u(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:u(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:ae(o.zoom)?o.zoom:1,pan:{x:Me(o.pan)&&ae(o.pan.x)?o.pan.x:0,y:Me(o.pan)&&ae(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var v=function(d,y){var g=d.some(yc);if(g)return ta.all(d).then(y);y(d)};l.styleEnabled&&t.setStyle([]);var f=ye({},o,o.renderer);t.initRenderer(f);var c=function(d,y,g){t.notifications(!1);var p=t.mutableElements();p.length>0&&p.remove(),d!=null&&(Me(d)||Ve(d))&&t.add(d),t.one("layoutready",function(b){t.notifications(!0),t.emit(b),t.one("load",y),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",g),t.emit("done")});var m=ye({},t._private.options.layout);m.eles=t.elements(),t.layout(m).run()};v([o.style,o.elements],function(h){var d=h[0],y=h[1];l.styleEnabled&&t.style().append(d),c(y,function(){t.startAnimationLoop(),l.ready=!0,$e(o.ready)&&t.on("ready",o.ready);for(var g=0;g0,o=!!r.boundingBox,u=mr(o?r.boundingBox:structuredClone(e.extent())),l;if(Tr(r.roots))l=r.roots;else if(Ve(r.roots)){for(var v=[],f=0;f0;){var R=A(),L=k(R,D);if(L)R.outgoers().filter(function(ge){return ge.isNode()&&t.has(ge)}).forEach(P);else if(L===null){ze("Detected double maximal shift for node `"+R.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var I=0;if(r.avoidOverlap)for(var M=0;M0&&p[0].length<=3?be/2:0),Be=2*Math.PI/p[ce].length*xe;return ce===0&&p[0].length===1&&(Se=1),{x:W.x+Se*Math.cos(Be),y:W.y+Se*Math.sin(Be)}}else{var Oe=p[ce].length,Le=Math.max(Oe===1?0:o?(u.w-r.padding*2-U.w)/((r.grid?le:Oe)-1):(u.w-r.padding*2-U.w)/((r.grid?le:Oe)+1),I),Ae={x:W.x+(xe+1-(Oe+1)/2)*Le,y:W.y+(ce+1-(Z+1)/2)*te};return Ae}},we={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(we).indexOf(r.direction)===-1&&He("Invalid direction '".concat(r.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(we).join(", ")));var me=function(se){return Uc(De(se),u,we[r.direction])};return t.nodes().layoutPositions(this,r,me),this};var Mp={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function nf(r){this.options=ye({},Mp,r)}nf.prototype.run=function(){var r=this.options,e=r,t=r.cy,a=e.eles,n=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=a.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var s=mr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,l=u/Math.max(1,i.length-1),v,f=0,c=0;c1&&e.avoidOverlap){f*=1.75;var p=Math.cos(l)-Math.cos(0),m=Math.sin(l)-Math.sin(0),b=Math.sqrt(f*f/(p*p+m*m));v=Math.max(b,v)}var w=function(C,x){var S=e.startAngle+x*l*(n?1:-1),k=v*Math.cos(S),B=v*Math.sin(S),D={x:o.x+k,y:o.y+B};return D};return a.nodes().layoutPositions(this,e,w),this};var Lp={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function sf(r){this.options=ye({},Lp,r)}sf.prototype.run=function(){for(var r=this.options,e=r,t=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=r.cy,n=e.eles,i=n.nodes().not(":parent"),s=mr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],l=0,v=0;v0){var E=Math.abs(m[0].value-w.value);E>=g&&(m=[],p.push(m))}m.push(w)}var C=l+e.minNodeSpacing;if(!e.avoidOverlap){var x=p.length>0&&p[0].length>1,S=Math.min(s.w,s.h)/2-C,k=S/(p.length+x?1:0);C=Math.min(C,k)}for(var B=0,D=0;D1&&e.avoidOverlap){var L=Math.cos(R)-Math.cos(0),I=Math.sin(R)-Math.sin(0),M=Math.sqrt(C*C/(L*L+I*I));B=Math.max(M,B)}P.r=B,B+=C}if(e.equidistant){for(var O=0,q=0,_=0;_=r.numIter||(qp(a,r),a.temperature=a.temperature*r.coolingFactor,a.temperature=r.animationThreshold&&i(),wn(v)}};v()}else{for(;l;)l=s(u),u++;kl(a,r),o()}return this};Kn.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};Kn.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Op=function(e,t,a){for(var n=a.eles.edges(),i=a.eles.nodes(),s=mr(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:a.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=a.eles.components(),l={},v=0;v0){o.graphSet.push(S);for(var v=0;vn.count?0:n.graph},of=function(e,t,a,n){var i=n.graphSet[a];if(-10)var f=n.nodeOverlap*v,c=Math.sqrt(o*o+u*u),h=f*o/c,d=f*u/c;else var y=Dn(e,o,u),g=Dn(t,-1*o,-1*u),p=g.x-y.x,m=g.y-y.y,b=p*p+m*m,c=Math.sqrt(b),f=(e.nodeRepulsion+t.nodeRepulsion)/b,h=f*p/c,d=f*m/c;e.isLocked||(e.offsetX-=h,e.offsetY-=d),t.isLocked||(t.offsetX+=h,t.offsetY+=d)}},Hp=function(e,t,a,n){if(a>0)var i=e.maxX-t.minX;else var i=t.maxX-e.minX;if(n>0)var s=e.maxY-t.minY;else var s=t.maxY-e.minY;return i>=0&&s>=0?Math.sqrt(i*i+s*s):0},Dn=function(e,t,a){var n=e.positionX,i=e.positionY,s=e.height||1,o=e.width||1,u=a/t,l=s/o,v={};return t===0&&0a?(v.x=n,v.y=i+s/2,v):0t&&-1*l<=u&&u<=l?(v.x=n-o/2,v.y=i-o*a/2/t,v):0=l)?(v.x=n+s*t/2/a,v.y=i+s/2,v):(0>a&&(u<=-1*l||u>=l)&&(v.x=n-s*t/2/a,v.y=i-s/2),v)},Wp=function(e,t){for(var a=0;aa){var g=t.gravity*h/y,p=t.gravity*d/y;c.offsetX+=g,c.offsetY+=p}}}}},Up=function(e,t){var a=[],n=0,i=-1;for(a.push.apply(a,e.graphSet[0]),i+=e.graphSet[0].length;n<=i;){var s=a[n++],o=e.idToIndex[s],u=e.layoutNodes[o],l=u.children;if(0a)var i={x:a*e/n,y:a*t/n};else var i={x:e,y:t};return i},lf=function(e,t){var a=e.parentId;if(a!=null){var n=t.layoutNodes[t.idToIndex[a]],i=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,i=!0),(n.minX==null||e.minX-n.padLeftn.maxY)&&(n.maxY=e.maxY+n.padBottom,i=!0),(n.minY==null||e.minY-n.padTopp&&(d+=g+t.componentSpacing,h=0,y=0,g=0)}}},Yp={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function vf(r){this.options=ye({},Yp,r)}vf.prototype.run=function(){var r=this.options,e=r,t=r.cy,a=e.eles,n=a.nodes().not(":parent");e.sort&&(n=n.sort(e.sort));var i=mr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});if(i.h===0||i.w===0)a.nodes().layoutPositions(this,e,function(Y){return{x:i.x1,y:i.y1}});else{var s=n.size(),o=Math.sqrt(s*i.h/i.w),u=Math.round(o),l=Math.round(i.w/i.h*o),v=function(J){if(J==null)return Math.min(u,l);var Z=Math.min(u,l);Z==u?u=J:l=J},f=function(J){if(J==null)return Math.max(u,l);var Z=Math.max(u,l);Z==u?u=J:l=J},c=e.rows,h=e.cols!=null?e.cols:e.columns;if(c!=null&&h!=null)u=c,l=h;else if(c!=null&&h==null)u=c,l=Math.ceil(s/u);else if(c==null&&h!=null)l=h,u=Math.ceil(s/l);else if(l*u>s){var d=v(),y=f();(d-1)*y>=s?v(d-1):(y-1)*d>=s&&f(y-1)}else for(;l*u=s?f(p+1):v(g+1)}var m=i.w/l,b=i.h/u;if(e.condense&&(m=0,b=0),e.avoidOverlap)for(var w=0;w=l&&(L=0,R++)},M={},O=0;O(L=zd(r,e,I[M],I[M+1],I[M+2],I[M+3])))return g(x,L),!0}else if(k.edgeType==="bezier"||k.edgeType==="multibezier"||k.edgeType==="self"||k.edgeType==="compound"){for(var I=k.allpts,M=0;M+5(L=Nd(r,e,I[M],I[M+1],I[M+2],I[M+3],I[M+4],I[M+5])))return g(x,L),!0}for(var O=O||S.source,q=q||S.target,_=n.getArrowWidth(B,D),N=[{name:"source",x:k.arrowStartX,y:k.arrowStartY,angle:k.srcArrowAngle},{name:"target",x:k.arrowEndX,y:k.arrowEndY,angle:k.tgtArrowAngle},{name:"mid-source",x:k.midX,y:k.midY,angle:k.midsrcArrowAngle},{name:"mid-target",x:k.midX,y:k.midY,angle:k.midtgtArrowAngle}],M=0;M0&&(p(O),p(q))}function b(x,S,k){return yr(x,S,k)}function w(x,S){var k=x._private,B=c,D;S?D=S+"-":D="",x.boundingBox();var P=k.labelBounds[S||"main"],A=x.pstyle(D+"label").value,R=x.pstyle("text-events").strValue==="yes";if(!(!R||!A)){var L=b(k.rscratch,"labelX",S),I=b(k.rscratch,"labelY",S),M=b(k.rscratch,"labelAngle",S),O=x.pstyle(D+"text-margin-x").pfValue,q=x.pstyle(D+"text-margin-y").pfValue,_=P.x1-B-O,N=P.x2+B-O,V=P.y1-B-q,Y=P.y2+B-q;if(M){var J=Math.cos(M),Z=Math.sin(M),ee=function(U,te){return U=U-L,te=te-I,{x:U*J-te*Z+L,y:U*Z+te*J+I}},re=ee(_,V),ne=ee(_,Y),X=ee(N,V),F=ee(N,Y),H=[re.x+O,re.y+q,X.x+O,X.y+q,F.x+O,F.y+q,ne.x+O,ne.y+q];if(Er(r,e,H))return g(x),!0}else if(at(P,r,e))return g(x),!0}}for(var E=s.length-1;E>=0;E--){var C=s[E];C.isNode()?p(C)||w(C):m(C)||w(C)||w(C,"source")||w(C,"target")}return o};Rt.getAllInBox=function(r,e,t,a){var n=this.getCachedZSortedEles().interactive,i=this.cy.zoom(),s=2/i,o=[],u=Math.min(r,t),l=Math.max(r,t),v=Math.min(e,a),f=Math.max(e,a);r=u,t=l,e=v,a=f;var c=mr({x1:r,y1:e,x2:t,y2:a}),h=[{x:c.x1,y:c.y1},{x:c.x2,y:c.y1},{x:c.x2,y:c.y2},{x:c.x1,y:c.y2}],d=[[h[0],h[1]],[h[1],h[2]],[h[2],h[3]],[h[3],h[0]]];function y(U,te,le){return yr(U,te,le)}function g(U,te){var le=U._private,De=s,we="";U.boundingBox();var me=le.labelBounds.main;if(!me)return null;var ge=y(le.rscratch,"labelX",te),se=y(le.rscratch,"labelY",te),de=y(le.rscratch,"labelAngle",te),ce=U.pstyle(we+"text-margin-x").pfValue,xe=U.pstyle(we+"text-margin-y").pfValue,be=me.x1-De-ce,Se=me.x2+De-ce,Be=me.y1-De-xe,Oe=me.y2+De-xe;if(de){var Le=Math.cos(de),Ae=Math.sin(de),Q=function(z,G){return z=z-ge,G=G-se,{x:z*Le-G*Ae+ge,y:z*Ae+G*Le+se}};return[Q(be,Be),Q(Se,Be),Q(Se,Oe),Q(be,Oe)]}else return[{x:be,y:Be},{x:Se,y:Be},{x:Se,y:Oe},{x:be,y:Oe}]}function p(U,te,le,De){function we(me,ge,se){return(se.y-me.y)*(ge.x-me.x)>(ge.y-me.y)*(se.x-me.x)}return we(U,le,De)!==we(te,le,De)&&we(U,te,le)!==we(U,te,De)}for(var m=0;m0?-(Math.PI-e.ang):Math.PI+e.ang},ry=function(e,t,a,n,i){if(e!==Rl?Ml(t,e,Vr):ey(kr,Vr),Ml(t,a,kr),Pl=Vr.nx*kr.ny-Vr.ny*kr.nx,Al=Vr.nx*kr.nx-Vr.ny*-kr.ny,Ur=Math.asin(Math.max(-1,Math.min(1,Pl))),Math.abs(Ur)<1e-6){Vs=t.x,qs=t.y,Et=zt=0;return}Tt=1,gn=!1,Al<0?Ur<0?Ur=Math.PI+Ur:(Ur=Math.PI-Ur,Tt=-1,gn=!0):Ur>0&&(Tt=-1,gn=!0),t.radius!==void 0?zt=t.radius:zt=n,bt=Ur/2,an=Math.min(Vr.len/2,kr.len/2),i?(zr=Math.abs(Math.cos(bt)*zt/Math.sin(bt)),zr>an?(zr=an,Et=Math.abs(zr*Math.sin(bt)/Math.cos(bt))):Et=zt):(zr=Math.min(an,zt),Et=Math.abs(zr*Math.sin(bt)/Math.cos(bt))),_s=t.x+kr.nx*zr,Gs=t.y+kr.ny*zr,Vs=_s-kr.ny*Et*Tt,qs=Gs+kr.nx*Et*Tt,hf=t.x+Vr.nx*zr,gf=t.y+Vr.ny*zr,Rl=t};function pf(r,e){e.radius===0?r.lineTo(e.cx,e.cy):r.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function po(r,e,t,a){var n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return a===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(ry(r,e,t,a,n),{cx:Vs,cy:qs,radius:Et,startX:hf,startY:gf,stopX:_s,stopY:Gs,startAngle:Vr.ang+Math.PI/2*Tt,endAngle:kr.ang-Math.PI/2*Tt,counterClockwise:gn})}var Ma=.01,ty=Math.sqrt(2*Ma),gr={};gr.findMidptPtsEtc=function(r,e){var t=e.posPts,a=e.intersectionPts,n=e.vectorNormInverse,i,s=r.pstyle("source-endpoint"),o=r.pstyle("target-endpoint"),u=s.units!=null&&o.units!=null,l=function(E,C,x,S){var k=S-C,B=x-E,D=Math.sqrt(B*B+k*k);return{x:-k/D,y:B/D}},v=r.pstyle("edge-distances").value;switch(v){case"node-position":i=t;break;case"intersection":i=a;break;case"endpoints":{if(u){var f=this.manualEndptToPx(r.source()[0],s),c=Qe(f,2),h=c[0],d=c[1],y=this.manualEndptToPx(r.target()[0],o),g=Qe(y,2),p=g[0],m=g[1],b={x1:h,y1:d,x2:p,y2:m};n=l(h,d,p,m),i=b}else ze("Edge ".concat(r.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),i=a;break}}return{midptPts:i,vectorNormInverse:n}};gr.findHaystackPoints=function(r){for(var e=0;e0?Math.max(G-$,0):Math.min(G+$,0)},A=P(B,S),R=P(D,k),L=!1;m===l?p=Math.abs(A)>Math.abs(R)?n:a:m===u||m===o?(p=a,L=!0):(m===i||m===s)&&(p=n,L=!0);var I=p===a,M=I?R:A,O=I?D:B,q=to(O),_=!1;!(L&&(w||C))&&(m===o&&O<0||m===u&&O>0||m===i&&O>0||m===s&&O<0)&&(q*=-1,M=q*Math.abs(M),_=!0);var N;if(w){var V=E<0?1+E:E;N=V*M}else{var Y=E<0?M:0;N=Y+E*q}var J=function(G){return Math.abs(G)=Math.abs(M)},Z=J(N),ee=J(Math.abs(M)-Math.abs(N)),re=Z||ee;if(re&&!_)if(I){var ne=Math.abs(O)<=c/2,X=Math.abs(B)<=h/2;if(ne){var F=(v.x1+v.x2)/2,H=v.y1,W=v.y2;t.segpts=[F,H,F,W]}else if(X){var U=(v.y1+v.y2)/2,te=v.x1,le=v.x2;t.segpts=[te,U,le,U]}else t.segpts=[v.x1,v.y2]}else{var De=Math.abs(O)<=f/2,we=Math.abs(D)<=d/2;if(De){var me=(v.y1+v.y2)/2,ge=v.x1,se=v.x2;t.segpts=[ge,me,se,me]}else if(we){var de=(v.x1+v.x2)/2,ce=v.y1,xe=v.y2;t.segpts=[de,ce,de,xe]}else t.segpts=[v.x2,v.y1]}else if(I){var be=v.y1+N+(g?c/2*q:0),Se=v.x1,Be=v.x2;t.segpts=[Se,be,Be,be]}else{var Oe=v.x1+N+(g?f/2*q:0),Le=v.y1,Ae=v.y2;t.segpts=[Oe,Le,Oe,Ae]}if(t.isRound){var Q=r.pstyle("taxi-radius").value,T=r.pstyle("radius-type").value[0]==="arc-radius";t.radii=new Array(t.segpts.length/2).fill(Q),t.isArcRadius=new Array(t.segpts.length/2).fill(T)}};gr.tryToCorrectInvalidPoints=function(r,e){var t=r._private.rscratch;if(t.edgeType==="bezier"){var a=e.srcPos,n=e.tgtPos,i=e.srcW,s=e.srcH,o=e.tgtW,u=e.tgtH,l=e.srcShape,v=e.tgtShape,f=e.srcCornerRadius,c=e.tgtCornerRadius,h=e.srcRs,d=e.tgtRs,y=!ae(t.startX)||!ae(t.startY),g=!ae(t.arrowStartX)||!ae(t.arrowStartY),p=!ae(t.endX)||!ae(t.endY),m=!ae(t.arrowEndX)||!ae(t.arrowEndY),b=3,w=this.getArrowWidth(r.pstyle("width").pfValue,r.pstyle("arrow-scale").value)*this.arrowShapeWidth,E=b*w,C=Dt({x:t.ctrlpts[0],y:t.ctrlpts[1]},{x:t.startX,y:t.startY}),x=CO.poolIndex()){var q=M;M=O,O=q}var _=A.srcPos=M.position(),N=A.tgtPos=O.position(),V=A.srcW=M.outerWidth(),Y=A.srcH=M.outerHeight(),J=A.tgtW=O.outerWidth(),Z=A.tgtH=O.outerHeight(),ee=A.srcShape=t.nodeShapes[e.getNodeShape(M)],re=A.tgtShape=t.nodeShapes[e.getNodeShape(O)],ne=A.srcCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,X=A.tgtCornerRadius=O.pstyle("corner-radius").value==="auto"?"auto":O.pstyle("corner-radius").pfValue,F=A.tgtRs=O._private.rscratch,H=A.srcRs=M._private.rscratch;A.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var W=0;W=ty||(Be=Math.sqrt(Math.max(Se*Se,Ma)+Math.max(be*be,Ma)));var Oe=A.vector={x:Se,y:be},Le=A.vectorNorm={x:Oe.x/Be,y:Oe.y/Be},Ae={x:-Le.y,y:Le.x};A.nodesOverlap=!ae(Be)||re.checkPoint(me[0],me[1],0,J,Z,N.x,N.y,X,F)||ee.checkPoint(se[0],se[1],0,V,Y,_.x,_.y,ne,H),A.vectorNormInverse=Ae,R={nodesOverlap:A.nodesOverlap,dirCounts:A.dirCounts,calculatedIntersection:!0,hasBezier:A.hasBezier,hasUnbundled:A.hasUnbundled,eles:A.eles,srcPos:N,srcRs:F,tgtPos:_,tgtRs:H,srcW:J,srcH:Z,tgtW:V,tgtH:Y,srcIntn:de,tgtIntn:ge,srcShape:re,tgtShape:ee,posPts:{x1:xe.x2,y1:xe.y2,x2:xe.x1,y2:xe.y1},intersectionPts:{x1:ce.x2,y1:ce.y2,x2:ce.x1,y2:ce.y1},vector:{x:-Oe.x,y:-Oe.y},vectorNorm:{x:-Le.x,y:-Le.y},vectorNormInverse:{x:-Ae.x,y:-Ae.y}}}var Q=we?R:A;te.nodesOverlap=Q.nodesOverlap,te.srcIntn=Q.srcIntn,te.tgtIntn=Q.tgtIntn,te.isRound=le.startsWith("round"),n&&(M.isParent()||M.isChild()||O.isParent()||O.isChild())&&(M.parents().anySame(O)||O.parents().anySame(M)||M.same(O)&&M.isParent())?e.findCompoundLoopPoints(U,Q,W,De):M===O?e.findLoopPoints(U,Q,W,De):le.endsWith("segments")?e.findSegmentsPoints(U,Q):le.endsWith("taxi")?e.findTaxiPoints(U,Q):le==="straight"||!De&&A.eles.length%2===1&&W===Math.floor(A.eles.length/2)?e.findStraightEdgePoints(U):e.findBezierPoints(U,Q,W,De,we),e.findEndpoints(U),e.tryToCorrectInvalidPoints(U,Q),e.checkForInvalidEdgeWarning(U),e.storeAllpts(U),e.storeEdgeProjections(U),e.calculateArrowAngles(U),e.recalculateEdgeLabelProjections(U),e.calculateLabelAngles(U)}},x=0;x0){var me=l,ge=xt(me,Gt(s)),se=xt(me,Gt(we)),de=ge;if(se2){var ce=xt(me,{x:we[2],y:we[3]});ce0){var K=v,ve=xt(K,Gt(s)),j=xt(K,Gt($)),ie=ve;if(j2){var oe=xt(K,{x:$[2],y:$[3]});oe=d||x){g={cp:w,segment:C};break}}if(g)break}var S=g.cp,k=g.segment,B=(d-p)/k.length,D=k.t1-k.t0,P=h?k.t0+D*B:k.t1-D*B;P=ka(0,P,1),e=$t(S.p0,S.p1,S.p2,P),c=ny(S.p0,S.p1,S.p2,P);break}case"straight":case"segments":case"haystack":{for(var A=0,R,L,I,M,O=a.allpts.length,q=0;q+3=d));q+=2);var _=d-L,N=_/R;N=ka(0,N,1),e=Sd(I,M,N),c=bf(I,M);break}}s("labelX",f,e.x),s("labelY",f,e.y),s("labelAutoAngle",f,c)}};l("source"),l("target"),this.applyLabelDimensions(r)}};Hr.applyLabelDimensions=function(r){this.applyPrefixedLabelDimensions(r),r.isEdge()&&(this.applyPrefixedLabelDimensions(r,"source"),this.applyPrefixedLabelDimensions(r,"target"))};Hr.applyPrefixedLabelDimensions=function(r,e){var t=r._private,a=this.getLabelText(r,e),n=kt(a,r._private.labelDimsKey);if(yr(t.rscratch,"prefixedLabelDimsKey",e)!==n){qr(t.rscratch,"prefixedLabelDimsKey",e,n);var i=this.calculateLabelDimensions(r,a),s=r.pstyle("line-height").pfValue,o=r.pstyle("font-size").pfValue,u=r.pstyle("text-wrap").strValue,l=yr(t.rscratch,"labelWrapCachedLines",e)||[],v=u!=="wrap"?1:Math.max(l.length,1),f=o*s,c=i.width,h=i.height+(v-1)*(s-1)*o;qr(t.rstyle,"labelWidth",e,c),qr(t.rscratch,"labelWidth",e,c),qr(t.rstyle,"labelHeight",e,h),qr(t.rscratch,"labelHeight",e,h),qr(t.rscratch,"labelLineHeight",e,f),qr(t.rscratch,"labelActualDescent",e,i.labelActualDescent)}};Hr.getLabelText=function(r,e){var t=r._private,a=e?e+"-":"",n=r.pstyle(a+"label").strValue,i=r.pstyle("text-transform").value,s=function(Y,J){return J?(qr(t.rscratch,Y,e,J),J):yr(t.rscratch,Y,e)};if(!n)return"";i=="none"||(i=="uppercase"?n=n.toUpperCase():i=="lowercase"&&(n=n.toLowerCase()));var o=r.pstyle("text-wrap").value;if(o==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var l="​",v=n.split(` +`),f=r.pstyle("text-max-width").pfValue,c=r.pstyle("text-overflow-wrap").value,h=c==="anywhere",d=[],y=/[\s\u200b]+|$/g,g=0;gf){var E=p.matchAll(y),C="",x=0,S=Cr(E),k;try{for(S.s();!(k=S.n()).done;){var B=k.value,D=B[0],P=p.substring(x,B.index);x=B.index+D.length;var A=C.length===0?P:C+P+D,R=this.calculateLabelDimensions(r,A),L=R.width;L<=f?C+=P+D:(C&&d.push(C),C=P+D)}}catch(V){S.e(V)}finally{S.f()}C.match(/^[\s\u200b]+$/)||d.push(C)}else d.push(p)}s("labelWrapCachedLines",d),n=s("labelWrapCachedText",d.join(` +`)),s("labelWrapKey",u)}else if(o==="ellipsis"){var I=r.pstyle("text-max-width").pfValue,M="",O="…",q=!1;if(this.calculateLabelDimensions(r,n).widthI)break;M+=n[_],_===n.length-1&&(q=!0)}return q||(M+=O),M}return n};Hr.getLabelJustification=function(r){var e=r.pstyle("text-justification").strValue,t=r.pstyle("text-halign").strValue;return e==="auto"?r.isNode()?$g(t):"center":e};Hr.calculateLabelDimensions=function(r,e){var t=this,a=t.cy.window(),n=a.document,i=0,s=r.pstyle("font-style").strValue,o=r.pstyle("font-size").pfValue,u=r.pstyle("font-family").strValue,l=r.pstyle("font-weight").strValue,v=r.pstyle("text-metrics").strValue||"font",f=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!f){f=this.labelCalcCanvas=n.createElement("canvas"),c=this.labelCalcCanvasContext=f.getContext("2d");var h=f.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}c.font="".concat(s," ").concat(l," ").concat(o,"px ").concat(u);for(var d=0,y=0,g=e.split(` +`),p=g.length,m=0,b=0,w=0;w1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var u=0;u=r.desktopTapThreshold2}var or=i(T);ar&&(r.hoverData.tapholdCancelled=!0);var Nr=function(){var Sr=r.hoverData.dragDelta=r.hoverData.dragDelta||[];Sr.length===0?(Sr.push(ke[0]),Sr.push(ke[1])):(Sr[0]+=ke[0],Sr[1]+=ke[1])};G=!0,n(Ee,["mousemove","vmousemove","tapdrag"],T,{x:j[0],y:j[1]});var We=function(Sr){return{originalEvent:T,type:Sr,position:{x:j[0],y:j[1]}}},$r=function(){r.data.bgActivePosistion=void 0,r.hoverData.selecting||$.emit(We("boxstart")),pe[4]=1,r.hoverData.selecting=!0,r.redrawHint("select",!0),r.redraw()};if(r.hoverData.which===3){if(ar){var Ar=We("cxtdrag");fe?fe.emit(Ar):$.emit(Ar),r.hoverData.cxtDragged=!0,(!r.hoverData.cxtOver||Ee!==r.hoverData.cxtOver)&&(r.hoverData.cxtOver&&r.hoverData.cxtOver.emit(We("cxtdragout")),r.hoverData.cxtOver=Ee,Ee&&Ee.emit(We("cxtdragover")))}}else if(r.hoverData.dragging){if(G=!0,$.panningEnabled()&&$.userPanningEnabled()){var Jr;if(r.hoverData.justStartedPan){var $a=r.hoverData.mdownPos;Jr={x:(j[0]-$a[0])*K,y:(j[1]-$a[1])*K},r.hoverData.justStartedPan=!1}else Jr={x:ke[0]*K,y:ke[1]*K};$.panBy(Jr),$.emit(We("dragpan")),r.hoverData.dragged=!0}j=r.projectIntoViewport(T.clientX,T.clientY)}else if(pe[4]==1&&(fe==null||fe.pannable())){if(ar){if(!r.hoverData.dragging&&$.boxSelectionEnabled()&&(or||!$.panningEnabled()||!$.userPanningEnabled()))$r();else if(!r.hoverData.selecting&&$.panningEnabled()&&$.userPanningEnabled()){var mt=s(fe,r.hoverData.downs);mt&&(r.hoverData.dragging=!0,r.hoverData.justStartedPan=!0,pe[4]=0,r.data.bgActivePosistion=Gt(ie),r.redrawHint("select",!0),r.redraw())}fe&&fe.pannable()&&fe.active()&&fe.unactivate()}}else{if(fe&&fe.pannable()&&fe.active()&&fe.unactivate(),(!fe||!fe.grabbed())&&Ee!=Ce&&(Ce&&n(Ce,["mouseout","tapdragout"],T,{x:j[0],y:j[1]}),Ee&&n(Ee,["mouseover","tapdragover"],T,{x:j[0],y:j[1]}),r.hoverData.last=Ee),fe)if(ar){if($.boxSelectionEnabled()&&or)fe&&fe.grabbed()&&(y(Pe),fe.emit(We("freeon")),Pe.emit(We("free")),r.dragData.didDrag&&(fe.emit(We("dragfreeon")),Pe.emit(We("dragfree")))),$r();else if(fe&&fe.grabbed()&&r.nodeIsDraggable(fe)){var wr=!r.dragData.didDrag;wr&&r.redrawHint("eles",!0),r.dragData.didDrag=!0,r.hoverData.draggingEles||h(Pe,{inDragLayer:!0});var cr={x:0,y:0};if(ae(ke[0])&&ae(ke[1])&&(cr.x+=ke[0],cr.y+=ke[1],wr)){var xr=r.hoverData.dragDelta;xr&&ae(xr[0])&&ae(xr[1])&&(cr.x+=xr[0],cr.y+=xr[1])}r.hoverData.draggingEles=!0,Pe.silentShift(cr).emit(We("position")).emit(We("drag")),r.redrawHint("drag",!0),r.redraw()}}else Nr();G=!0}if(pe[2]=j[0],pe[3]=j[1],G)return T.stopPropagation&&T.stopPropagation(),T.preventDefault&&T.preventDefault(),!1}},!1);var B,D,P;r.registerBinding(e,"mouseup",function(T){if(!(r.hoverData.which===1&&T.which!==1&&r.hoverData.capture)){var z=r.hoverData.capture;if(z){r.hoverData.capture=!1;var G=r.cy,$=r.projectIntoViewport(T.clientX,T.clientY),K=r.selection,ve=r.findNearestElement($[0],$[1],!0,!1),j=r.dragData.possibleDragElements,ie=r.hoverData.down,oe=i(T);r.data.bgActivePosistion&&(r.redrawHint("select",!0),r.redraw()),r.hoverData.tapholdCancelled=!0,r.data.bgActivePosistion=void 0,ie&&ie.unactivate();var pe=function(Ue){return{originalEvent:T,type:Ue,position:{x:$[0],y:$[1]}}};if(r.hoverData.which===3){var Ee=pe("cxttapend");if(ie?ie.emit(Ee):G.emit(Ee),!r.hoverData.cxtDragged){var Ce=pe("cxttap");ie?ie.emit(Ce):G.emit(Ce)}r.hoverData.cxtDragged=!1,r.hoverData.which=null}else if(r.hoverData.which===1){if(n(ve,["mouseup","tapend","vmouseup"],T,{x:$[0],y:$[1]}),!r.dragData.didDrag&&!r.hoverData.dragged&&!r.hoverData.selecting&&!r.hoverData.isOverThresholdDrag&&(n(ie,["click","tap","vclick"],T,{x:$[0],y:$[1]}),D=!1,T.timeStamp-P<=G.multiClickDebounceTime()?(B&&clearTimeout(B),D=!0,P=null,n(ie,["dblclick","dbltap","vdblclick"],T,{x:$[0],y:$[1]})):(B=setTimeout(function(){D||n(ie,["oneclick","onetap","voneclick"],T,{x:$[0],y:$[1]})},G.multiClickDebounceTime()),P=T.timeStamp)),ie==null&&!r.dragData.didDrag&&!r.hoverData.selecting&&!r.hoverData.dragged&&!i(T)&&(G.$(t).unselect(["tapunselect"]),j.length>0&&r.redrawHint("eles",!0),r.dragData.possibleDragElements=j=G.collection()),ve==ie&&!r.dragData.didDrag&&!r.hoverData.selecting&&ve!=null&&ve._private.selectable&&(r.hoverData.dragging||(G.selectionType()==="additive"||oe?ve.selected()?ve.unselect(["tapunselect"]):ve.select(["tapselect"]):oe||(G.$(t).unmerge(ve).unselect(["tapunselect"]),ve.select(["tapselect"]))),r.redrawHint("eles",!0)),r.hoverData.selecting){var fe=G.collection(r.getAllInBox(K[0],K[1],K[2],K[3]));r.redrawHint("select",!0),fe.length>0&&r.redrawHint("eles",!0),G.emit(pe("boxend"));var ke=function(Ue){return Ue.selectable()&&!Ue.selected()};G.selectionType()==="additive"||oe||G.$(t).unmerge(fe).unselect(),fe.emit(pe("box")).stdFilter(ke).select().emit(pe("boxselect")),r.redraw()}if(r.hoverData.dragging&&(r.hoverData.dragging=!1,r.redrawHint("select",!0),r.redrawHint("eles",!0),r.redraw()),!K[4]){r.redrawHint("drag",!0),r.redrawHint("eles",!0);var Pe=ie&&ie.grabbed();y(j),Pe&&(ie.emit(pe("freeon")),j.emit(pe("free")),r.dragData.didDrag&&(ie.emit(pe("dragfreeon")),j.emit(pe("dragfree"))))}}K[4]=0,r.hoverData.down=null,r.hoverData.cxtStarted=!1,r.hoverData.draggingEles=!1,r.hoverData.selecting=!1,r.hoverData.isOverThresholdDrag=!1,r.dragData.didDrag=!1,r.hoverData.dragged=!1,r.hoverData.dragDelta=[],r.hoverData.mdownPos=null,r.hoverData.mdownGPos=null,r.hoverData.which=null}}},!1);var A=[],R=4,L,I=1e5,M=function(T,z){for(var G=0;G=R){var $=A;if(L=M($,5),!L){var K=Math.abs($[0]);L=O($)&&K>5}if(L)for(var ve=0;ve<$.length;ve++)I=Math.min(Math.abs($[ve]),I)}else A.push(G),z=!0;else L&&(I=Math.min(Math.abs(G),I));if(!r.scrollingPage){var j=r.cy,ie=j.zoom(),oe=j.pan(),pe=r.projectIntoViewport(T.clientX,T.clientY),Ee=[pe[0]*ie+oe.x,pe[1]*ie+oe.y];if(r.hoverData.draggingEles||r.hoverData.dragging||r.hoverData.cxtStarted||x()){T.preventDefault();return}if(j.panningEnabled()&&j.userPanningEnabled()&&j.zoomingEnabled()&&j.userZoomingEnabled()){T.preventDefault(),r.data.wheelZooming=!0,clearTimeout(r.data.wheelTimeout),r.data.wheelTimeout=setTimeout(function(){r.data.wheelZooming=!1,r.redrawHint("eles",!0),r.redraw()},150);var Ce;z&&Math.abs(G)>5&&(G=to(G)*5),Ce=G/-250,L&&(Ce/=I,Ce*=3),Ce=Ce*r.wheelSensitivity;var fe=T.deltaMode===1;fe&&(Ce*=33);var ke=j.zoom()*Math.pow(10,Ce);T.type==="gesturechange"&&(ke=r.gestureStartZoom*T.scale),j.zoom({level:ke,renderedPosition:{x:Ee[0],y:Ee[1]}}),j.emit({type:T.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:T,position:{x:pe[0],y:pe[1]}})}}}};r.registerBinding(r.container,"wheel",q,!0),r.registerBinding(e,"scroll",function(T){r.scrollingPage=!0,clearTimeout(r.scrollingPageTimeout),r.scrollingPageTimeout=setTimeout(function(){r.scrollingPage=!1},250)},!0),r.registerBinding(r.container,"gesturestart",function(T){r.gestureStartZoom=r.cy.zoom(),r.hasTouchStarted||T.preventDefault()},!0),r.registerBinding(r.container,"gesturechange",function(Q){r.hasTouchStarted||q(Q)},!0),r.registerBinding(r.container,"mouseout",function(T){var z=r.projectIntoViewport(T.clientX,T.clientY);r.cy.emit({originalEvent:T,type:"mouseout",position:{x:z[0],y:z[1]}})},!1),r.registerBinding(r.container,"mouseover",function(T){var z=r.projectIntoViewport(T.clientX,T.clientY);r.cy.emit({originalEvent:T,type:"mouseover",position:{x:z[0],y:z[1]}})},!1);var _,N,V,Y,J,Z,ee,re,ne,X,F,H,W,U=function(T,z,G,$){return Math.sqrt((G-T)*(G-T)+($-z)*($-z))},te=function(T,z,G,$){return(G-T)*(G-T)+($-z)*($-z)},le;r.registerBinding(r.container,"touchstart",le=function(T){if(r.hasTouchStarted=!0,!!S(T)){p(),r.touchData.capture=!0,r.data.bgActivePosistion=void 0;var z=r.cy,G=r.touchData.now,$=r.touchData.earlier;if(T.touches[0]){var K=r.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);G[0]=K[0],G[1]=K[1]}if(T.touches[1]){var K=r.projectIntoViewport(T.touches[1].clientX,T.touches[1].clientY);G[2]=K[0],G[3]=K[1]}if(T.touches[2]){var K=r.projectIntoViewport(T.touches[2].clientX,T.touches[2].clientY);G[4]=K[0],G[5]=K[1]}var ve=function(or){return{originalEvent:T,type:or,position:{x:G[0],y:G[1]}}};if(T.touches[1]){r.touchData.singleTouchMoved=!0,y(r.dragData.touchDragEles);var j=r.findContainerClientCoords();ne=j[0],X=j[1],F=j[2],H=j[3],_=T.touches[0].clientX-ne,N=T.touches[0].clientY-X,V=T.touches[1].clientX-ne,Y=T.touches[1].clientY-X,W=0<=_&&_<=F&&0<=V&&V<=F&&0<=N&&N<=H&&0<=Y&&Y<=H;var ie=z.pan(),oe=z.zoom();J=U(_,N,V,Y),Z=te(_,N,V,Y),ee=[(_+V)/2,(N+Y)/2],re=[(ee[0]-ie.x)/oe,(ee[1]-ie.y)/oe];var pe=200,Ee=pe*pe;if(Z=1){for(var Pr=r.touchData.startPosition=[null,null,null,null,null,null],Ke=0;Ke=r.touchTapThreshold2}if(z&&r.touchData.cxt){T.preventDefault();var Ke=T.touches[0].clientX-ne,Ye=T.touches[0].clientY-X,Je=T.touches[1].clientX-ne,or=T.touches[1].clientY-X,Nr=te(Ke,Ye,Je,or),We=Nr/Z,$r=150,Ar=$r*$r,Jr=1.5,$a=Jr*Jr;if(We>=$a||Nr>=Ar){r.touchData.cxt=!1,r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var mt=oe("cxttapend");r.touchData.start?(r.touchData.start.unactivate().emit(mt),r.touchData.start=null):$.emit(mt)}}if(z&&r.touchData.cxt){var mt=oe("cxtdrag");r.data.bgActivePosistion=void 0,r.redrawHint("select",!0),r.touchData.start?r.touchData.start.emit(mt):$.emit(mt),r.touchData.start&&(r.touchData.start._private.grabbed=!1),r.touchData.cxtDragged=!0;var wr=r.findNearestElement(K[0],K[1],!0,!0);(!r.touchData.cxtOver||wr!==r.touchData.cxtOver)&&(r.touchData.cxtOver&&r.touchData.cxtOver.emit(oe("cxtdragout")),r.touchData.cxtOver=wr,wr&&wr.emit(oe("cxtdragover")))}else if(z&&T.touches[2]&&$.boxSelectionEnabled())T.preventDefault(),r.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,r.touchData.selecting||$.emit(oe("boxstart")),r.touchData.selecting=!0,r.touchData.didSelect=!0,G[4]=1,!G||G.length===0||G[0]===void 0?(G[0]=(K[0]+K[2]+K[4])/3,G[1]=(K[1]+K[3]+K[5])/3,G[2]=(K[0]+K[2]+K[4])/3+1,G[3]=(K[1]+K[3]+K[5])/3+1):(G[2]=(K[0]+K[2]+K[4])/3,G[3]=(K[1]+K[3]+K[5])/3),r.redrawHint("select",!0),r.redraw();else if(z&&T.touches[1]&&!r.touchData.didSelect&&$.zoomingEnabled()&&$.panningEnabled()&&$.userZoomingEnabled()&&$.userPanningEnabled()){T.preventDefault(),r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var cr=r.dragData.touchDragEles;if(cr){r.redrawHint("drag",!0);for(var xr=0;xr0&&!r.hoverData.draggingEles&&!r.swipePanning&&r.data.bgActivePosistion!=null&&(r.data.bgActivePosistion=void 0,r.redrawHint("select",!0),r.redraw())}},!1);var we;r.registerBinding(e,"touchcancel",we=function(T){var z=r.touchData.start;r.touchData.capture=!1,z&&z.unactivate()});var me,ge,se,de;if(r.registerBinding(e,"touchend",me=function(T){var z=r.touchData.start,G=r.touchData.capture;if(G)T.touches.length===0&&(r.touchData.capture=!1),T.preventDefault();else return;var $=r.selection;r.swipePanning=!1,r.hoverData.draggingEles=!1;var K=r.cy,ve=K.zoom(),j=r.touchData.now,ie=r.touchData.earlier;if(T.touches[0]){var oe=r.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);j[0]=oe[0],j[1]=oe[1]}if(T.touches[1]){var oe=r.projectIntoViewport(T.touches[1].clientX,T.touches[1].clientY);j[2]=oe[0],j[3]=oe[1]}if(T.touches[2]){var oe=r.projectIntoViewport(T.touches[2].clientX,T.touches[2].clientY);j[4]=oe[0],j[5]=oe[1]}var pe=function(Ar){return{originalEvent:T,type:Ar,position:{x:j[0],y:j[1]}}};z&&z.unactivate();var Ee;if(r.touchData.cxt){if(Ee=pe("cxttapend"),z?z.emit(Ee):K.emit(Ee),!r.touchData.cxtDragged){var Ce=pe("cxttap");z?z.emit(Ce):K.emit(Ce)}r.touchData.start&&(r.touchData.start._private.grabbed=!1),r.touchData.cxt=!1,r.touchData.start=null,r.redraw();return}if(!T.touches[2]&&K.boxSelectionEnabled()&&r.touchData.selecting){r.touchData.selecting=!1;var fe=K.collection(r.getAllInBox($[0],$[1],$[2],$[3]));$[0]=void 0,$[1]=void 0,$[2]=void 0,$[3]=void 0,$[4]=0,r.redrawHint("select",!0),K.emit(pe("boxend"));var ke=function(Ar){return Ar.selectable()&&!Ar.selected()};fe.emit(pe("box")).stdFilter(ke).select().emit(pe("boxselect")),fe.nonempty()&&r.redrawHint("eles",!0),r.redraw()}if(z?.unactivate(),T.touches[2])r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);else if(!T.touches[1]){if(!T.touches[0]){if(!T.touches[0]){r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var Pe=r.dragData.touchDragEles;if(z!=null){var ar=z._private.grabbed;y(Pe),r.redrawHint("drag",!0),r.redrawHint("eles",!0),ar&&(z.emit(pe("freeon")),Pe.emit(pe("free")),r.dragData.didDrag&&(z.emit(pe("dragfreeon")),Pe.emit(pe("dragfree")))),n(z,["touchend","tapend","vmouseup","tapdragout"],T,{x:j[0],y:j[1]}),z.unactivate(),r.touchData.start=null}else{var Ue=r.findNearestElement(j[0],j[1],!0,!0);n(Ue,["touchend","tapend","vmouseup","tapdragout"],T,{x:j[0],y:j[1]})}var Pr=r.touchData.startPosition[0]-j[0],Ke=Pr*Pr,Ye=r.touchData.startPosition[1]-j[1],Je=Ye*Ye,or=Ke+Je,Nr=or*ve*ve;r.touchData.singleTouchMoved||(z||K.$(":selected").unselect(["tapunselect"]),n(z,["tap","vclick"],T,{x:j[0],y:j[1]}),ge=!1,T.timeStamp-de<=K.multiClickDebounceTime()?(se&&clearTimeout(se),ge=!0,de=null,n(z,["dbltap","vdblclick"],T,{x:j[0],y:j[1]})):(se=setTimeout(function(){ge||n(z,["onetap","voneclick"],T,{x:j[0],y:j[1]})},K.multiClickDebounceTime()),de=T.timeStamp)),z!=null&&!r.dragData.didDrag&&z._private.selectable&&Nr"u"){var ce=[],xe=function(T){return{clientX:T.clientX,clientY:T.clientY,force:1,identifier:T.pointerId,pageX:T.pageX,pageY:T.pageY,radiusX:T.width/2,radiusY:T.height/2,screenX:T.screenX,screenY:T.screenY,target:T.target}},be=function(T){return{event:T,touch:xe(T)}},Se=function(T){ce.push(be(T))},Be=function(T){for(var z=0;z0)return V[0]}return null},d=Object.keys(c),y=0;y0?h:wv(i,s,e,t,a,n,o,u)},checkPoint:function(e,t,a,n,i,s,o,u){u=u==="auto"?lt(n,i):u;var l=2*u;if(Yr(e,t,this.points,s,o,n,i-l,[0,-1],a)||Yr(e,t,this.points,s,o,n-l,i,[0,-1],a))return!0;var v=n/2+2*a,f=i/2+2*a,c=[s-v,o-f,s-v,o,s+v,o,s+v,o-f];return!!(Er(e,t,c)||St(e,t,l,l,s+n/2-u,o+i/2-u,a)||St(e,t,l,l,s-n/2+u,o+i/2-u,a))}}};Zr.registerNodeShapes=function(){var r=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",pr(3,0)),this.generateRoundPolygon("round-triangle",pr(3,0)),this.generatePolygon("rectangle",pr(4,0)),r.square=r.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var t=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",t),this.generateRoundPolygon("round-diamond",t)}this.generatePolygon("pentagon",pr(5,0)),this.generateRoundPolygon("round-pentagon",pr(5,0)),this.generatePolygon("hexagon",pr(6,0)),this.generateRoundPolygon("round-hexagon",pr(6,0)),this.generatePolygon("heptagon",pr(7,0)),this.generateRoundPolygon("round-heptagon",pr(7,0)),this.generatePolygon("octagon",pr(8,0)),this.generateRoundPolygon("round-octagon",pr(8,0));var a=new Array(20);{var n=Ps(5,0),i=Ps(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*w)break}else if(l){if(m>=e.deqCost*h||m>=e.deqAvgCost*c)break}else if(b>=e.deqNoDrawCost*ws)break;var E=e.deq(a,g,y);if(E.length>0)for(var C=0;C0&&(e.onDeqd(a,d),!l&&e.shouldRedraw(a,d,g,y)&&i())},o=e.priority||js;n.beforeRender(s,o(a))}}}},uy=(function(){function r(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xn;dt(this,r),this.idsByKey=new Kr,this.keyForId=new Kr,this.cachesByLvl=new Kr,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=t}return ht(r,[{key:"getIdsFor",value:function(t){t==null&&He("Can not get id list for null key");var a=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new ra,a.set(t,n)),n}},{key:"addIdForKey",value:function(t,a){t!=null&&this.getIdsFor(t).add(a)}},{key:"deleteIdForKey",value:function(t,a){t!=null&&this.getIdsFor(t).delete(a)}},{key:"getNumberOfIdsForKey",value:function(t){return t==null?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var a=t.id(),n=this.keyForId.get(a),i=this.getKey(t);this.deleteIdForKey(n,a),this.addIdForKey(i,a),this.keyForId.set(a,i)}},{key:"deleteKeyMappingFor",value:function(t){var a=t.id(),n=this.keyForId.get(a);this.deleteIdForKey(n,a),this.keyForId.delete(a)}},{key:"keyHasChangedFor",value:function(t){var a=t.id(),n=this.keyForId.get(a),i=this.getKey(t);return n!==i}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var a=this.cachesByLvl,n=this.lvls,i=a.get(t);return i||(i=new Kr,a.set(t,i),n.push(t)),i}},{key:"getCache",value:function(t,a){return this.getCachesAt(a).get(t)}},{key:"get",value:function(t,a){var n=this.getKey(t),i=this.getCache(n,a);return i!=null&&this.updateKeyMappingFor(t),i}},{key:"getForCachedKey",value:function(t,a){var n=this.keyForId.get(t.id()),i=this.getCache(n,a);return i}},{key:"hasCache",value:function(t,a){return this.getCachesAt(a).has(t)}},{key:"has",value:function(t,a){var n=this.getKey(t);return this.hasCache(n,a)}},{key:"setCache",value:function(t,a,n){n.key=t,this.getCachesAt(a).set(t,n)}},{key:"set",value:function(t,a,n){var i=this.getKey(t);this.setCache(i,a,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,a){this.getCachesAt(a).delete(t)}},{key:"delete",value:function(t,a){var n=this.getKey(t);this.deleteCache(n,a)}},{key:"invalidateKey",value:function(t){var a=this;this.lvls.forEach(function(n){return a.deleteCache(t,n)})}},{key:"invalidate",value:function(t){var a=t.id(),n=this.keyForId.get(a);this.deleteKeyMappingFor(t);var i=this.doesEleInvalidateKey(t);return i&&this.invalidateKey(n),i||this.getNumberOfIdsForKey(n)===0}}])})(),Nl=25,nn=50,pn=-4,Hs=3,kf=7.99,ly=8,vy=1024,fy=1024,cy=1024,dy=.2,hy=.8,gy=10,py=.15,yy=.1,my=.9,by=.9,wy=100,xy=1,Wt={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},Ey=vr({getKey:null,doesEleInvalidateKey:xn,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:dv,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ba=function(e,t){var a=this;a.renderer=e,a.onDequeues=[];var n=Ey(t);ye(a,n),a.lookup=new uy(n.getKey,n.doesEleInvalidateKey),a.setupDequeueing()},tr=ba.prototype;tr.reasons=Wt;tr.getTextureQueue=function(r){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[r]=e.eleImgCaches[r]||[]};tr.getRetiredTextureQueue=function(r){var e=this,t=e.eleImgCaches.retired=e.eleImgCaches.retired||{},a=t[r]=t[r]||[];return a};tr.getElementQueue=function(){var r=this,e=r.eleCacheQueue=r.eleCacheQueue||new Va(function(t,a){return a.reqs-t.reqs});return e};tr.getElementKeyToQueue=function(){var r=this,e=r.eleKeyToCacheQueue=r.eleKeyToCacheQueue||{};return e};tr.getElement=function(r,e,t,a,n){var i=this,s=this.renderer,o=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!r.visible()||r.removed()||!i.allowEdgeTxrCaching&&r.isEdge()||!i.allowParentTxrCaching&&r.isParent())return null;if(a==null&&(a=Math.ceil(ro(o*t))),a=kf||a>Hs)return null;var l=Math.pow(2,a),v=e.h*l,f=e.w*l,c=s.eleTextBiggerThanMin(r,l);if(!this.isVisible(r,c))return null;var h=u.get(r,a);if(h&&h.invalidated&&(h.invalidated=!1,h.texture.invalidatedWidth-=h.width),h)return h;var d;if(v<=Nl?d=Nl:v<=nn?d=nn:d=Math.ceil(v/nn)*nn,v>cy||f>fy)return null;var y=i.getTextureQueue(d),g=y[y.length-2],p=function(){return i.recycleTexture(d,f)||i.addTexture(d,f)};g||(g=y[y.length-1]),g||(g=p()),g.width-g.usedWidtha;D--)k=i.getElement(r,e,t,D,Wt.downscale);B()}else return i.queueElement(r,C.level-1),C;else{var P;if(!b&&!w&&!E)for(var A=a-1;A>=pn;A--){var R=u.get(r,A);if(R){P=R;break}}if(m(P))return i.queueElement(r,a),P;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,r,e,c,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return h={x:g.usedWidth,texture:g,level:a,scale:l,width:f,height:v,scaledLabelShown:c},g.usedWidth+=Math.ceil(f+ly),g.eleCaches.push(h),u.set(r,a,h),i.checkTextureFullness(g),h};tr.invalidateElements=function(r){for(var e=0;e=dy*r.width&&this.retireTexture(r)};tr.checkTextureFullness=function(r){var e=this,t=e.getTextureQueue(r.height);r.usedWidth/r.width>hy&&r.fullnessChecks>=gy?ut(t,r):r.fullnessChecks++};tr.retireTexture=function(r){var e=this,t=r.height,a=e.getTextureQueue(t),n=this.lookup;ut(a,r),r.retired=!0;for(var i=r.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,eo(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),ut(n,s),a.push(s),s}};tr.queueElement=function(r,e){var t=this,a=t.getElementQueue(),n=t.getElementKeyToQueue(),i=this.getKey(r),s=n[i];if(s)s.level=Math.max(s.level,e),s.eles.merge(r),s.reqs++,a.updateItem(s);else{var o={eles:r.spawn().merge(r),level:e,reqs:1,key:i};a.push(o),n[i]=o}};tr.dequeue=function(r){for(var e=this,t=e.getElementQueue(),a=e.getElementKeyToQueue(),n=[],i=e.lookup,s=0;s0;s++){var o=t.pop(),u=o.key,l=o.eles[0],v=i.hasCache(l,o.level);if(a[u]=null,v)continue;n.push(o);var f=e.getBoundingBox(l);e.getElement(l,f,r,o.level,Wt.dequeue)}return n};tr.removeFromQueue=function(r){var e=this,t=e.getElementQueue(),a=e.getElementKeyToQueue(),n=this.getKey(r),i=a[n];i!=null&&(i.eles.length===1?(i.reqs=Js,t.updateItem(i),t.pop(),a[n]=null):i.eles.unmerge(r))};tr.onDequeue=function(r){this.onDequeues.push(r)};tr.offDequeue=function(r){ut(this.onDequeues,r)};tr.setupDequeueing=Sf.setupDequeueing({deqRedrawThreshold:wy,deqCost:py,deqAvgCost:yy,deqNoDrawCost:my,deqFastCost:by,deq:function(e,t,a){return e.dequeue(t,a)},onDeqd:function(e,t){for(var a=0;a=Ty||t>Pn)return null}a.validateLayersElesOrdering(t,r);var u=a.layersByLevel,l=Math.pow(2,t),v=u[t]=u[t]||[],f,c=a.levelIsComplete(t,r),h,d=function(){var B=function(L){if(a.validateLayersElesOrdering(L,r),a.levelIsComplete(L,r))return h=u[L],!0},D=function(L){if(!h)for(var I=t+L;xa<=I&&I<=Pn&&!B(I);I+=L);};D(1),D(-1);for(var P=v.length-1;P>=0;P--){var A=v[P];A.invalid&&ut(v,A)}};if(!c)d();else return v;var y=function(){if(!f){f=mr();for(var B=0;BFl||A>Fl)return null;var R=P*A;if(R>My)return null;var L=a.makeLayer(f,t);if(D!=null){var I=v.indexOf(D)+1;v.splice(I,0,L)}else(B.insert===void 0||B.insert)&&v.unshift(L);return L};if(a.skipping&&!o)return null;for(var p=null,m=r.length/Cy,b=!o,w=0;w=m||!bv(p.bb,E.boundingBox()))&&(p=g({insert:!0,after:p}),!p))return null;h||b?a.queueLayer(p,E):a.drawEleInLayer(p,E,t,e),p.eles.push(E),x[t]=p}return h||(b?null:v)};fr.getEleLevelForLayerLevel=function(r,e){return r};fr.drawEleInLayer=function(r,e,t,a){var n=this,i=this.renderer,s=r.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(t=n.getEleLevelForLayerLevel(t,a),i.setImgSmoothing(s,!1),i.drawCachedElement(s,e,null,null,t,Ly),i.setImgSmoothing(s,!0))};fr.levelIsComplete=function(r,e){var t=this,a=t.layersByLevel[r];if(!a||a.length===0)return!1;for(var n=0,i=0;i0||s.invalid)return!1;n+=s.eles.length}return n===e.length};fr.validateLayersElesOrdering=function(r,e){var t=this.layersByLevel[r];if(t)for(var a=0;a0){e=!0;break}}return e};fr.invalidateElements=function(r){var e=this;r.length!==0&&(e.lastInvalidationTime=Xr(),!(r.length===0||!e.haveLayers())&&e.updateElementsInLayers(r,function(a,n,i){e.invalidateLayer(a)}))};fr.invalidateLayer=function(r){if(this.lastInvalidationTime=Xr(),!r.invalid){var e=r.level,t=r.eles,a=this.layersByLevel[e];ut(a,r),r.elesQueue=[],r.invalid=!0,r.replacement&&(r.replacement.invalid=!0);for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(i&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var u;t&&(u=t,r.translate(-u.x1,-u.y1));var l=i?e.pstyle("opacity").value:1,v=i?e.pstyle("line-opacity").value:1,f=e.pstyle("curve-style").value,c=e.pstyle("line-style").value,h=e.pstyle("width").pfValue,d=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,g=e.pstyle("line-outline-color").value,p=l*v,m=l*v,b=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p;f==="straight-triangle"?(s.eleStrokeStyle(r,e,L),s.drawEdgeTrianglePath(e,r,o.allpts)):(r.lineWidth=h,r.lineCap=d,s.eleStrokeStyle(r,e,L),s.drawEdgePath(e,r,o.allpts,c),r.lineCap="butt")},w=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p;if(r.lineWidth=h+y,r.lineCap=d,y>0)s.colorStrokeStyle(r,g[0],g[1],g[2],L);else{r.lineCap="butt";return}f==="straight-triangle"?s.drawEdgeTrianglePath(e,r,o.allpts):(s.drawEdgePath(e,r,o.allpts,c),r.lineCap="butt")},E=function(){n&&s.drawEdgeOverlay(r,e)},C=function(){n&&s.drawEdgeUnderlay(r,e)},x=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:m;s.drawArrowheads(r,e,L)},S=function(){s.drawElementText(r,e,null,a)};r.lineJoin="round";var k=e.pstyle("ghost").value==="yes";if(k){var B=e.pstyle("ghost-offset-x").pfValue,D=e.pstyle("ghost-offset-y").pfValue,P=e.pstyle("ghost-opacity").value,A=p*P;r.translate(B,D),b(A),x(A),r.translate(-B,-D)}else w();C(),b(),x(),E(),S(),t&&r.translate(u.x1,u.y1)}};var Pf=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,a){if(a.visible()){var n=a.pstyle("".concat(e,"-opacity")).value;if(n!==0){var i=this,s=i.usePaths(),o=a._private.rscratch,u=a.pstyle("".concat(e,"-padding")).pfValue,l=2*u,v=a.pstyle("".concat(e,"-color")).value;t.lineWidth=l,o.edgeType==="self"&&!s?t.lineCap="butt":t.lineCap="round",i.colorStrokeStyle(t,v[0],v[1],v[2],n),i.drawEdgePath(a,t,o.allpts,"solid")}}}};Qr.drawEdgeOverlay=Pf("overlay");Qr.drawEdgeUnderlay=Pf("underlay");Qr.drawEdgePath=function(r,e,t,a){var n=r._private.rscratch,i=e,s,o=!1,u=this.usePaths(),l=r.pstyle("line-dash-pattern").pfValue,v=r.pstyle("line-dash-offset").pfValue;if(u){var f=t.join("$"),c=n.pathCacheKey&&n.pathCacheKey===f;c?(s=e=n.pathCache,o=!0):(s=e=new Path2D,n.pathCacheKey=f,n.pathCache=s)}if(i.setLineDash)switch(a){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(l),i.lineDashOffset=v;break;case"solid":i.setLineDash([]);break}if(!o&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(t[0],t[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(a==null){if(i&&!s.eleTextBiggerThanMin(e))return}else if(a===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var u=s.getLabelJustification(e),l=e.pstyle("text-metrics").strValue==="glyph";r.textAlign=u,r.textBaseline=l?"alphabetic":"bottom"}else{var v=e.element()._private.rscratch.badLine,f=e.pstyle("label"),c=e.pstyle("source-label"),h=e.pstyle("target-label");if(v||(!f||!f.value)&&(!c||!c.value)&&(!h||!h.value))return;r.textAlign="center",r.textBaseline="bottom"}var d=!t,y;t&&(y=t,r.translate(-y.x1,-y.y1)),n==null?(s.drawText(r,e,null,d,i),e.isEdge()&&(s.drawText(r,e,"source",d,i),s.drawText(r,e,"target",d,i))):s.drawText(r,e,n,d,i),t&&r.translate(y.x1,y.y1)};Mt.getFontCache=function(r){var e;this.fontCaches=this.fontCaches||[];for(var t=0;t2&&arguments[2]!==void 0?arguments[2]:!0,a=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=t?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*o,l=e.pstyle("color").value,v=e.pstyle("text-outline-color").value;r.font=a+" "+s+" "+n+" "+i,r.lineJoin="round",this.colorFillStyle(r,l[0],l[1],l[2],o),this.colorStrokeStyle(r,v[0],v[1],v[2],u)};function Wy(r,e,t,a,n){var i=Math.min(a,n),s=i/2,o=e+a/2,u=t+n/2;r.beginPath(),r.arc(o,u,s,0,Math.PI*2),r.closePath()}function Gl(r,e,t,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(i,a/2,n/2);r.beginPath(),r.moveTo(e+s,t),r.lineTo(e+a-s,t),r.quadraticCurveTo(e+a,t,e+a,t+s),r.lineTo(e+a,t+n-s),r.quadraticCurveTo(e+a,t+n,e+a-s,t+n),r.lineTo(e+s,t+n),r.quadraticCurveTo(e,t+n,e,t+n-s),r.lineTo(e,t+s),r.quadraticCurveTo(e,t,e+s,t),r.closePath()}Mt.getTextAngle=function(r,e){var t,a=r._private,n=a.rscratch,i=e?e+"-":"",s=r.pstyle(i+"text-rotation");if(s.strValue==="autorotate"){var o=yr(n,"labelAngle",e);t=r.isEdge()?o:0}else s.strValue==="none"?t=0:t=s.pfValue;return t};Mt.drawText=function(r,e,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,s=i.rscratch,o=n?e.effectiveOpacity():1;if(!(n&&(o===0||e.pstyle("text-opacity").value===0))){t==="main"&&(t=null);var u=yr(s,"labelX",t),l=yr(s,"labelY",t),v,f,c=this.getLabelText(e,t);if(c!=null&&c!==""&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(r,e,n);var h=t?t+"-":"",d=yr(s,"labelWidth",t),y=yr(s,"labelHeight",t),g=yr(s,"labelActualDescent",t),p=e.pstyle(h+"text-margin-x").pfValue,m=e.pstyle(h+"text-margin-y").pfValue,b=e.isEdge(),w=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;b&&(w="center",E="center"),u+=p,l+=m;var C;a?C=this.getTextAngle(e,t):C=0,C!==0&&(v=u,f=l,r.translate(v,f),r.rotate(C),u=0,l=0);var x=Jt(w),S=jt(E);switch(S){case"top":break;case"center":l+=y/2;break;case"bottom":l+=y;break}var k=e.pstyle("text-background-opacity").value,B=e.pstyle("text-border-opacity").value,D=e.pstyle("text-border-width").pfValue,P=e.pstyle("text-background-padding").pfValue,A=e.pstyle("text-background-shape").strValue,R=A==="round-rectangle"||A==="roundrectangle",L=A==="circle",I=2;if(k>0||D>0&&B>0){var M=r.fillStyle,O=r.strokeStyle,q=r.lineWidth,_=e.pstyle("text-background-color").value,N=e.pstyle("text-border-color").value,V=e.pstyle("text-border-style").value,Y=k>0,J=D>0&&B>0,Z=u-P;switch(x){case"left":Z-=d;break;case"center":Z-=d/2;break}var ee=l-y-P,re=d+2*P,ne=y+2*P;if(Y&&(r.fillStyle="rgba(".concat(_[0],",").concat(_[1],",").concat(_[2],",").concat(k*o,")")),J&&(r.strokeStyle="rgba(".concat(N[0],",").concat(N[1],",").concat(N[2],",").concat(B*o,")"),r.lineWidth=D,r.setLineDash))switch(V){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash([4,2]);break;case"double":r.lineWidth=D/4,r.setLineDash([]);break;case"solid":default:r.setLineDash([]);break}if(R?(r.beginPath(),Gl(r,Z,ee,re,ne,I)):L?(r.beginPath(),Wy(r,Z,ee,re,ne)):(r.beginPath(),r.rect(Z,ee,re,ne)),Y&&r.fill(),J&&r.stroke(),J&&V==="double"){var X=D/2;r.beginPath(),R?Gl(r,Z+X,ee+X,re-2*X,ne-2*X,I):r.rect(Z+X,ee+X,re-2*X,ne-2*X),r.stroke()}r.fillStyle=M,r.strokeStyle=O,r.lineWidth=q,r.setLineDash&&r.setLineDash([])}var F=2*e.pstyle("text-outline-width").pfValue;if(F>0&&(r.lineWidth=F),l-=g,e.pstyle("text-wrap").value==="wrap"){var H=yr(s,"labelWrapCachedLines",t),W=yr(s,"labelLineHeight",t),U=d/2,te=this.getLabelJustification(e);switch(te==="auto"||(x==="left"?te==="left"?u+=-d:te==="center"&&(u+=-U):x==="center"?te==="left"?u+=-U:te==="right"&&(u+=U):x==="right"&&(te==="center"?u+=U:te==="right"&&(u+=d))),S){case"top":l-=(H.length-1)*W;break;case"center":case"bottom":l-=(H.length-1)*W;break}for(var le=0;le0&&r.strokeText(H[le],u,l),r.fillText(H[le],u,l),l+=W}else F>0&&r.strokeText(c,u,l),r.fillText(c,u,l);C!==0&&(r.rotate(-C),r.translate(-v,-f))}}};var pt={};pt.drawNode=function(r,e,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,u,l=e._private,v=l.rscratch,f=e.position();if(!(!ae(f.x)||!ae(f.y))&&!(i&&!e.visible())){var c=i?e.effectiveOpacity():1,h=s.usePaths(),d,y=!1,g=e.padding();o=e.width()+2*g,u=e.height()+2*g;var p;t&&(p=t,r.translate(-p.x1,-p.y1));for(var m=e.pstyle("background-image"),b=m.value,w=new Array(b.length),E=new Array(b.length),C=0,x=0;x0&&arguments[0]!==void 0?arguments[0]:A;s.eleFillStyle(r,e,T)},X=function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:N;s.colorStrokeStyle(r,R[0],R[1],R[2],T)},F=function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Z;s.colorStrokeStyle(r,Y[0],Y[1],Y[2],T)},H=function(T,z,G,$){var K=s.nodePathCache=s.nodePathCache||[],ve=cv(G==="polygon"?G+","+$.join(","):G,""+z,""+T,""+re),j=K[ve],ie,oe=!1;return j!=null?(ie=j,oe=!0,v.pathCache=ie):(ie=new Path2D,K[ve]=v.pathCache=ie),{path:ie,cacheHit:oe}},W=e.pstyle("shape").strValue,U=e.pstyle("shape-polygon-points").pfValue;if(h){r.translate(f.x,f.y);var te=H(o,u,W,U);d=te.path,y=te.cacheHit}var le=function(){if(!y){var T=f;h&&(T={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(d||r,T.x,T.y,o,u,re,v)}h?r.fill(d):r.fill()},De=function(){for(var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:c,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,G=l.backgrounding,$=0,K=0;K0&&arguments[0]!==void 0?arguments[0]:!1,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c;s.hasPie(e)&&(s.drawPie(r,e,z),T&&(h||s.nodeShapes[s.getNodeShape(e)].draw(r,f.x,f.y,o,u,re,v)))},me=function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c;s.hasStripe(e)&&(r.save(),h?r.clip(v.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(r,f.x,f.y,o,u,re,v),r.clip()),s.drawStripe(r,e,z),r.restore(),T&&(h||s.nodeShapes[s.getNodeShape(e)].draw(r,f.x,f.y,o,u,re,v)))},ge=function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:c,z=(D>0?D:-D)*T,G=D>0?0:255;D!==0&&(s.colorFillStyle(r,G,G,G,z),h?r.fill(d):r.fill())},se=function(){if(P>0){if(r.lineWidth=P,r.lineCap=M,r.lineJoin=I,r.setLineDash)switch(L){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash(q),r.lineDashOffset=_;break;case"solid":case"double":r.setLineDash([]);break}if(O!=="center"){if(r.save(),r.lineWidth*=2,O==="inside")h?r.clip(d):r.clip();else{var T=new Path2D;T.rect(-o/2-P,-u/2-P,o+2*P,u+2*P),T.addPath(d),r.clip(T,"evenodd")}h?r.stroke(d):r.stroke(),r.restore()}else h?r.stroke(d):r.stroke();if(L==="double"){r.lineWidth=P/3;var z=r.globalCompositeOperation;r.globalCompositeOperation="destination-out",h?r.stroke(d):r.stroke(),r.globalCompositeOperation=z}r.setLineDash&&r.setLineDash([])}},de=function(){if(V>0){if(r.lineWidth=V,r.lineCap="butt",r.setLineDash)switch(J){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash([4,2]);break;case"solid":case"double":r.setLineDash([]);break}var T=f;h&&(T={x:0,y:0});var z=s.getNodeShape(e),G=P;O==="inside"&&(G=0),O==="outside"&&(G*=2);var $=(o+G+(V+ee))/o,K=(u+G+(V+ee))/u,ve=o*$,j=u*K,ie=s.nodeShapes[z].points,oe;if(h){var pe=H(ve,j,z,ie);oe=pe.path}if(z==="ellipse")s.drawEllipsePath(oe||r,T.x,T.y,ve,j);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(z)){var Ee=0,Ce=0,fe=0;z==="round-diamond"?Ee=(G+ee+V)*1.4:z==="round-heptagon"?(Ee=(G+ee+V)*1.075,fe=-(G/2+ee+V)/35):z==="round-hexagon"?Ee=(G+ee+V)*1.12:z==="round-pentagon"?(Ee=(G+ee+V)*1.13,fe=-(G/2+ee+V)/15):z==="round-tag"?(Ee=(G+ee+V)*1.12,Ce=(G/2+V+ee)*.07):z==="round-triangle"&&(Ee=(G+ee+V)*(Math.PI/2),fe=-(G+ee/2+V)/Math.PI),Ee!==0&&($=(o+Ee)/o,ve=o*$,["round-hexagon","round-tag"].includes(z)||(K=(u+Ee)/u,j=u*K)),re=re==="auto"?Ev(ve,j):re;for(var ke=ve/2,Pe=j/2,ar=re+(G+V+ee)/2,Ue=new Array(ie.length/2),Pr=new Array(ie.length/2),Ke=0;Ke0){if(n=n||a.position(),i==null||s==null){var h=a.padding();i=a.width()+2*h,s=a.height()+2*h}o.colorFillStyle(t,v[0],v[1],v[2],l),o.nodeShapes[f].draw(t,n.x,n.y,i+u*2,s+u*2,c),t.fill()}}}};pt.drawNodeOverlay=Af("overlay");pt.drawNodeUnderlay=Af("underlay");pt.hasPie=function(r){return r=r[0],r._private.hasPie};pt.hasStripe=function(r){return r=r[0],r._private.hasStripe};pt.drawPie=function(r,e,t,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,u=a.x,l=a.y,v=e.width(),f=e.height(),c=Math.min(v,f)/2,h,d=0,y=this.usePaths();if(y&&(u=0,l=0),i.units==="%"?c=c*i.pfValue:i.pfValue!==void 0&&(c=i.pfValue/2),s.units==="%"?h=c*s.pfValue:s.pfValue!==void 0&&(h=s.pfValue/2),!(h>=c))for(var g=1;g<=n.pieBackgroundN;g++){var p=e.pstyle("pie-"+g+"-background-size").value,m=e.pstyle("pie-"+g+"-background-color").value,b=e.pstyle("pie-"+g+"-background-opacity").value*t,w=p/100;w+d>1&&(w=1-d);var E=1.5*Math.PI+2*Math.PI*d;E+=o;var C=2*Math.PI*w,x=E+C;p===0||d>=1||d+w>1||(h===0?(r.beginPath(),r.moveTo(u,l),r.arc(u,l,c,E,x),r.closePath()):(r.beginPath(),r.arc(u,l,c,E,x),r.arc(u,l,h,x,E,!0),r.closePath()),this.colorFillStyle(r,m[0],m[1],m[2],b),r.fill(),d+=w)}};pt.drawStripe=function(r,e,t,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=a.x,s=a.y,o=e.width(),u=e.height(),l=0,v=this.usePaths();r.save();var f=e.pstyle("stripe-direction").value,c=e.pstyle("stripe-size");switch(f){case"vertical":break;case"righward":r.rotate(-Math.PI/2);break}var h=o,d=u;c.units==="%"?(h=h*c.pfValue,d=d*c.pfValue):c.pfValue!==void 0&&(h=c.pfValue,d=c.pfValue),v&&(i=0,s=0),s-=h/2,i-=d/2;for(var y=1;y<=n.stripeBackgroundN;y++){var g=e.pstyle("stripe-"+y+"-background-size").value,p=e.pstyle("stripe-"+y+"-background-color").value,m=e.pstyle("stripe-"+y+"-background-opacity").value*t,b=g/100;b+l>1&&(b=1-l),!(g===0||l>=1||l+b>1)&&(r.beginPath(),r.rect(i,s+d*l,h,d*b),r.closePath(),this.colorFillStyle(r,p[0],p[1],p[2],m),r.fill(),l+=b)}r.restore()};var br={},$y=100;br.getPixelRatio=function(){var r=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),t=r.backingStorePixelRatio||r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/t};br.paintCache=function(r){for(var e=this.paintCaches=this.paintCaches||[],t=!0,a,n=0;ne.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!f&&(v[e.NODE]=!0,v[e.SELECT_BOX]=!0);var m=t.style(),b=t.zoom(),w=s!==void 0?s:b,E=t.pan(),C={x:E.x,y:E.y},x={zoom:b,pan:{x:E.x,y:E.y}},S=e.prevViewport,k=S===void 0||x.zoom!==S.zoom||x.pan.x!==S.pan.x||x.pan.y!==S.pan.y;!k&&!(y&&!d)&&(e.motionBlurPxRatio=1),o&&(C=o),w*=u,C.x*=u,C.y*=u;var B=e.getCachedZSortedEles();function D(X,F,H,W,U){var te=X.globalCompositeOperation;X.globalCompositeOperation="destination-out",e.colorFillStyle(X,255,255,255,e.motionBlurTransparency),X.fillRect(F,H,W,U),X.globalCompositeOperation=te}function P(X,F){var H,W,U,te;!e.clearingMotionBlur&&(X===l.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||X===l.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(H={x:E.x*h,y:E.y*h},W=b*h,U=e.canvasWidth*h,te=e.canvasHeight*h):(H=C,W=w,U=e.canvasWidth,te=e.canvasHeight),X.setTransform(1,0,0,1,0,0),F==="motionBlur"?D(X,0,0,U,te):!a&&(F===void 0||F)&&X.clearRect(0,0,U,te),n||(X.translate(H.x,H.y),X.scale(W,W)),o&&X.translate(o.x,o.y),s&&X.scale(s,s)}if(f||(e.textureDrawLastFrame=!1),f){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=t.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var A=e.data.bufferContexts[e.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:u*e.textureMult});var x=e.textureCache.viewport={zoom:t.zoom(),pan:t.pan(),width:e.canvasWidth,height:e.canvasHeight};x.mpan={x:(0-x.pan.x)/x.zoom,y:(0-x.pan.y)/x.zoom}}v[e.DRAG]=!1,v[e.NODE]=!1;var R=l.contexts[e.NODE],L=e.textureCache.texture,x=e.textureCache.viewport;R.setTransform(1,0,0,1,0,0),c?D(R,0,0,x.width,x.height):R.clearRect(0,0,x.width,x.height);var I=m.core("outside-texture-bg-color").value,M=m.core("outside-texture-bg-opacity").value;e.colorFillStyle(R,I[0],I[1],I[2],M),R.fillRect(0,0,x.width,x.height);var b=t.zoom();P(R,!1),R.clearRect(x.mpan.x,x.mpan.y,x.width/x.zoom/u,x.height/x.zoom/u),R.drawImage(L,x.mpan.x,x.mpan.y,x.width/x.zoom/u,x.height/x.zoom/u)}else e.textureOnViewport&&!a&&(e.textureCache=null);var O=t.extent(),q=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),_=e.hideEdgesOnViewport&&q,N=[];if(N[e.NODE]=!v[e.NODE]&&c&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,N[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),N[e.DRAG]=!v[e.DRAG]&&c&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,N[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),v[e.NODE]||n||i||N[e.NODE]){var V=c&&!N[e.NODE]&&h!==1,R=a||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:l.contexts[e.NODE]),Y=c&&!V?"motionBlur":void 0;P(R,Y),_?e.drawCachedNodes(R,B.nondrag,u,O):e.drawLayeredElements(R,B.nondrag,u,O),e.debug&&e.drawDebugPoints(R,B.nondrag),!n&&!c&&(v[e.NODE]=!1)}if(!i&&(v[e.DRAG]||n||N[e.DRAG])){var V=c&&!N[e.DRAG]&&h!==1,R=a||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:l.contexts[e.DRAG]);P(R,c&&!V?"motionBlur":void 0),_?e.drawCachedNodes(R,B.drag,u,O):e.drawCachedElements(R,B.drag,u,O),e.debug&&e.drawDebugPoints(R,B.drag),!n&&!c&&(v[e.DRAG]=!1)}if(this.drawSelectionRectangle(r,P),c&&h!==1){var J=l.contexts[e.NODE],Z=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ee=l.contexts[e.DRAG],re=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],ne=function(F,H,W){F.setTransform(1,0,0,1,0,0),W||!p?F.clearRect(0,0,e.canvasWidth,e.canvasHeight):D(F,0,0,e.canvasWidth,e.canvasHeight);var U=h;F.drawImage(H,0,0,e.canvasWidth*U,e.canvasHeight*U,0,0,e.canvasWidth,e.canvasHeight)};(v[e.NODE]||N[e.NODE])&&(ne(J,Z,N[e.NODE]),v[e.NODE]=!1),(v[e.DRAG]||N[e.DRAG])&&(ne(ee,re,N[e.DRAG]),v[e.DRAG]=!1)}e.prevViewport=x,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),c&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!f,e.mbFrames=0,v[e.NODE]=!0,v[e.DRAG]=!0,e.redraw()},$y)),a||t.emit("render")};var ha;br.drawSelectionRectangle=function(r,e){var t=this,a=t.cy,n=t.data,i=a.style(),s=r.drawOnlyNodeLayer,o=r.drawAllLayers,u=n.canvasNeedsRedraw,l=r.forcedContext;if(t.showFps||!s&&u[t.SELECT_BOX]&&!o){var v=l||n.contexts[t.SELECT_BOX];if(e(v),t.selection[4]==1&&(t.hoverData.selecting||t.touchData.selecting)){var f=t.cy.zoom(),c=i.core("selection-box-border-width").value/f;v.lineWidth=c,v.fillStyle="rgba("+i.core("selection-box-color").value[0]+","+i.core("selection-box-color").value[1]+","+i.core("selection-box-color").value[2]+","+i.core("selection-box-opacity").value+")",v.fillRect(t.selection[0],t.selection[1],t.selection[2]-t.selection[0],t.selection[3]-t.selection[1]),c>0&&(v.strokeStyle="rgba("+i.core("selection-box-border-color").value[0]+","+i.core("selection-box-border-color").value[1]+","+i.core("selection-box-border-color").value[2]+","+i.core("selection-box-opacity").value+")",v.strokeRect(t.selection[0],t.selection[1],t.selection[2]-t.selection[0],t.selection[3]-t.selection[1]))}if(n.bgActivePosistion&&!t.hoverData.selecting){var f=t.cy.zoom(),h=n.bgActivePosistion;v.fillStyle="rgba("+i.core("active-bg-color").value[0]+","+i.core("active-bg-color").value[1]+","+i.core("active-bg-color").value[2]+","+i.core("active-bg-opacity").value+")",v.beginPath(),v.arc(h.x,h.y,i.core("active-bg-size").pfValue/f,0,2*Math.PI),v.fill()}var d=t.lastRedrawTime;if(t.showFps&&d){d=Math.round(d);var y=Math.round(1e3/d),g="1 frame = "+d+" ms = "+y+" fps";if(v.setTransform(1,0,0,1,0,0),v.fillStyle="rgba(255, 0, 0, 0.75)",v.strokeStyle="rgba(255, 0, 0, 0.75)",v.font="30px Arial",!ha){var p=v.measureText(g);ha=p.actualBoundingBoxAscent}v.fillText(g,0,ha);var m=60;v.strokeRect(0,ha+10,250,20),v.fillRect(0,ha+10,250*Math.min(y/m,1),20)}o||(u[t.SELECT_BOX]=!1)}};function Hl(r,e,t){var a=r.createShader(e);if(r.shaderSource(a,t),r.compileShader(a),!r.getShaderParameter(a,r.COMPILE_STATUS))throw new Error(r.getShaderInfoLog(a));return a}function Uy(r,e,t){var a=Hl(r,r.VERTEX_SHADER,e),n=Hl(r,r.FRAGMENT_SHADER,t),i=r.createProgram();if(r.attachShader(i,a),r.attachShader(i,n),r.linkProgram(i),!r.getProgramParameter(i,r.LINK_STATUS))throw new Error("Could not initialize shaders");return i}function Ky(r,e,t){t===void 0&&(t=e);var a=r.makeOffscreenCanvas(e,t),n=a.context=a.getContext("2d");return a.clear=function(){return n.clearRect(0,0,a.width,a.height)},a.clear(),a}function bo(r){var e=r.pixelRatio,t=r.cy.zoom(),a=r.cy.pan();return{zoom:t*e,pan:{x:a.x*e,y:a.y*e}}}function Xy(r){var e=r.pixelRatio,t=r.cy.zoom();return t*e}function Yy(r,e,t,a,n){var i=a*t+e.x,s=n*t+e.y;return s=Math.round(r.canvasHeight-s),[i,s]}function Zy(r,e){return e.picking?!0:r.pstyle("background-fill").value!=="solid"||r.pstyle("background-image").strValue!=="none"?!1:r.pstyle("border-width").value===0||r.pstyle("border-opacity").value===0?!0:r.pstyle("border-style").value==="solid"}function Qy(r,e){if(r.length!==e.length)return!1;for(var t=0;t>0&255)/255,t[1]=(r>>8&255)/255,t[2]=(r>>16&255)/255,t[3]=(r>>24&255)/255,t}function Jy(r){return r[0]+(r[1]<<8)+(r[2]<<16)+(r[3]<<24)}function jy(r,e){var t=r.createTexture();return t.buffer=function(a){r.bindTexture(r.TEXTURE_2D,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR_MIPMAP_NEAREST),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,a),r.generateMipmap(r.TEXTURE_2D),r.bindTexture(r.TEXTURE_2D,null)},t.deleteTexture=function(){r.deleteTexture(t)},t}function Rf(r,e){switch(e){case"float":return[1,r.FLOAT,4];case"vec2":return[2,r.FLOAT,4];case"vec3":return[3,r.FLOAT,4];case"vec4":return[4,r.FLOAT,4];case"int":return[1,r.INT,4];case"ivec2":return[2,r.INT,4]}}function Mf(r,e,t){switch(e){case r.FLOAT:return new Float32Array(t);case r.INT:return new Int32Array(t)}}function em(r,e,t,a,n,i){switch(e){case r.FLOAT:return new Float32Array(t.buffer,i*a,n);case r.INT:return new Int32Array(t.buffer,i*a,n)}}function rm(r,e,t,a){var n=Rf(r,e),i=Qe(n,2),s=i[0],o=i[1],u=Mf(r,o,a),l=r.createBuffer();return r.bindBuffer(r.ARRAY_BUFFER,l),r.bufferData(r.ARRAY_BUFFER,u,r.STATIC_DRAW),o===r.FLOAT?r.vertexAttribPointer(t,s,o,!1,0,0):o===r.INT&&r.vertexAttribIPointer(t,s,o,0,0),r.enableVertexAttribArray(t),r.bindBuffer(r.ARRAY_BUFFER,null),l}function Fr(r,e,t,a){var n=Rf(r,t),i=Qe(n,3),s=i[0],o=i[1],u=i[2],l=Mf(r,o,e*s),v=s*u,f=r.createBuffer();r.bindBuffer(r.ARRAY_BUFFER,f),r.bufferData(r.ARRAY_BUFFER,e*v,r.DYNAMIC_DRAW),r.enableVertexAttribArray(a),o===r.FLOAT?r.vertexAttribPointer(a,s,o,!1,v,0):o===r.INT&&r.vertexAttribIPointer(a,s,o,v,0),r.vertexAttribDivisor(a,1),r.bindBuffer(r.ARRAY_BUFFER,null);for(var c=new Array(e),h=0;hs&&(o=s/a,u=a*o,l=n*o),{scale:o,texW:u,texH:l}}},{key:"draw",value:function(t,a,n){var i=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,u=this.texHeight,l=this.getScale(a),v=l.scale,f=l.texW,c=l.texH,h=function(b,w){if(n&&w){var E=w.context,C=b.x,x=b.row,S=C,k=u*x;E.save(),E.translate(S,k),E.scale(v,v),n(E,a),E.restore()}},d=[null,null],y=function(){h(i.freePointer,i.canvas),d[0]={x:i.freePointer.x,y:i.freePointer.row*u,w:f,h:c},d[1]={x:i.freePointer.x+f,y:i.freePointer.row*u,w:0,h:c},i.freePointer.x+=f,i.freePointer.x==s&&(i.freePointer.x=0,i.freePointer.row++)},g=function(){var b=i.scratch,w=i.canvas;b.clear(),h({x:0,row:0},b);var E=s-i.freePointer.x,C=f-E,x=u;{var S=i.freePointer.x,k=i.freePointer.row*u,B=E;w.context.drawImage(b,0,0,B,x,S,k,B,x),d[0]={x:S,y:k,w:B,h:c}}{var D=E,P=(i.freePointer.row+1)*u,A=C;w&&w.context.drawImage(b,D,0,A,x,0,P,A,x),d[1]={x:0,y:P,w:A,h:c}}i.freePointer.x=C,i.freePointer.row++},p=function(){i.freePointer.x=0,i.freePointer.row++};if(this.freePointer.x+f<=s)y();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(p(),y()):this.enableWrapping?g():(p(),y())}return this.keyToLocation.set(t,d),this.needsBuffer=!0,d}},{key:"getOffsets",value:function(t){return this.keyToLocation.get(t)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(t){if(this.locked)return!1;var a=this.texSize,n=this.texRows,i=this.getScale(t),s=i.texW;return this.freePointer.x+s>a?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},i=n.forceRedraw,s=i===void 0?!1:i,o=n.filterEle,u=o===void 0?function(){return!0}:o,l=n.filterType,v=l===void 0?function(){return!0}:l,f=!1,c=!1,h=Cr(t),d;try{for(h.s();!(d=h.n()).done;){var y=d.value;if(u(y)){var g=Cr(this.renderTypes.values()),p;try{var m=function(){var w=p.value,E=w.type;if(v(E)){var C=a.collections.get(w.collection),x=w.getKey(y),S=Array.isArray(x)?x:[x];if(s)S.forEach(function(P){return C.markKeyForGC(P)}),c=!0;else{var k=w.getID?w.getID(y):y.id(),B=a._key(E,k),D=a.typeAndIdToKey.get(B);D!==void 0&&!Qy(S,D)&&(f=!0,a.typeAndIdToKey.delete(B),D.forEach(function(P){return C.markKeyForGC(P)}))}}};for(g.s();!(p=g.n()).done;)m()}catch(b){g.e(b)}finally{g.f()}}}}catch(b){h.e(b)}finally{h.f()}return c&&(this.gc(),f=!1),f}},{key:"gc",value:function(){var t=Cr(this.collections.values()),a;try{for(t.s();!(a=t.n()).done;){var n=a.value;n.gc()}}catch(i){t.e(i)}finally{t.f()}}},{key:"getOrCreateAtlas",value:function(t,a,n,i){var s=this.renderTypes.get(a),o=this.collections.get(s.collection),u=!1,l=o.draw(i,n,function(c){s.drawClipped?(c.save(),c.beginPath(),c.rect(0,0,n.w,n.h),c.clip(),s.drawElement(c,t,n,!0,!0),c.restore()):s.drawElement(c,t,n,!0,!0),u=!0});if(u){var v=s.getID?s.getID(t):t.id(),f=this._key(a,v);this.typeAndIdToKey.has(f)?this.typeAndIdToKey.get(f).push(i):this.typeAndIdToKey.set(f,[i])}return l}},{key:"getAtlasInfo",value:function(t,a){var n=this,i=this.renderTypes.get(a),s=i.getKey(t),o=Array.isArray(s)?s:[s];return o.map(function(u){var l=i.getBoundingBox(t,u),v=n.getOrCreateAtlas(t,a,l,u),f=v.getOffsets(u),c=Qe(f,2),h=c[0],d=c[1];return{atlas:v,tex:h,tex1:h,tex2:d,bb:l}})}},{key:"getDebugInfo",value:function(){var t=[],a=Cr(this.collections),n;try{for(a.s();!(n=a.n()).done;){var i=Qe(n.value,2),s=i[0],o=i[1],u=o.getCounts(),l=u.keyCount,v=u.atlasCount;t.push({type:s,keyCount:l,atlasCount:v})}}catch(f){a.e(f)}finally{a.f()}return t}}])})(),vm=(function(){function r(e){dt(this,r),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return ht(r,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(t,a){return a})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(t){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(t):!0}},{key:"getAtlasIndexForBatch",value:function(t){var a=this.batchAtlases.indexOf(t);if(a<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(t),a=this.batchAtlases.length-1}return a}}])})(),fm=` + float circleSD(vec2 p, float r) { + return distance(vec2(0), p) - r; // signed distance + } +`,cm=` + 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); + } +`,dm=` + 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; + } +`,hm=` + 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; + } +`,Ea={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},An={IGNORE:1,USE_BB:2},Cs=0,Kl=1,Xl=2,Ts=3,Vt=4,sn=5,ga=6,pa=7,gm=(function(){function r(e,t,a){dt(this,r),this.r=e,this.gl=t,this.maxInstances=a.webglBatchSize,this.atlasSize=a.webglTexSize,this.bgColor=a.bgColor,this.debug=a.webglDebug,this.batchDebugInfo=[],a.enableWrapping=!0,a.createTextureCanvas=Ky,this.atlasManager=new lm(e,a),this.batchManager=new vm(a),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(Ea.SCREEN),this.pickingProgram=this._createShaderProgram(Ea.PICKING),this.vao=this._createVAO()}return ht(r,[{key:"addAtlasCollection",value:function(t,a){this.atlasManager.addAtlasCollection(t,a)}},{key:"addTextureAtlasRenderType",value:function(t,a){this.atlasManager.addRenderType(t,a)}},{key:"addSimpleShapeRenderType",value:function(t,a){this.simpleShapeOptions.set(t,a)}},{key:"invalidate",value:function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=a.type,i=this.atlasManager;return n?i.invalidate(t,{filterType:function(o){return o===n},forceRedraw:!0}):i.invalidate(t)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(t){var a=this.gl,n=`#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(Cs,`) { + 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(Vt," || aVertType == ").concat(pa,` + || aVertType == `).concat(sn," || aVertType == ").concat(ga,`) { // 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(Kl,`) { + 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(Xl,`) { + 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(Ts,` && 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; + } + `),i=this.batchManager.getIndexArray(),s=`#version 300 es + precision highp float; + + // declare texture unit for each texture atlas in the batch + `.concat(i.map(function(l){return"uniform sampler2D uTexture".concat(l,";")}).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(fm,` + `).concat(cm,` + `).concat(dm,` + `).concat(hm,` + + 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(Cs,`) { + // look up the texel from the texture unit + `).concat(i.map(function(l){return"if(vAtlasId == ".concat(l,") outColor = texture(uTexture").concat(l,", vTexCoord);")}).join(` + else `),` + } + else if(vVertType == `).concat(Ts,`) { + // 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(Vt,` && 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(Vt," || vVertType == ").concat(pa,` + || vVertType == `).concat(sn," || vVertType == ").concat(ga,`) { // 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(Vt,`) { + d = rectangleSD(p, b); + } else if(vVertType == `).concat(pa,` && w == h) { + d = circleSD(p, b.x); // faster than ellipse + } else if(vVertType == `).concat(pa,`) { + 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(t.picking?`if(outColor.a == 0.0) discard; + else outColor = vIndex;`:"",` + } + `),o=Uy(a,n,s);o.aPosition=a.getAttribLocation(o,"aPosition"),o.aIndex=a.getAttribLocation(o,"aIndex"),o.aVertType=a.getAttribLocation(o,"aVertType"),o.aTransform=a.getAttribLocation(o,"aTransform"),o.aAtlasId=a.getAttribLocation(o,"aAtlasId"),o.aTex=a.getAttribLocation(o,"aTex"),o.aPointAPointB=a.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=a.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=a.getAttribLocation(o,"aLineWidth"),o.aColor=a.getAttribLocation(o,"aColor"),o.aCornerRadius=a.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=a.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=a.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=a.getUniformLocation(o,"uAtlasSize"),o.uBGColor=a.getUniformLocation(o,"uBGColor"),o.uZoom=a.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:Ea.SCREEN;this.panZoomMatrix=t,this.renderTarget=a,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(t,a){return t.visible()?a&&a.isVisible?a.isVisible(t):!0:!1}},{key:"drawTexture",value:function(t,a,n){var i=this.atlasManager,s=this.batchManager,o=i.getRenderTypeOpts(n);if(this._isVisible(t,o)&&!(t.isEdge()&&!this._isValidEdge(t))){if(this.renderTarget.picking&&o.getTexPickingMode){var u=o.getTexPickingMode(t);if(u===An.IGNORE)return;if(u==An.USE_BB){this.drawPickingRectangle(t,a,n);return}}var l=i.getAtlasInfo(t,n),v=Cr(l),f;try{for(v.s();!(f=v.n()).done;){var c=f.value,h=c.atlas,d=c.tex1,y=c.tex2;s.canAddToCurrentBatch(h)||this.endBatch();for(var g=s.getAtlasIndexForBatch(h),p=0,m=[[d,!0],[y,!1]];p=this.maxInstances&&this.endBatch()}}}}catch(D){v.e(D)}finally{v.f()}}}},{key:"setTransformMatrix",value:function(t,a,n,i){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(n.shapeProps&&n.shapeProps.padding&&(o=t.pstyle(n.shapeProps.padding).pfValue),i){var u=i.bb,l=i.tex1,v=i.tex2,f=l.w/(l.w+v.w);s||(f=1-f);var c=this._getAdjustedBB(u,o,s,f);this._applyTransformMatrix(a,c,n,t)}else{var h=n.getBoundingBox(t),d=this._getAdjustedBB(h,o,!0,1);this._applyTransformMatrix(a,d,n,t)}}},{key:"_applyTransformMatrix",value:function(t,a,n,i){var s,o;$l(t);var u=n.getRotation?n.getRotation(i):0;if(u!==0){var l=n.getRotationPoint(i),v=l.x,f=l.y;yn(t,t,[v,f]),Ul(t,t,u);var c=n.getRotationOffset(i);s=c.x+(a.xOffset||0),o=c.y+(a.yOffset||0)}else s=a.x1,o=a.y1;yn(t,t,[s,o]),Ws(t,t,[a.w,a.h])}},{key:"_getAdjustedBB",value:function(t,a,n,i){var s=t.x1,o=t.y1,u=t.w,l=t.h,v=t.yOffset;a&&(s-=a,o-=a,u+=2*a,l+=2*a);var f=0,c=u*i;return n&&i<1?u=c:!n&&i<1&&(f=u-c,s+=f,u=c),{x1:s,y1:o,w:u,h:l,xOffset:f,yOffset:v}}},{key:"drawPickingRectangle",value:function(t,a,n){var i=this.atlasManager.getRenderTypeOpts(n),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=Vt;var o=this.indexBuffer.getView(s);Ft(a,o);var u=this.colorBuffer.getView(s);wt([0,0,0],1,u);var l=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(t,l,i),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(t,a,n){var i=this.simpleShapeOptions.get(n);if(this._isVisible(t,i)){var s=i.shapeProps,o=this._getVertTypeForShape(t,s.shape);if(o===void 0||i.isSimple&&!i.isSimple(t,this.renderTarget)){this.drawTexture(t,a,n);return}var u=this.instanceCount;if(this.vertTypeBuffer.getView(u)[0]=o,o===sn||o===ga){var l=i.getBoundingBox(t),v=this._getCornerRadius(t,s.radius,l),f=this.cornerRadiusBuffer.getView(u);f[0]=v,f[1]=v,f[2]=v,f[3]=v,o===ga&&(f[0]=0,f[2]=0)}var c=this.indexBuffer.getView(u);Ft(a,c);var h=this.renderTarget.picking?1:n==="node-body"?t.effectiveOpacity():1,d=this.renderTarget.picking?1:t.pstyle(s.opacity).value*h,y=t.pstyle(s.color).value,g=this.colorBuffer.getView(u);wt(y,d,g);var p=this.lineWidthBuffer.getView(u);if(p[0]=0,p[1]=0,s.border){var m=t.pstyle("border-width").value;if(m>0){var b=t.pstyle("border-color").value,w=h*t.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(u);wt(b,w,E);var C=t.pstyle("border-position").value;if(C==="inside")p[0]=0,p[1]=-m;else if(C==="outside")p[0]=m,p[1]=0;else{var x=m/2;p[0]=x,p[1]=-x}}}var S=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(t,S,i),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(t,a){var n=t.pstyle(a).value;switch(n){case"rectangle":return Vt;case"ellipse":return pa;case"roundrectangle":case"round-rectangle":return sn;case"bottom-round-rectangle":return ga;default:return}}},{key:"_getCornerRadius",value:function(t,a,n){var i=n.w,s=n.h;if(t.pstyle(a).value==="auto")return lt(i,s);var o=t.pstyle(a).pfValue,u=i/2,l=s/2;return Math.min(o,l,u)}},{key:"drawEdgeArrow",value:function(t,a,n){if(t.visible()){var i=t._private.rscratch,s,o,u;if(n==="source"?(s=i.arrowStartX,o=i.arrowStartY,u=i.srcArrowAngle):(s=i.arrowEndX,o=i.arrowEndY,u=i.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(u)||u==null)){var l=t.pstyle(n+"-arrow-shape").value;if(l!=="none"){var v=t.pstyle(n+"-arrow-color").value,f=t.pstyle("opacity").value,c=t.pstyle("line-opacity").value,h=f*c,d=t.pstyle("width").pfValue,y=t.pstyle("arrow-scale").value,g=this.r.getArrowWidth(d,y),p=this.instanceCount,m=this.transformBuffer.getMatrixView(p);$l(m),yn(m,m,[s,o]),Ws(m,m,[g,g]),Ul(m,m,u),this.vertTypeBuffer.getView(p)[0]=Ts;var b=this.indexBuffer.getView(p);Ft(a,b);var w=this.colorBuffer.getView(p);wt(v,h,w),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(t,a){if(t.visible()){var n=this._getEdgePoints(t);if(n){var i=t.pstyle("opacity").value,s=t.pstyle("line-opacity").value,o=t.pstyle("width").pfValue,u=t.pstyle("line-color").value,l=i*s;if(n.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),n.length==4){var v=this.instanceCount;this.vertTypeBuffer.getView(v)[0]=Kl;var f=this.indexBuffer.getView(v);Ft(a,f);var c=this.colorBuffer.getView(v);wt(u,l,c);var h=this.lineWidthBuffer.getView(v);h[0]=o;var d=this.pointAPointBBuffer.getView(v);d[0]=n[0],d[1]=n[1],d[2]=n[2],d[3]=n[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var y=0;y=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(t){var a=t._private.rscratch;return!(a.badLine||a.allpts==null||isNaN(a.allpts[0]))}},{key:"_getEdgePoints",value:function(t){var a=t._private.rscratch;if(this._isValidEdge(t)){var n=a.allpts;if(n.length==4)return n;var i=this._getNumSegments(t);return this._getCurveSegmentPoints(n,i)}}},{key:"_getNumSegments",value:function(t){var a=15;return Math.min(Math.max(a,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(t,a){if(t.length==4)return t;for(var n=Array((a+1)*2),i=0;i<=a;i++)if(i==0)n[0]=t[0],n[1]=t[1];else if(i==a)n[i*2]=t[t.length-2],n[i*2+1]=t[t.length-1];else{var s=i/a;this._setCurvePoint(t,s,n,i*2)}return n}},{key:"_setCurvePoint",value:function(t,a,n,i){if(t.length<=2)n[i]=t[0],n[i+1]=t[1];else{for(var s=Array(t.length-2),o=0;o0}},o=function(f){var c=f.pstyle("text-events").strValue==="yes";return c?An.USE_BB:An.IGNORE},u=function(f){var c=f.position(),h=c.x,d=c.y,y=f.outerWidth(),g=f.outerHeight();return{w:y,h:g,x1:h-y/2,y1:d-g/2}};t.drawing.addAtlasCollection("node",{texRows:r.webglTexRowsNodes}),t.drawing.addAtlasCollection("label",{texRows:r.webglTexRows}),t.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),t.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:u,isSimple:Zy,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),t.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"}}),t.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"}}),t.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:Ss(e.getLabelKey,null),getBoundingBox:ks(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:n(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:i("label")}),t.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:Ss(e.getSourceLabelKey,"source"),getBoundingBox:ks(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:n("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:i("source-label")}),t.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:Ss(e.getTargetLabelKey,"target"),getBoundingBox:ks(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:n("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:i("target-label")});var l=Fa(function(){console.log("garbage collect flag set"),t.data.gc=!0},1e4);t.onUpdateEleCalcs(function(v,f){var c=!1;f&&f.length>0&&(c|=t.drawing.invalidate(f)),c&&l()}),ym(t)};function pm(r){var e=r.cy.container(),t=e&&e.style&&e.style.backgroundColor||"white";return iv(t)}function If(r,e){var t=r._private.rscratch;return yr(t,"labelWrapCachedLines",e)||[]}var Ss=function(e,t){return function(a){var n=e(a),i=If(a,t);return i.length>1?i.map(function(s,o){return"".concat(n,"_").concat(o)}):n}},ks=function(e,t){return function(a,n){var i=e(a);if(typeof n=="string"){var s=n.indexOf("_");if(s>0){var o=Number(n.substring(s+1)),u=If(a,t),l=i.h/u.length,v=l*o,f=i.y1+v;return{x1:i.x1,w:i.w,y1:f,h:l,yOffset:v}}}return i}};function ym(r){{var e=r.render;r.render=function(i){i=i||{};var s=r.cy;r.webgl&&(s.zoom()>kf?(mm(r),e.call(r,i)):(bm(r),Nf(r,i,Ea.SCREEN)))}}{var t=r.matchCanvasSize;r.matchCanvasSize=function(i){t.call(r,i),r.pickingFrameBuffer.setFramebufferAttachmentSizes(r.canvasWidth,r.canvasHeight),r.pickingFrameBuffer.needsDraw=!0}}r.findNearestElements=function(i,s,o,u){return Sm(r,i,s)};{var a=r.invalidateCachedZSortedEles;r.invalidateCachedZSortedEles=function(){a.call(r),r.pickingFrameBuffer.needsDraw=!0}}{var n=r.notify;r.notify=function(i,s){n.call(r,i,s),i==="viewport"||i==="bounds"?r.pickingFrameBuffer.needsDraw=!0:i==="background"&&r.drawing.invalidate(s,{type:"node-body"})}}}function mm(r){var e=r.data.contexts[r.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function bm(r){var e=function(a){a.save(),a.setTransform(1,0,0,1,0,0),a.clearRect(0,0,r.canvasWidth,r.canvasHeight),a.restore()};e(r.data.contexts[r.NODE]),e(r.data.contexts[r.DRAG])}function wm(r){var e=r.canvasWidth,t=r.canvasHeight,a=bo(r),n=a.pan,i=a.zoom,s=Es();yn(s,s,[n.x,n.y]),Ws(s,s,[i,i]);var o=Es();im(o,e,t);var u=Es();return nm(u,o,s),u}function Of(r,e){var t=r.canvasWidth,a=r.canvasHeight,n=bo(r),i=n.pan,s=n.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t,a),e.translate(i.x,i.y),e.scale(s,s)}function xm(r,e){r.drawSelectionRectangle(e,function(t){return Of(r,t)})}function Em(r){var e=r.data.contexts[r.NODE];e.save(),Of(r,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 Cm(r){var e=function(n,i,s){for(var o=n.atlasManager.getAtlasCollection(i),u=r.data.contexts[r.NODE],l=o.atlases,v=0;v=0&&w.add(x)}return w}function Sm(r,e,t){var a=Tm(r,e,t),n=r.getCachedZSortedEles(),i,s,o=Cr(a),u;try{for(o.s();!(u=o.n()).done;){var l=u.value,v=n[l];if(!i&&v.isNode()&&(i=v),!s&&v.isEdge()&&(s=v),i&&s)break}}catch(f){o.e(f)}finally{o.f()}return[i,s].filter(Boolean)}function Ds(r,e,t){var a=r.drawing;e+=1,t.isNode()?(a.drawNode(t,e,"node-underlay"),a.drawNode(t,e,"node-body"),a.drawTexture(t,e,"label"),a.drawNode(t,e,"node-overlay")):(a.drawEdgeLine(t,e),a.drawEdgeArrow(t,e,"source"),a.drawEdgeArrow(t,e,"target"),a.drawTexture(t,e,"label"),a.drawTexture(t,e,"edge-source-label"),a.drawTexture(t,e,"edge-target-label"))}function Nf(r,e,t){var a;r.webglDebug&&(a=performance.now());var n=r.drawing,i=0;if(t.screen&&r.data.canvasNeedsRedraw[r.SELECT_BOX]&&xm(r,e),r.data.canvasNeedsRedraw[r.NODE]||t.picking){var s=r.data.contexts[r.WEBGL];t.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=wm(r),u=r.getCachedZSortedEles();if(i=u.length,n.startFrame(o,t),t.screen){for(var l=0;l0&&s>0){h.clearRect(0,0,i,s),h.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(r.full)h.translate(-a.x1*l,-a.y1*l),h.scale(l,l),this.drawElements(h,d),h.scale(1/l,1/l),h.translate(a.x1*l,a.y1*l);else{var y=e.pan(),g={x:y.x*l,y:y.y*l};l*=e.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,d),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}r.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=r.bg,h.rect(0,0,i,s),h.fill())}return c};function km(r,e){for(var t=atob(r),a=new ArrayBuffer(t.length),n=new Uint8Array(a),i=0;i"u"?"undefined":rr(OffscreenCanvas))!=="undefined")t=new OffscreenCanvas(r,e);else{var a=this.cy.window(),n=a.document;t=n.createElement("canvas"),t.width=r,t.height=e}return t};[Bf,Wr,Qr,mo,Mt,pt,br,Lf,yt,Wa,Vf].forEach(function(r){ye(Te,r)});var Pm=[{name:"null",impl:df},{name:"base",impl:Tf},{name:"canvas",impl:Dm}],Am=[{type:"layout",extensions:jp},{type:"renderer",extensions:Pm}],_f={},Gf={};function Hf(r,e,t){var a=t,n=function(S){ze("Can not register `"+e+"` for `"+r+"` since `"+S+"` already exists in the prototype and can not be overridden")};if(r==="core"){if(Ra.prototype[e])return n(e);Ra.prototype[e]=t}else if(r==="collection"){if(lr.prototype[e])return n(e);lr.prototype[e]=t}else if(r==="layout"){for(var i=function(S){this.options=S,t.call(this,S),Me(this._private)||(this._private={}),this._private.cy=S.cy,this._private.listeners=[],this.createEmitter()},s=i.prototype=Object.create(t.prototype),o=[],u=0;u{y.clear(),A.clear(),d.clear()},"clear"),D=w((e,t)=>{const n=y.get(t)||[];return r.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),ie=w((e,t)=>{const n=y.get(t)||[];return r.info("Descendants of ",t," is ",n),r.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||D(e.v,t)||D(e.w,t)||n.includes(e.w):(r.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),G=w((e,t,n,a)=>{r.warn("Copying children of ",e,"root",a,"data",t.node(e),a);const i=t.children(e)||[];e!==a&&i.push(e),r.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(o=>{if(t.children(o).length>0)G(o,t,n,a);else{const l=t.node(o);r.info("cp ",o," to ",a," with parent ",e),n.setNode(o,l),a!==t.parent(o)&&(r.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==a&&o!==e?(r.debug("Setting parent",o,e),n.setParent(o,e)):(r.info("In copy ",e,"root",a,"data",t.node(e),a),r.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==a,"node!==clusterId",o!==e));const u=t.edges(o);r.debug("Copying Edges",u),u.forEach(c=>{r.info("Edge",c);const m=t.edge(c.v,c.w,c.name);r.info("Edge data",m,a);try{ie(c,a)?(r.info("Copying as ",c.v,c.w,m,c.name),n.setEdge(c.v,c.w,m,c.name),r.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):r.info("Skipping copy of edge ",c.v,"-->",c.w," rootId: ",a," clusterId:",e)}catch(h){r.error(h)}})}r.debug("Removing node",o),t.removeNode(o)})},"copy"),J=w((e,t)=>{const n=t.children(e);let a=[...n];for(const i of n)A.set(i,e),a=[...a,...J(i,t)];return a},"extractDescendants"),oe=w((e,t,n)=>{const a=e.edges().filter(c=>c.v===t||c.w===t),i=e.edges().filter(c=>c.v===n||c.w===n),o=a.map(c=>({v:c.v===t?n:c.v,w:c.w===t?t:c.w})),l=i.map(c=>({v:c.v,w:c.w}));return o.filter(c=>l.some(m=>c.v===m.v&&c.w===m.w))},"findCommonEdges"),C=w((e,t,n)=>{const a=t.children(e);if(r.trace("Searching children of id ",e,a),a.length<1)return e;let i;for(const o of a){const l=C(o,t,n),u=oe(t,n,l);if(l)if(u.length>0)i=l;else return l}return i},"findNonClusterChild"),k=w(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),ae=w((e,t)=>{if(!e||t>10){r.debug("Opting out, no graph ");return}else r.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(r.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),y.set(n,J(n,e)),d.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const a=e.children(n),i=e.edges();a.length>0?(r.debug("Cluster identified",n,y),i.forEach(o=>{const l=D(o.v,n),u=D(o.w,n);l^u&&(r.warn("Edge: ",o," leaves cluster ",n),r.warn("Descendants of XXX ",n,": ",y.get(n)),d.get(n).externalConnections=!0)})):r.debug("Not a cluster ",n,y)});for(let n of d.keys()){const a=d.get(n).id,i=e.parent(a);i!==n&&d.has(i)&&!d.get(i).externalConnections&&(d.get(n).id=i)}e.edges().forEach(function(n){const a=e.edge(n);r.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),r.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,o=n.w;if(r.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(r.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),i=k(n.v),o=k(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const l=e.parent(i);d.get(l).externalConnections=!0,a.fromCluster=n.v}if(o!==n.w){const l=e.parent(o);d.get(l).externalConnections=!0,a.toCluster=n.w}r.warn("Fix Replacing with XXX",i,o,n.name),e.setEdge(i,o,a,n.name)}}),r.warn("Adjusted Graph",b(e)),T(e,0),r.trace(d)},"adjustClustersAndEdges"),T=w((e,t)=>{if(r.warn("extractor - ",t,b(e),e.children("D")),t>10){r.error("Bailing out");return}let n=e.nodes(),a=!1;for(const i of n){const o=e.children(i);a=a||o.length>0}if(!a){r.debug("Done, no node has children",e.nodes());return}r.debug("Nodes = ",n,t);for(const i of n)if(r.debug("Extracting node",i,d,d.has(i)&&!d.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!d.has(i))r.debug("Not a cluster",i,t);else if(!d.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){r.warn("Cluster without external connections, without a parent and with children",i,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(i)?.clusterData?.dir&&(l=d.get(i).clusterData.dir,r.warn("Fixing dir",d.get(i).clusterData.dir,l));const u=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});r.warn("Old graph before copy",b(e)),G(i,e,u,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:d.get(i).clusterData,label:d.get(i).label,graph:u}),r.warn("New graph after copy node: (",i,")",b(u)),r.debug("Old graph after copy",b(e))}else r.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!d.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),r.debug(d);n=e.nodes(),r.warn("New list of nodes",n);for(const i of n){const o=e.node(i);r.warn(" Now next level",i,o),o?.clusterNode&&T(o.graph,t+1)}},"extractor"),L=w((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(a=>{const i=e.children(a),o=L(e,i);n=[...n,...o]}),n},"sorter"),ce=w(e=>L(e,e.children()),"sortNodesByHierarchy"),M=w(async(e,t,n,a,i,o)=>{r.warn("Graph in recursive render:XAX",b(t),i);const l=t.graph().rankdir;r.trace("Dir in recursive render - dir:",l);const u=e.insert("g").attr("class","root");t.nodes()?r.info("Recursive render XXX",t.nodes()):r.info("No nodes found for",t),t.edges().length>0&&r.info("Recursive edges",t.edge(t.edges()[0]));const c=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),h=u.insert("g").attr("class","edgeLabels"),v=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){const s=t.node(f);if(i!==void 0){const g=JSON.parse(JSON.stringify(i.clusterData));r.trace(`Setting data for parent cluster XXX + Node.id = `,f,` + data=`,g.height,` +Parent cluster`,i.height),t.setNode(i.id,g),t.parent(f)||(r.trace("Setting parent",f,i.id),t.setParent(f,i.id,g))}if(r.info("(Insert) Node XXX"+f+": "+JSON.stringify(t.node(f))),s?.clusterNode){r.info("Cluster identified XBX",f,s.width,t.node(f));const{ranksep:g,nodesep:E}=t.graph();s.graph.setGraph({...s.graph.graph(),ranksep:g+25,nodesep:E});const p=await M(v,s.graph,n,a,t.node(f),o),x=p.elem;V(s,x),s.diff=p.diff||0,r.info("New compound node after recursive render XAX",f,"width",s.width,"height",s.height),$(x,s)}else t.children(f).length>0?(r.trace("Cluster - the non recursive path XBX",f,s.id,s,s.width,"Graph:",t),r.trace(C(s.id,t)),d.set(s.id,{id:C(s.id,t),node:s})):(r.trace("Node - the non recursive path XAX",f,v,t.node(f),l),await Q(v,t.node(f),{config:o,dir:l}))})),await w(async()=>{const f=t.edges().map(async function(s){const g=t.edge(s.v,s.w,s.name);r.info("Edge "+s.v+" -> "+s.w+": "+JSON.stringify(s)),r.info("Edge "+s.v+" -> "+s.w+": ",s," ",JSON.stringify(t.edge(s))),r.info("Fix",d,"ids:",s.v,s.w,"Translating: ",d.get(s.v),d.get(s.w)),await z(h,g)});await Promise.all(f)},"processEdges")(),r.info("Graph before layout:",JSON.stringify(b(t))),r.info("############################################# XXX"),r.info("### Layout ### XXX"),r.info("############################################# XXX"),I(t),r.info("Graph after layout:",JSON.stringify(b(t)));let O=0,{subGraphTitleTotalMargin:S}=U(o);return await Promise.all(ce(t).map(async function(f){const s=t.node(f);if(r.info("Position XBX => "+f+": ("+s.x,","+s.y,") width: ",s.width," height: ",s.height),s?.clusterNode)s.y+=S,r.info("A tainted cluster node XBX1",f,s.id,s.width,s.height,s.x,s.y,t.parent(f)),d.get(s.id).node=s,P(s);else if(t.children(f).length>0){r.info("A pure cluster node XBX1",f,s.id,s.x,s.y,s.width,s.height,t.parent(f)),s.height+=S,t.node(s.parentId);const g=s?.padding/2||0,E=s?.labelBBox?.height||0,p=E-g||0;r.debug("OffsetY",p,"labelHeight",E,"halfPadding",g),await W(c,s),d.get(s.id).node=s}else{const g=t.node(s.parentId);s.y+=S/2,r.info("A regular node XBX1 - using the padding",s.id,"parent",s.parentId,s.width,s.height,s.x,s.y,"offsetY",s.offsetY,"parent",g,g?.offsetY,s),P(s)}})),t.edges().forEach(function(f){const s=t.edge(f);r.info("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(s),s),s.points.forEach(x=>x.y+=S/2);const g=t.node(f.v);var E=t.node(f.w);const p=Z(m,s,d,n,g,E,a);q(s,p)}),t.nodes().forEach(function(f){const s=t.node(f);r.info(f,s.type,s.diff),s.isGroup&&(O=s.diff)}),r.warn("Returning from recursive render XAX",u,O),{elem:u,diff:O}},"recursiveRender"),ge=w(async(e,t)=>{const n=new B({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=t.select("g");_(a,e.markers,e.type,e.diagramId),Y(),F(),j(),re(),e.nodes.forEach(o=>{n.setNode(o.id,{...o}),o.parentId&&n.setParent(o.id,o.parentId)}),r.debug("Edges:",e.edges),e.edges.forEach(o=>{if(o.start===o.end){const l=o.start,u=l+"---"+l+"---1",c=l+"---"+l+"---2",m=n.node(l);n.setNode(u,{domId:u,id:u,parentId:m.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(u,m.parentId),n.setNode(c,{domId:c,id:c,parentId:m.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(c,m.parentId);const h=structuredClone(o),v=structuredClone(o),X=structuredClone(o);h.label="",h.arrowTypeEnd="none",h.endLabelLeft="",h.endLabelRight="",h.startLabelLeft="",h.id=l+"-cyclic-special-1",v.startLabelRight="",v.startLabelLeft="",v.endLabelLeft="",v.endLabelRight="",v.arrowTypeStart="none",v.arrowTypeEnd="none",v.id=l+"-cyclic-special-mid",X.label="",X.startLabelRight="",X.startLabelLeft="",X.arrowTypeStart="none",m.isGroup&&(h.fromCluster=l,X.toCluster=l),X.id=l+"-cyclic-special-2",X.arrowTypeStart="none",n.setEdge(l,u,h,l+"-cyclic-special-0"),n.setEdge(u,c,v,l+"-cyclic-special-1"),n.setEdge(c,l,X,l+"-cyc=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function j(n,t){if(!isFinite(n)||n===0)return null;var e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"),i=n.slice(0,e);return[i.length>1?i[0]+i.slice(2):i,+n.slice(e+1)]}function K(n){return n=j(Math.abs(n)),n?n[1]:NaN}function Q(n,t){return function(e,i){for(var o=e.length,a=[],c=0,h=n[0],M=0;o>0&&h>0&&(M+h+1>i&&(h=Math.max(1,i-M)),a.push(e.substring(o-=h,o+h)),!((M+=h+1)>i));)h=n[c=(c+1)%n.length];return a.reverse().join(t)}}function V(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var W=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $(n){if(!(t=W.exec(n)))throw new Error("invalid format: "+n);var t;return new L({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}$.prototype=L.prototype;function L(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}L.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 _(n){n:for(var t=n.length,e=1,i=-1,o;e0&&(i=0);break}return i>0?n.slice(0,i)+n.slice(o+1):n}var N;function v(n,t){var e=j(n,t);if(!e)return N=void 0,n.toPrecision(t);var i=e[0],o=e[1],a=o-(N=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,c=i.length;return a===c?i:a>c?i+new Array(a-c+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+j(n,Math.max(0,t+a-1))[0]}function X(n,t){var e=j(n,t);if(!e)return n+"";var i=e[0],o=e[1];return o<0?"0."+new Array(-o).join("0")+i:i.length>o+1?i.slice(0,o+1)+"."+i.slice(o+1):i+new Array(o-i.length+2).join("0")}const O={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:J,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>X(n*100,t),r:X,s:v,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function R(n){return n}var U=Array.prototype.map,Y=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function nn(n){var t=n.grouping===void 0||n.thousands===void 0?R:Q(U.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",i=n.currency===void 0?"":n.currency[1]+"",o=n.decimal===void 0?".":n.decimal+"",a=n.numerals===void 0?R:V(U.call(n.numerals,String)),c=n.percent===void 0?"%":n.percent+"",h=n.minus===void 0?"−":n.minus+"",M=n.nan===void 0?"NaN":n.nan+"";function T(f,g){f=$(f);var b=f.fill,p=f.align,m=f.sign,w=f.symbol,S=f.zero,E=f.width,F=f.comma,y=f.precision,C=f.trim,d=f.type;d==="n"?(F=!0,d="g"):O[d]||(y===void 0&&(y=12),C=!0,d="g"),(S||b==="0"&&p==="=")&&(S=!0,b="0",p="=");var q=(g&&g.prefix!==void 0?g.prefix:"")+(w==="$"?e:w==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():""),B=(w==="$"?i:/[%p]/.test(d)?c:"")+(g&&g.suffix!==void 0?g.suffix:""),D=O[d],H=/[defgprs%]/.test(d);y=y===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y));function G(r){var l=q,u=B,x,I,k;if(d==="c")u=D(r)+u,r="";else{r=+r;var P=r<0||1/r<0;if(r=isNaN(r)?M:D(Math.abs(r),y),C&&(r=_(r)),P&&+r==0&&m!=="+"&&(P=!1),l=(P?m==="("?m:h:m==="-"||m==="("?"":m)+l,u=(d==="s"&&!isNaN(r)&&N!==void 0?Y[8+N/3]:"")+u+(P&&m==="("?")":""),H){for(x=-1,I=r.length;++xk||k>57){u=(k===46?o+r.slice(x+1):r.slice(x))+u,r=r.slice(0,x);break}}}F&&!S&&(r=t(r,1/0));var z=l.length+r.length+u.length,s=z>1)+l+r+u+s.slice(z);break;default:r=s+l+r+u;break}return a(r)}return G.toString=function(){return f+""},G}function Z(f,g){var b=Math.max(-8,Math.min(8,Math.floor(K(g)/3)))*3,p=Math.pow(10,-b),m=T((f=$(f),f.type="f",f),{suffix:Y[8+b/3]});return function(w){return m(p*w)}}return{format:T,formatPrefix:Z}}var A,tn,rn;en({thousands:",",grouping:[3],currency:["$",""]});function en(n){return A=nn(n),tn=A.format,rn=A.formatPrefix,A}export{rn as a,tn as b,K as e,$ as f}; diff --git a/_astro/diagram-2AECGRRQ.MlUG08pO.js b/_astro/diagram-2AECGRRQ.MlUG08pO.js new file mode 100644 index 0000000..01e41ce --- /dev/null +++ b/_astro/diagram-2AECGRRQ.MlUG08pO.js @@ -0,0 +1,43 @@ +import{s as k,g as I,q as R,p as F,a as _,b as D,_ as l,I as E,z,F as y,D as C,G,l as P,K as W,e as B}from"./mermaid.core.Ci_VGkOG.js";import{p as V}from"./chunk-4BX2VUAB.Bj_lmsp3.js";import{p as H}from"./wardley-L42UT6IY.BVigPHyG.js";import"./preload-helper.DK3iz7C1.js";var m={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},w={axes:[],curves:[],options:m},x=structuredClone(w),j=G.radar,q=l(()=>y({...j,...C().radar}),"getConfig"),b=l(()=>x.axes,"getAxes"),K=l(()=>x.curves,"getCurves"),N=l(()=>x.options,"getOptions"),U=l(a=>{x.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),X=l(a=>{x.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Y(t.entries)}))},"setCurves"),Y=l(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=b();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>s.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),Z=l(a=>{const t=a.reduce((e,r)=>(e[r.name]=r,e),{});x.options={showLegend:t.showLegend?.value??m.showLegend,ticks:t.ticks?.value??m.ticks,max:t.max?.value??m.max,min:t.min?.value??m.min,graticule:t.graticule?.value??m.graticule}},"setOptions"),J=l(()=>{z(),x=structuredClone(w)},"clear"),$={getAxes:b,getCurves:K,getOptions:N,setAxes:U,setCurves:X,setOptions:Z,getConfig:q,clear:J,setAccTitle:D,getAccTitle:_,setDiagramTitle:F,getDiagramTitle:R,getAccDescription:I,setAccDescription:k},Q=l(a=>{V(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),tt={parse:l(async a=>{const t=await H("radar",a);P.debug(t),Q(t)},"parse")},et=l((a,t,e,r)=>{const s=r.db,o=s.getAxes(),i=s.getCurves(),n=s.getOptions(),c=s.getConfig(),d=s.getDiagramTitle(),p=E(t),u=at(p,c),g=n.max??Math.max(...i.map(f=>Math.max(...f.entries))),h=n.min,v=Math.min(c.width,c.height)/2;rt(u,o,v,n.ticks,n.graticule),st(u,o,v,c),M(u,o,i,h,g,n.graticule,c),T(u,i,n.showLegend,c),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),at=l((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return B(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),rt=l((a,t,e,r,s)=>{if(s==="circle")for(let o=0;o{const u=2*p*Math.PI/o-Math.PI/2,g=n*Math.cos(u),h=n*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),st=l((a,t,e,r)=>{const s=t.length;for(let o=0;o{if(d.entries.length!==n)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/n-Math.PI/2,f=A(g,r,s,c),S=f*Math.cos(v),O=f*Math.sin(v);return{x:S,y:O}});o==="circle"?a.append("path").attr("d",L(u,i.curveTension)).attr("class",`radarCurve-${p}`):o==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}l(M,"drawCurves");function A(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}l(A,"relativeRadius");function L(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s{const d=a.append("g").attr("transform",`translate(${s}, ${o+c*i})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(n.label)})}l(T,"drawLegend");var nt={draw:et},ot=l((a,t)=>{let e="";for(let r=0;r{const t=W(),e=C(),r=y(t,e.themeVariables),s=y(r.radar,a);return{themeVariables:r,radarOptions:s}},"buildRadarStyleOptions"),lt=l(({radar:a}={})=>{const{themeVariables:t,radarOptions:e}=it(a);return` + .radarTitle { + font-size: ${t.fontSize}; + color: ${t.titleColor}; + dominant-baseline: hanging; + text-anchor: middle; + } + .radarAxisLine { + stroke: ${e.axisColor}; + stroke-width: ${e.axisStrokeWidth}; + } + .radarAxisLabel { + dominant-baseline: middle; + text-anchor: middle; + font-size: ${e.axisLabelFontSize}px; + color: ${e.axisColor}; + } + .radarGraticule { + fill: ${e.graticuleColor}; + fill-opacity: ${e.graticuleOpacity}; + stroke: ${e.graticuleColor}; + stroke-width: ${e.graticuleStrokeWidth}; + } + .radarLegendText { + text-anchor: start; + font-size: ${e.legendFontSize}px; + dominant-baseline: hanging; + } + ${ot(t,e)} + `},"styles"),gt={parser:tt,db:$,renderer:nt,styles:lt};export{gt as diagram}; diff --git a/_astro/diagram-5GNKFQAL.CKqaQ_hH.js b/_astro/diagram-5GNKFQAL.CKqaQ_hH.js new file mode 100644 index 0000000..20cbc4c --- /dev/null +++ b/_astro/diagram-5GNKFQAL.CKqaQ_hH.js @@ -0,0 +1,10 @@ +import{p as x,b as f,s as C,q as B,g as T,a as y,_ as s,F as u,l as k,I as V,e as _,D,z as N,G as S}from"./mermaid.core.Ci_VGkOG.js";import{p as I}from"./chunk-4BX2VUAB.Bj_lmsp3.js";import{I as $}from"./chunk-QZHKN3VN.BmpnJiq_.js";import{p as z}from"./wardley-L42UT6IY.BVigPHyG.js";import"./preload-helper.DK3iz7C1.js";var d=new $(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),A=s(()=>{d.reset(),N()},"clear"),X=s(()=>d.records.stack[0],"getRoot"),H=s(()=>d.records.cnt,"getCount"),L=S.treeView,R=s(()=>u(L,D().treeView),"getConfig"),W=s((e,t)=>{for(;e<=d.records.stack[d.records.stack.length-1].level;)d.records.stack.pop();const a={id:d.records.cnt++,level:e,name:t,children:[]};d.records.stack[d.records.stack.length-1].children.push(a),d.records.stack.push(a)},"addNode"),E={clear:A,addNode:W,getRoot:X,getCount:H,getConfig:R,getAccTitle:y,getAccDescription:T,getDiagramTitle:B,setAccDescription:C,setAccTitle:f,setDiagramTitle:x},m=E,F=s(e=>{I(e,m),e.nodes.map(t=>m.addNode(t.indent?parseInt(t.indent):0,t.name))},"populate"),M={parse:s(async e=>{const t=await z("treeView",e);k.debug(t),F(t)},"parse")},Y=s((e,t,a,n,o)=>{const c=n.append("text").text(a.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:g,width:r}=c.node().getBBox(),l=g+o.paddingY*2,i=r+o.paddingX*2;c.attr("x",e+o.paddingX),c.attr("y",t+l/2),a.BBox={x:e,y:t,width:i,height:l}},"positionLabel"),b=s((e,t,a,n,o,c)=>e.append("line").attr("x1",t).attr("y1",a).attr("x2",n).attr("y2",o).attr("stroke-width",c).attr("class","treeView-node-line"),"positionLine"),q=s((e,t,a)=>{let n=0,o=0;const c=s((r,l,i,h)=>{const v=h*(i.rowIndent+i.paddingX);Y(v,n,l,r,i);const{height:p,width:w}=l.BBox;b(r,v-i.rowIndent,n+p/2,v,n+p/2,i.lineThickness),o=Math.max(o,v+w),n+=p},"drawNode"),g=s((r,l=0)=>{c(e,r,a,l),r.children.forEach(p=>{g(p,l+1)});const{x:i,y:h,height:v}=r.BBox;if(r.children.length){const{y:p,height:w}=r.children[r.children.length-1].BBox;b(e,i+a.paddingX,h+v,i+a.paddingX,p+w/2+a.lineThickness/2,a.lineThickness)}},"processNode");return g(t),{totalHeight:n,totalWidth:o}},"drawTree"),G=s((e,t,a,n)=>{k.debug(`Rendering treeView diagram +`+e);const o=n.db,c=o.getRoot(),g=o.getConfig(),r=V(t),l=r.append("g");l.attr("class","tree-view");const{totalHeight:i,totalWidth:h}=q(l,c,g);r.attr("viewBox",`-${g.lineThickness/2} 0 ${h} ${i}`),_(r,i,h,g.useMaxWidth)},"draw"),j={draw:G},J=j,K={labelFontSize:"16px",labelColor:"black",lineColor:"black"},O=s(({treeView:e})=>{const{labelFontSize:t,labelColor:a,lineColor:n}=u(K,e);return` + .treeView-node-label { + font-size: ${t}; + fill: ${a}; + } + .treeView-node-line { + stroke: ${n}; + } + `},"styles"),P=O,ae={db:m,renderer:J,parser:M,styles:P};export{ae as diagram}; diff --git a/_astro/diagram-KO2AKTUF.4up6Ar1O.js b/_astro/diagram-KO2AKTUF.4up6Ar1O.js new file mode 100644 index 0000000..9e702c6 --- /dev/null +++ b/_astro/diagram-KO2AKTUF.4up6Ar1O.js @@ -0,0 +1,3 @@ +import{p as re}from"./chunk-4BX2VUAB.Bj_lmsp3.js";import{q as oe,p as se,s as de,g as le,a as ce,b as me,_ as o,l as g,c as D,d as ue,E as xe,z as fe,F as ge,D as M,G as he,i as y,w as P,ak as pe}from"./mermaid.core.Ci_VGkOG.js";import{p as be,i as ve}from"./wardley-L42UT6IY.BVigPHyG.js";import"./preload-helper.DK3iz7C1.js";var T="position frame",$="frame positioned",S="position relation",N="relation positioned",we=o(function(e){g.debug("options str",e)},"setOptions"),ye=o(function(){return{}},"getOptions"),Pe=o(function(){C(),fe()},"clear");function C(){B={}}o(C,"reset");var Se=he.eventmodeling,ke=o(()=>ge({...Se,...M().eventmodeling}),"getConfig"),B={};function O(){let e=Fe;const{ast:n}=B,t=E();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=L(i,n.dataEntities,t);e=v(e,{$kind:T,index:a,frame:i,textProps:r});let d;K(i)?(g.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=v(e,{$kind:S,index:a,frame:i,sourceFrame:l})})):e=v(e,{$kind:S,index:a,frame:i})}),e={...e,sortedSwimlanesArray:A(e.swimlanes)},e}o(O,"getState");function I(e){B.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function E(){return s}o(E,"getDiagramProps");var Fe={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function W(e){const n=e.split(".");if(n.length===2)return n[0]}o(W,"extractNamespace");function H(e){const n=e.split(".");return n.length===2?n[1]:e}o(H,"extractName");function U(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(U,"findSwimlaneByNamespace");function b(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&aNumber.parseInt(i)))+1}o(b,"findNextAvailableIndex");function _(e,n){const t=W(e.entityIdentifier),i=U(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:b(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:b(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:b(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(_,"calculateSwimlaneProps");function G(e){const{themeVariables:n}=M();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(G,"calculateEntityVisualProps");function L(e,n,t){const i=M(),a=y(H(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"
"};let c=`${P(a,t.textMaxWidth,d)}`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=y(r,i),r=P(r,t.textMaxWidth,d),r=r.replaceAll(" "," ")),e.dataReference){const p=n.find(w=>w.name===e.dataReference?.$refText);p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{ +`)+2),r=r.substring(0,r.lastIndexOf("}")-1),r=y(r,i),r=P(r,t.textMaxWidth,d),r=r.replaceAll(" "," "),r+="
")}const m=r!==void 0;m&&(c+=`

${r}`);const x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=pe(c,x),h=m?u.width/3:u.width,f={content:c,width:h,height:u.height};return g.debug(`[${e.name}] ${e.entityIdentifier} text`,f),f}o(L,"calculateTextProps");function V(e,n){const t=n,i=G(t.frame),a={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:$,frame:t.frame,index:t.index,visual:i,dimension:a,textProps:t.textProps}]}o(V,"decidePositionFrame");function X(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(X,"calculateX");function j(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}o(j,"calculateMaxRight");function A(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o(A,"sortedSwimlanesArray");function Y(e,n){const t=n,i=_(t.frame,e.swimlanes);let a;i.index in e.swimlanes?a=e.swimlanes[i.index]:a={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,l={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=X(a,d,r),m=c+l.width+s.boxPadding,x=j(Object.values(e.swimlanes),m);a.r=c+l.width,a.maxHeight=Math.max(a.maxHeight,l.height),a.height=Math.max(s.swimlaneMinHeight,a.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+a.y,r:m,dimension:l,leftSibling:!1,swimlane:a,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${a.index}`]:a},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},f=A(h.swimlanes);f.length>0&&(f[0].y=0);for(let p=1;p0}o(K,"hasSourceFrame");function k(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(k,"findBoxByFrame");function q(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const a=e[i];if(a.swimlane.index!==n)return a}}o(q,"findBoxByLineIndex");function J(e,n){const t=n;if(ve(t.frame)||z(t.index,t.frame))return[];const i=k(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let a;return t.sourceFrame?a=k(e.boxes,t.sourceFrame):a=q(e.boxes,i.swimlane.index,t.index-1),a===void 0?[]:[{$kind:N,frame:t.frame,index:t.index,sourceBox:a,targetBox:i}]}o(J,"decidePositionRelation");function Q(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(Q,"evolveRelationPositioned");var Me={[T]:V,[S]:J},Be={[$]:Y,[N]:Q};function Z(e,n){const t=Me[n.$kind];if(t==null)return[];const i=t(e,n);return g.debug("decided events",i),i}o(Z,"decide");function ee(e,n){const t=n.reduce((i,a)=>{const r=Be[a.$kind];return r==null?i:r(i,a)},e);return g.debug("evolve events",{state:e,newState:t,events:n}),t}o(ee,"evolve");function v(e,n){const t=Z(e,n);return ee(e,t)}o(v,"dispatch");var F={getConfig:ke,setOptions:we,getOptions:ye,clear:Pe,setAccTitle:me,getAccTitle:ce,getAccDescription:le,setAccDescription:de,setDiagramTitle:se,getDiagramTitle:oe,setAst:I,getDiagramProps:E,getState:O},Ee={parse:o(async e=>{const n=await be("eventmodeling",e);g.debug(n),F.setAst(n),re(n,F)},"parse")},Ae=D(),Re=Ae?.eventmodeling;function te(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),a.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(te,"renderD3Box");function ne(e,n){return e>n}o(ne,"dirUpwards");function ie(e,n,t,i){return a=>{const r=a.sourceBox.swimlane.y+n.swimlanePadding,d=a.targetBox.swimlane.y+n.swimlanePadding,l=ne(r,d),c=a.sourceBox.x+a.sourceBox.dimension.width*2/3,m=a.targetBox.x+a.targetBox.dimension.width/3;let x,u;g.debug(`rendering relation up=${l} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),l?(x=r,u=d+a.targetBox.dimension.height):(x=r+a.sourceBox.dimension.height,u=d);const h=i.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(ie,"renderD3Relation");function ae(e,n,t,i){return a=>{const r=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",a.height).attr("fill",d).attr("stroke",l),r.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}o(ae,"renderD3Swimlane");var De=o(function(e,n,t,i){if(g.debug("in eventmodeling renderer",e+` +`,"id:",n,t),!Re)throw new Error("EventModeling config not found");const a=i.db,{themeVariables:r,eventmodeling:d}=D(),l=ue(`[id="${n}"]`),c=a.getDiagramProps(),m=a.getState(),x=`em-arrowhead-${n}`,u=r.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(ae(l,m.maxR,c,r)),m.boxes.forEach(te(l,c)),m.relations.forEach(ie(l,c,x,r)),l.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),xe(void 0,l,d?.padding??30,d?.useMaxWidth)},"draw"),Te={draw:De},$e=o(e=>"","getStyles"),Ne=$e,He={parser:Ee,db:F,renderer:Te,styles:Ne};export{He as diagram}; diff --git a/_astro/diagram-LMA3HP47.B9YE20Dj.js b/_astro/diagram-LMA3HP47.B9YE20Dj.js new file mode 100644 index 0000000..5159582 --- /dev/null +++ b/_astro/diagram-LMA3HP47.B9YE20Dj.js @@ -0,0 +1,24 @@ +import{_ as b,F as u,I as $,e as B,l as m,b as C,a as S,p as D,q as T,g as z,s as F,D as P,G as E,z as A}from"./mermaid.core.Ci_VGkOG.js";import{p as W}from"./chunk-4BX2VUAB.Bj_lmsp3.js";import{p as _}from"./wardley-L42UT6IY.BVigPHyG.js";import"./preload-helper.DK3iz7C1.js";var N=E.packet,w=class{constructor(){this.packet=[],this.setAccTitle=C,this.getAccTitle=S,this.setDiagramTitle=D,this.getDiagramTitle=T,this.getAccDescription=z,this.setAccDescription=F}static{b(this,"PacketDB")}getConfig(){const t=u({...N,...P().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){A(),this.packet=[]}},I=1e4,L=b((t,e)=>{W(t,e);let r=-1,s=[],n=1;const{bitsPerRow:l}=e.getConfig();for(let{start:a,end:i,bits:d,label:c}of t.blocks){if(a!==void 0&&i!==void 0&&i{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const s=e*r-1,n=e*r;return[{start:t.start,end:s,label:t.label,bits:s-t.start},{start:n,end:t.end,label:t.label,bits:t.end-n}]},"getNextFittingBlock"),v={parser:{yy:void 0},parse:b(async t=>{const e=await _("packet",t),r=v.parser?.yy;if(!(r instanceof w))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.");m.debug(e),L(e,r)},"parse")},Y=b((t,e,r,s)=>{const n=s.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),o=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(o?0:a),k=d*c+2,f=$(e);f.attr("viewBox",`0 0 ${k} ${g}`),B(f,g,k,l.useMaxWidth);for(const[x,y]of p.entries())G(f,y,x,l);f.append("text").text(o).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),G=b((t,e,r,{rowHeight:s,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=t.append("g"),p=r*(s+l)+l;for(const o of e){const h=o.start%i*a+1,g=(o.end-o.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",s).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!d)continue;const k=o.end===o.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),O={draw:Y},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},q=b(({packet:t}={})=>{const e=u(j,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"),X={parser:v,get db(){return new w},renderer:O,styles:q};export{X as diagram}; diff --git a/_astro/diagram-OG6HWLK6.Gn5-3W5d.js b/_astro/diagram-OG6HWLK6.Gn5-3W5d.js new file mode 100644 index 0000000..25c3c09 --- /dev/null +++ b/_astro/diagram-OG6HWLK6.Gn5-3W5d.js @@ -0,0 +1,24 @@ +import{_ as w,K as de,D as Q,F as Z,I as he,e as ue,l as J,bd as P,d as Y,b as pe,a as fe,p as me,q as ge,g as ye,s as Se,G as ve,be as xe,z as be}from"./mermaid.core.Ci_VGkOG.js";import{s as we}from"./chunk-2J33WTMH.HmvIJeR8.js";import{p as Ce}from"./chunk-4BX2VUAB.Bj_lmsp3.js";import{p as Te}from"./wardley-L42UT6IY.BVigPHyG.js";import{b as H}from"./defaultLocale.DX6XiGOO.js";import{o as U}from"./ordinal.BYWQX77i.js";import"./preload-helper.DK3iz7C1.js";import"./init.Gi6I4Gst.js";function Le(e){var a=0,n=e.children,l=n&&n.length;if(!l)a=1;else for(;--l>=0;)a+=n[l].value;e.value=a}function $e(){return this.eachAfter(Le)}function Ae(e,a){let n=-1;for(const l of this)e.call(a,l,++n,this);return this}function Fe(e,a){for(var n=this,l=[n],r,o,d=-1;n=l.pop();)if(e.call(a,n,++d,this),r=n.children)for(o=r.length-1;o>=0;--o)l.push(r[o]);return this}function Ne(e,a){for(var n=this,l=[n],r=[],o,d,h,m=-1;n=l.pop();)if(r.push(n),o=n.children)for(d=0,h=o.length;d=0;)n+=l[r].value;a.value=n})}function _e(e){return this.eachBefore(function(a){a.children&&a.children.sort(e)})}function ke(e){for(var a=this,n=ze(a,e),l=[a];a!==n;)a=a.parent,l.push(a);for(var r=l.length;e!==n;)l.splice(r,0,e),e=e.parent;return l}function ze(e,a){if(e===a)return e;var n=e.ancestors(),l=a.ancestors(),r=null;for(e=n.pop(),a=l.pop();e===a;)r=e,e=n.pop(),a=l.pop();return r}function De(){for(var e=this,a=[e];e=e.parent;)a.push(e);return a}function Pe(){return Array.from(this)}function Be(){var e=[];return this.eachBefore(function(a){a.children||e.push(a)}),e}function Re(){var e=this,a=[];return e.each(function(n){n!==e&&a.push({source:n.parent,target:n})}),a}function*Ee(){var e=this,a,n=[e],l,r,o;do for(a=n.reverse(),n=[];e=a.pop();)if(yield e,l=e.children)for(r=0,o=l.length;r=0;--h)r.push(o=d[h]=new j(d[h])),o.parent=l,o.depth=l.depth+1;return n.eachBefore(Ge)}function We(){return ee(this).eachBefore(Oe)}function Ie(e){return e.children}function He(e){return Array.isArray(e)?e[1]:null}function Oe(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function Ge(e){var a=0;do e.height=a;while((e=e.parent)&&e.height<++a)}function j(e){this.data=e,this.depth=this.height=0,this.parent=null}j.prototype=ee.prototype={constructor:j,count:$e,each:Ae,eachAfter:Ne,eachBefore:Fe,find:Me,sum:Ve,sort:_e,path:ke,ancestors:De,descendants:Pe,leaves:Be,links:Re,copy:We,[Symbol.iterator]:Ee};function qe(e){if(typeof e!="function")throw new Error;return e}function O(){return 0}function G(e){return function(){return e}}function Xe(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function Ye(e,a,n,l,r){for(var o=e.children,d,h=-1,m=o.length,c=e.value&&(l-a)/e.value;++hM&&(M=c),V=p*p*R,N=Math.max(M/V,V/g),N>z){p-=c;break}z=N}d.push(m={value:p,dice:x1?l:1)},n})(Ke);function Je(){var e=Ze,a=!1,n=1,l=1,r=[0],o=O,d=O,h=O,m=O,c=O;function u(s){return s.x0=s.y0=0,s.x1=n,s.y1=l,s.eachBefore(b),r=[0],a&&s.eachBefore(Xe),s}function b(s){var x=r[s.depth],S=s.x0+x,v=s.y0+x,p=s.x1-x,g=s.y1-x;p{xe(r)&&(n?.textStyles?n.textStyles.push(r):n.textStyles=[r]),n?.styles?n.styles.push(r):n.styles=[r]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){be(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function ne(e){if(!e.length)return[];const a=[],n=[];return e.forEach(l=>{const r={name:l.name,children:l.type==="Leaf"?void 0:[]};for(r.classSelector=l?.classSelector,l?.cssCompiledStyles&&(r.cssCompiledStyles=l.cssCompiledStyles),l.type==="Leaf"&&l.value!==void 0&&(r.value=l.value);n.length>0&&n[n.length-1].level>=l.level;)n.pop();if(n.length===0)a.push(r);else{const o=n[n.length-1].node;o.children?o.children.push(r):o.children=[r]}l.type!=="Leaf"&&n.push({node:r,level:l.level})}),a}w(ne,"buildHierarchy");var Qe=w((e,a)=>{Ce(e,a);const n=[];for(const o of e.TreemapRows??[])o.$type==="ClassDefStatement"&&a.addClass(o.className??"",o.styleText??"");for(const o of e.TreemapRows??[]){const d=o.item;if(!d)continue;const h=o.indent?parseInt(o.indent):0,m=et(d),c=d.classSelector?a.getStylesForClass(d.classSelector):[],u=c.length>0?c:void 0,b={level:h,name:m,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:u};n.push(b)}const l=ne(n),r=w((o,d)=>{for(const h of o)a.addNode(h,d),h.children&&h.children.length>0&&r(h.children,d+1)},"addNodesRecursively");r(l,0)},"populate"),et=w(e=>e.name?String(e.name):"","getItemName"),le={parser:{yy:void 0},parse:w(async e=>{try{const n=await Te("treemap",e);J.debug("Treemap AST:",n);const l=le.parser?.yy;if(!(l instanceof ae))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.");Qe(n,l)}catch(a){throw J.error("Error parsing treemap:",a),a}},"parse")},tt=10,B=10,q=25,at=w((e,a,n,l)=>{const r=l.db,o=r.getConfig(),d=o.padding??tt,h=r.getDiagramTitle(),m=r.getRoot(),{themeVariables:c}=Q();if(!m)return;const u=h?30:0,b=he(a),s=o.nodeWidth?o.nodeWidth*B:960,x=o.nodeHeight?o.nodeHeight*B:500,S=s,v=x+u;b.attr("viewBox",`0 0 ${S} ${v}`),ue(b,v,S,o.useMaxWidth);let p;try{const t=o.valueFormat||",";if(t==="$0,0")p=w(i=>"$"+H(",")(i),"valueFormat");else if(t.startsWith("$")&&t.includes(",")){const i=/\.\d+/.exec(t),f=i?i[0]:"";p=w(C=>"$"+H(","+f)(C),"valueFormat")}else if(t.startsWith("$")){const i=t.substring(1);p=w(f=>"$"+H(i||"")(f),"valueFormat")}else p=H(t)}catch(t){J.error("Error creating format function:",t),p=H(",")}const g=U().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),M=U().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),N=U().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);h&&b.append("text").attr("x",S/2).attr("y",u/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const z=b.append("g").attr("transform",`translate(0, ${u})`).attr("class","treemapContainer"),R=ee(m).sum(t=>t.value??0).sort((t,i)=>(i.value??0)-(t.value??0)),te=Je().size([s,x]).paddingTop(t=>t.children&&t.children.length>0?q+B:0).paddingInner(d).paddingLeft(t=>t.children&&t.children.length>0?B:0).paddingRight(t=>t.children&&t.children.length>0?B:0).paddingBottom(t=>t.children&&t.children.length>0?B:0).round(!0)(R),re=te.descendants().filter(t=>t.children&&t.children.length>0),E=z.selectAll(".treemapSection").data(re).enter().append("g").attr("class","treemapSection").attr("transform",t=>`translate(${t.x0},${t.y0})`);E.append("rect").attr("width",t=>t.x1-t.x0).attr("height",q).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",t=>t.depth===0?"display: none;":""),E.append("clipPath").attr("id",(t,i)=>`clip-section-${a}-${i}`).append("rect").attr("width",t=>Math.max(0,t.x1-t.x0-12)).attr("height",q),E.append("rect").attr("width",t=>t.x1-t.x0).attr("height",t=>t.y1-t.y0).attr("class",(t,i)=>`treemapSection section${i}`).attr("fill",t=>g(t.data.name)).attr("fill-opacity",.6).attr("stroke",t=>M(t.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",t=>{if(t.depth===0)return"display: none;";const i=P({cssCompiledStyles:t.data.cssCompiledStyles});return i.nodeStyles+";"+i.borderStyles.join(";")}),E.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",q/2).attr("dominant-baseline","middle").text(t=>t.depth===0?"":t.data.name).attr("font-weight","bold").attr("style",t=>{if(t.depth===0)return"display: none;";const i="dominant-baseline: middle; font-size: 12px; fill:"+N(t.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:t.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).each(function(t){if(t.depth===0)return;const i=Y(this),f=t.data.name;i.text(f);const C=t.x1-t.x0,L=6;let $;o.showValues!==!1&&t.value?$=C-10-30-10-L:$=C-L-6;const A=Math.max(15,$),y=i.node();if(y.getComputedTextLength()>A){let T=f;for(;T.length>0;){if(T=f.substring(0,T.length-1),T.length===0){i.text("..."),y.getComputedTextLength()>A&&i.text("");break}if(i.text(T+"..."),y.getComputedTextLength()<=A)break}}}),o.showValues!==!1&&E.append("text").attr("class","treemapSectionValue").attr("x",t=>t.x1-t.x0-10).attr("y",q/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(t=>t.value?p(t.value):"").attr("font-style","italic").attr("style",t=>{if(t.depth===0)return"display: none;";const i="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+N(t.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:t.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")});const se=te.leaves(),X=z.selectAll(".treemapLeafGroup").data(se).enter().append("g").attr("class",(t,i)=>`treemapNode treemapLeafGroup leaf${i}${t.data.classSelector?` ${t.data.classSelector}`:""}x`).attr("transform",t=>`translate(${t.x0},${t.y0})`);X.append("rect").attr("width",t=>t.x1-t.x0).attr("height",t=>t.y1-t.y0).attr("class","treemapLeaf").attr("fill",t=>t.parent?g(t.parent.data.name):g(t.data.name)).attr("style",t=>P({cssCompiledStyles:t.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",t=>t.parent?g(t.parent.data.name):g(t.data.name)).attr("stroke-width",3),X.append("clipPath").attr("id",(t,i)=>`clip-${a}-${i}`).append("rect").attr("width",t=>Math.max(0,t.x1-t.x0-4)).attr("height",t=>Math.max(0,t.y1-t.y0-4)),X.append("text").attr("class","treemapLabel").attr("x",t=>(t.x1-t.x0)/2).attr("y",t=>(t.y1-t.y0)/2).attr("style",t=>{const i="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+N(t.data.name)+";",f=P({cssCompiledStyles:t.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,i)=>`url(#clip-${a}-${i})`).text(t=>t.data.name).each(function(t){const i=Y(this),f=t.x1-t.x0,C=t.y1-t.y0,L=i.node(),$=4,D=f-2*$,A=C-2*$;if(D<10||A<10){i.style("display","none");return}let y=parseInt(i.style("font-size"),10);const _=8,F=28,T=.6,k=6,W=2;for(;L.getComputedTextLength()>D&&y>_;)y--,i.style("font-size",`${y}px`);let I=Math.max(k,Math.min(F,Math.round(y*T))),K=y+W+I;for(;K>A&&y>_&&(y--,I=Math.max(k,Math.min(F,Math.round(y*T))),!(ID||y<_||A(i.x1-i.x0)/2).attr("y",function(i){return(i.y1-i.y0)/2}).attr("style",i=>{const f="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+N(i.data.name)+";",C=P({cssCompiledStyles:i.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(i,f)=>`url(#clip-${a}-${f})`).text(i=>i.value?p(i.value):"").each(function(i){const f=Y(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=Y(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const $=parseFloat(L.style("font-size")),D=28,A=.6,y=6,_=2,F=Math.max(y,Math.min(D,Math.round($*A)));f.style("font-size",`${F}px`);const k=(i.y1-i.y0)/2+$/2+_;f.attr("y",k);const W=i.x1-i.x0,oe=i.y1-i.y0-4,ce=W-8;f.node().getComputedTextLength()>ce||k+F>oe||F{const a=de(),n=Q(),l=Z(a,n.themeVariables),r=Z(rt,e),o=r.titleColor??l.titleColor,d=r.labelColor??l.textColor,h=r.valueColor??l.textColor;return` + .treemapNode.section { + stroke: ${r.sectionStrokeColor}; + stroke-width: ${r.sectionStrokeWidth}; + fill: ${r.sectionFillColor}; + } + .treemapNode.leaf { + stroke: ${r.leafStrokeColor}; + stroke-width: ${r.leafStrokeWidth}; + fill: ${r.leafFillColor}; + } + .treemapLabel { + fill: ${d}; + font-size: ${r.labelFontSize}; + } + .treemapValue { + fill: ${h}; + font-size: ${r.valueFontSize}; + } + .treemapTitle { + fill: ${o}; + font-size: ${r.titleFontSize}; + } + `},"getStyles"),it=st,yt={parser:le,get db(){return new ae},renderer:lt,styles:it};export{yt as diagram}; diff --git a/_astro/ec.0vx5m.js b/_astro/ec.0vx5m.js new file mode 100644 index 0000000..2350adc --- /dev/null +++ b/_astro/ec.0vx5m.js @@ -0,0 +1,3 @@ +try{(()=>{function a(e){if(!e)return;let t=e.getAttribute("tabindex")!==null,r=e.scrollWidth>e.clientWidth;r&&!t?(e.setAttribute("tabindex","0"),e.setAttribute("role","region")):!r&&t&&(e.removeAttribute("tabindex"),e.removeAttribute("role"))}var u=window.requestIdleCallback||(e=>setTimeout(e,1)),s=window.cancelIdleCallback||clearTimeout;function l(e){let t=new Set,r,n;return new ResizeObserver(c=>{c.forEach(o=>t.add(o.target)),r&&clearTimeout(r),n&&s(n),r=setTimeout(()=>{n&&s(n),n=u(()=>{t.forEach(o=>e(o)),t.clear()})},250)})}function i(e,t){e.querySelectorAll?.(".expressive-code pre > code").forEach(r=>{let n=r.parentElement;n&&t.observe(n)})}var d=l(a);i(document,d);var b=new MutationObserver(e=>e.forEach(t=>t.addedNodes.forEach(r=>{i(r,d)})));b.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{i(document,d)});})();}catch(e){console.error("[EC] tabindex-js-module failed:",e)} +try{(()=>{function l(o){let e=document.createElement("pre");Object.assign(e.style,{opacity:"0",pointerEvents:"none",position:"absolute",overflow:"hidden",left:"0",top:"0",width:"20px",height:"20px",webkitUserSelect:"auto",userSelect:"all"}),e.ariaHidden="true",e.textContent=o,document.body.appendChild(e);let a=document.createRange();a.selectNode(e);let n=getSelection();if(!n)return!1;n.removeAllRanges(),n.addRange(a);let r=!1;try{r=document.execCommand("copy")}finally{n.removeAllRanges(),document.body.removeChild(e)}return r}async function u(o){let e=o.currentTarget,a=e.dataset,n=!1,r=a.code.replace(/\u007f/g,` +`);try{await navigator.clipboard.writeText(r),n=!0}catch{n=l(r)}if(!n||e.parentNode?.querySelector(".feedback"))return;let c=e.parentNode?.querySelector("[aria-live]"),t=document.createElement("div");t.classList.add("feedback"),t.append(a.copied),c.append(t),t.offsetWidth,requestAnimationFrame(()=>t?.classList.add("show"));let s=()=>!t||t.classList.remove("show"),d=()=>{!t||parseFloat(getComputedStyle(t).opacity)>0||(t.remove(),t=void 0)};setTimeout(s,1500),setTimeout(d,2500),e.addEventListener("blur",s),t.addEventListener("transitioncancel",d),t.addEventListener("transitionend",d)}function i(o){o.querySelectorAll?.(".expressive-code .copy button").forEach(e=>e.addEventListener("click",u))}i(document);var m=new MutationObserver(o=>o.forEach(e=>e.addedNodes.forEach(a=>{i(a)})));m.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{i(document)});})();}catch(e){console.error("[EC] copy-js-module failed:",e)} \ No newline at end of file diff --git a/_astro/ec.bdoyy.css b/_astro/ec.bdoyy.css new file mode 100644 index 0000000..d92bb41 --- /dev/null +++ b/_astro/ec.bdoyy.css @@ -0,0 +1 @@ +@layer starlight.components{.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);font-weight:var(--ec-uiFontWg);line-height:var(--ec-uiLineHt);text-size-adjust:none;-webkit-text-size-adjust:none}.expressive-code *:not(:is(svg, svg *)){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre > code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);font-weight:var(--ec-codeFontWg);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre.wrap .ec-line .code{white-space:pre-wrap;overflow-wrap:break-word;min-width:min(20ch, var(--ecMaxLine, 20ch))}.expressive-code pre.wrap .ec-line .code span.indent{white-space:pre}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{direction:ltr;unicode-bidi:isolate;display:grid;grid-template-areas:'gutter code';grid-template-columns:auto 1fr;position:relative}.expressive-code .ec-line .gutter{grid-area:gutter;color:var(--ec-gtrFg)}.expressive-code .ec-line .gutter > *{pointer-events:none;user-select:none;-webkit-user-select:none}.expressive-code .ec-line .gutter ~ .code{--ecLineBrdCol:var(--ec-gtrBrdCol)}.expressive-code .ec-line.highlight .gutter{color:var(--ec-gtrHlFg)}.expressive-code .ec-line .code{grid-area:code;position:relative;box-sizing:content-box;padding-inline-start:calc(var(--ecIndent, 0ch) + var(--ec-codePadInl) - var(--ecGtrBrdWd));padding-inline-end:var(--ec-codePadInl);text-indent:calc(var(--ecIndent, 0ch) * -1)}.expressive-code .ec-line .code::before,.expressive-code .ec-line .code::after,.expressive-code .ec-line .code :where(*){text-indent:0}.expressive-code .ec-line .code{--ecGtrBrdWd:var(--ec-gtrBrdWd);border-inline-start:var(--ecGtrBrdWd) solid var(--ecLineBrdCol, transparent)}.expressive-code .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.expressive-code .ec-line.mark{--tmLineBgCol:var(--ec-tm-markBg)}.expressive-code .ec-line.mark .code{--ecLineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol:var(--ec-tm-insBg);--tmLabel:var(--ec-tm-insDiffIndContent)}.expressive-code .ec-line.ins .code{--ecLineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins .code::before{color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol:var(--ec-tm-delBg);--tmLabel:var(--ec-tm-delDiffIndContent)}.expressive-code .ec-line.del .code{--ecLineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del .code::before{color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{background:var(--tmLineBgCol)}.expressive-code .ec-line.mark .code,.expressive-code .ec-line.ins .code,.expressive-code .ec-line.del .code{--ecGtrBrdWd:var(--ec-tm-lineMarkerAccentWd)}.expressive-code .ec-line.mark .code::before,.expressive-code .ec-line.ins .code::before,.expressive-code .ec-line.del .code::before{display:block;position:absolute;left:0;box-sizing:border-box;content:var(--tmLabel, ' ');padding-inline-start:var(--ec-tm-lineDiffIndMargLeft);text-align:center;white-space:pre}.expressive-code .ec-line.mark.tm-label .code::before,.expressive-code .ec-line.ins.tm-label .code::before,.expressive-code .ec-line.del.tm-label .code::before{background:var(--ecLineBrdCol);padding:0 calc(var(--ec-tm-lineMarkerLabelPadInl) + var(--ec-tm-lineMarkerAccentWd)) 0 var(--ec-tm-lineMarkerLabelPadInl);color:var(--ec-tm-lineMarkerLabelCol)}.expressive-code .ec-line mark{--tmInlineBgCol:var(--ec-tm-markBg);--tmInlineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol:var(--ec-tm-insBg);--tmInlineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol:var(--ec-tm-delBg);--tmInlineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL:var(--ec-tm-inlMarkerBrdWd);--tmBrdR:var(--ec-tm-inlMarkerBrdWd);--tmRadL:var(--ec-tm-inlMarkerBrdRad);--tmRadR:var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL:0px;--tmRadL:0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR:0px;--tmRadR:0}.expressive-code .ec-line mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:'';position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius:calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing:0.4rem;--code-background:var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:'\a0'}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing:calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:'';position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:'';position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing:calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background:var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:'';position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:var(--ec-frm-trmIcon);-webkit-mask-repeat:no-repeat;mask-image:var(--ec-frm-trmIcon);mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:'';position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2)}@media (scripting: none){.expressive-code .copy{display:none}}.expressive-code .copy{direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:var(--ec-frm-copyIcon);-webkit-mask-repeat:no-repeat;mask-image:var(--ec-frm-copyIcon);mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size:0.35rem;--tooltip-bg:var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:'';position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code{}.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover),.expressive-code .frame .copy .feedback.show ~ button:not(:hover){opacity:0.75}}.expressive-code :nth-child(1 of .ec-line) .code{padding-inline-end:calc(2rem + var(--ec-codePadInl))}.expressive-code .ec-section{position:relative}.expressive-code .ec-section summary{position:relative;font-family:var(--ec-cs-closedFontFml);font-size:var(--ec-cs-closedFontSize);line-height:var(--ec-cs-closedLineHt);user-select:none;-webkit-user-select:none;cursor:pointer;color:var(--ec-cs-closedTextCol);background-color:var(--ec-cs-closedBgCol);--border-color:var(--ec-cs-closedBrdCol);--border-width:var(--ec-cs-closedBrdWd);box-shadow:inset 0 calc(-1 * var(--border-width)) var(--border-color), inset 0 var(--border-width) var(--border-color);margin:var(--ec-cs-closedMarg);padding:0}.expressive-code .ec-section summary::marker{display:inline-block;content:"";width:16px;height:16px}.expressive-code .ec-section summary::-webkit-details-marker{display:none}.expressive-code .ec-section summary :is(.expand, .collapse){position:relative;display:inline-block;width:16px;height:16px;vertical-align:text-bottom;opacity:0.75}.expressive-code .ec-section summary :is(.expand, .collapse)::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-cs-closedTextCol);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;line-height:0}.expressive-code .ec-section summary .expand::after{-webkit-mask-image:var(--ec-cs-expandIcon);mask-image:var(--ec-cs-expandIcon);-webkit-print-color-adjust:exact;print-color-adjust:exact}.expressive-code .ec-section summary .collapse{display:none}.expressive-code .ec-section summary .collapse::after{-webkit-mask-image:var(--ec-cs-collapseIcon);mask-image:var(--ec-cs-collapseIcon)}.expressive-code .ec-section summary .text{margin-left:1em}.expressive-code .ec-section summary .ec-line .code{padding-block:var(--ec-cs-closedPadBlk);text-indent:0}.expressive-code .ec-section[open],.expressive-code .ec-section details[open] + .content-lines{--border-color:var(--ec-cs-openBrdCol);--border-width:var(--ec-cs-openBrdWd);box-shadow:inset 0 calc(-1 * var(--border-width)) var(--border-color), inset 0 var(--border-width) var(--border-color);padding-inline:var(--ec-cs-openPad);margin-inline:var(--ec-cs-openMarg)}.expressive-code .ec-section.github[open] summary{display:none}.expressive-code .ec-section.github[open]{background-color:var(--ec-cs-openBgCol)}.expressive-code .ec-section:is(.collapsible-start, .collapsible-end){display:flex;flex-direction:column}.expressive-code .ec-section:is(.collapsible-start, .collapsible-end) .content-lines{display:none}.expressive-code .ec-section:is(.collapsible-start, .collapsible-end) details[open] .collapse{display:inline-block}.expressive-code .ec-section:is(.collapsible-start, .collapsible-end) details[open] :is(.expand, .text){display:none}.expressive-code .ec-section:is(.collapsible-start, .collapsible-end) details[open] + .content-lines{display:block;background-color:var(--ec-cs-openBgColCollapsible)}@media print{.expressive-code .ec-section:is(.collapsible-start, .collapsible-end) details[open]{display:none}}.expressive-code .ec-section.collapsible-end{flex-direction:column-reverse}.expressive-code .gutter .ln{display:inline-flex;justify-content:flex-end;align-items:flex-start;box-sizing:content-box;min-width:var(--lnWidth, 2ch);padding-inline:2ch;color:var(--ec-lineNumbers-fg)}.highlight .expressive-code .gutter .ln{color:var(--ec-lineNumbers-hlFg)}}@layer starlight.components{:root,:root:not([data-theme='dark']) .expressive-code[data-theme='dark']{--ec-brdRad:0.4rem;--ec-brdWd:1px;--ec-brdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml:var(--__sl-font-mono);--ec-codeFontSize:var(--sl-text-code);--ec-codeFontWg:400;--ec-codeLineHt:var(--sl-line-height);--ec-codePadBlk:0.75rem;--ec-codePadInl:1rem;--ec-codeBg:#23262f;--ec-codeFg:#d6deeb;--ec-codeSelBg:#1d3b53;--ec-gtrFg:#63798b;--ec-gtrBrdCol:#63798b33;--ec-gtrBrdWd:1.5px;--ec-gtrHlFg:#c5e4fd97;--ec-uiFontFml:var(--__sl-font);--ec-uiFontSize:0.9rem;--ec-uiFontWg:400;--ec-uiLineHt:1.65;--ec-uiPadBlk:0.25rem;--ec-uiPadInl:1rem;--ec-uiSelBg:#234d708c;--ec-uiSelFg:#ffffff;--ec-focusBrd:#122d42;--ec-sbThumbCol:#ffffff17;--ec-sbThumbHoverCol:#ffffff47;--ec-tm-lineMarkerAccentMarg:0rem;--ec-tm-lineMarkerAccentWd:0.15rem;--ec-tm-lineMarkerLabelPadInl:0.2rem;--ec-tm-lineMarkerLabelCol:white;--ec-tm-lineDiffIndMargLeft:0.25rem;--ec-tm-inlMarkerBrdWd:1.5px;--ec-tm-inlMarkerBrdRad:0.2rem;--ec-tm-inlMarkerPad:0.15rem;--ec-tm-insDiffIndContent:'+';--ec-tm-delDiffIndContent:'-';--ec-tm-markBg:#ffffff17;--ec-tm-markBrdCol:#ffffff40;--ec-tm-insBg:#1e571599;--ec-tm-insBrdCol:#487f3bd0;--ec-tm-insDiffIndCol:#79b169d0;--ec-tm-delBg:#862d2799;--ec-tm-delBrdCol:#b4554bd0;--ec-tm-delDiffIndCol:#ed8779d0;--ec-frm-shdCol:transparent;--ec-frm-frameBoxShdCssVal:none;--ec-frm-edActTabBg:var(--sl-color-gray-6);--ec-frm-edActTabFg:var(--sl-color-text);--ec-frm-edActTabBrdCol:transparent;--ec-frm-edActTabIndHt:1px;--ec-frm-edActTabIndTopCol:var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol:transparent;--ec-frm-edTabsMargInlStart:0;--ec-frm-edTabsMargBlkStart:0;--ec-frm-edTabBrdRad:0.4rem;--ec-frm-edTabBarBg:var(--sl-color-black);--ec-frm-edTabBarBrdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg:var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa:0.75;--ec-frm-trmTtbBg:var(--sl-color-black);--ec-frm-trmTtbFg:var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg:var(--sl-color-gray-6);--ec-frm-inlBtnFg:var(--sl-color-text);--ec-frm-inlBtnBg:var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa:0;--ec-frm-inlBtnBgHoverOrFocusOpa:0.2;--ec-frm-inlBtnBgActOpa:0.3;--ec-frm-inlBtnBrd:var(--sl-color-text);--ec-frm-inlBtnBrdOpa:0.4;--ec-frm-tooltipSuccessBg:#158744;--ec-frm-tooltipSuccessFg:white;--ec-frm-copyIcon:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.75'%3E%3Cpath%20d%3D'M3%2019a2%202%200%200%201-1-2V2a2%202%200%200%201%201-1h13a2%202%200%200%201%202%201'%2F%3E%3Crect%20x%3D'6'%20y%3D'5'%20width%3D'16'%20height%3D'18'%20rx%3D'1.5'%20ry%3D'1.5'%2F%3E%3C%2Fsvg%3E");--ec-frm-trmIcon:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2060%2016'%20preserveAspectRatio%3D'xMidYMid%20meet'%3E%3Ccircle%20cx%3D'8'%20cy%3D'8'%20r%3D'8'%2F%3E%3Ccircle%20cx%3D'30'%20cy%3D'8'%20r%3D'8'%2F%3E%3Ccircle%20cx%3D'52'%20cy%3D'8'%20r%3D'8'%2F%3E%3C%2Fsvg%3E");--ec-cs-closedBrdWd:0px;--ec-cs-closedPadBlk:4px;--ec-cs-closedMarg:0;--ec-cs-closedFontFml:inherit;--ec-cs-closedFontSize:inherit;--ec-cs-closedLineHt:inherit;--ec-cs-closedTextCol:#d6deeb;--ec-cs-closedBgCol:rgb(84 174 255 / 20%);--ec-cs-closedBrdCol:rgb(84 174 255 / 50%);--ec-cs-openBrdWd:1px;--ec-cs-openPad:0;--ec-cs-openMarg:0;--ec-cs-openBgCol:transparent;--ec-cs-openBgColCollapsible:rgb(84 174 255 / 10%);--ec-cs-openBrdCol:transparent;--ec-cs-expandIcon:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2016%2016'%3E%3Cpath%20d%3D'm8.177.677%202.896%202.896a.25.25%200%200%201-.177.427H8.75v1.25a.75.75%200%200%201-1.5%200V4H5.104a.25.25%200%200%201-.177-.427L7.823.677a.25.25%200%200%201%20.354%200ZM7.25%2010.75a.75.75%200%200%201%201.5%200V12h2.146a.25.25%200%200%201%20.177.427l-2.896%202.896a.25.25%200%200%201-.354%200l-2.896-2.896A.25.25%200%200%201%205.104%2012H7.25v-1.25Zm-5-2a.75.75%200%200%200%200-1.5h-.5a.75.75%200%200%200%200%201.5h.5ZM6%208a.75.75%200%200%201-.75.75h-.5a.75.75%200%200%201%200-1.5h.5A.75.75%200%200%201%206%208Zm2.25.75a.75.75%200%200%200%200-1.5h-.5a.75.75%200%200%200%200%201.5h.5ZM12%208a.75.75%200%200%201-.75.75h-.5a.75.75%200%200%201%200-1.5h.5A.75.75%200%200%201%2012%208Zm2.25.75a.75.75%200%200%200%200-1.5h-.5a.75.75%200%200%200%200%201.5h.5Z'%2F%3E%3C%2Fsvg%3E");--ec-cs-collapseIcon:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2016%2016'%3E%3Cpath%20d%3D'M10.896%202H8.75V.75a.75.75%200%200%200-1.5%200V2H5.104a.25.25%200%200%200-.177.427l2.896%202.896a.25.25%200%200%200%20.354%200l2.896-2.896A.25.25%200%200%200%2010.896%202ZM8.75%2015.25a.75.75%200%200%201-1.5%200V14H5.104a.25.25%200%200%201-.177-.427l2.896-2.896a.25.25%200%200%201%20.354%200l2.896%202.896a.25.25%200%200%201-.177.427H8.75v1.25Zm-6.5-6.5a.75.75%200%200%200%200-1.5h-.5a.75.75%200%200%200%200%201.5h.5ZM6%208a.75.75%200%200%201-.75.75h-.5a.75.75%200%200%201%200-1.5h.5A.75.75%200%200%201%206%208Zm2.25.75a.75.75%200%200%200%200-1.5h-.5a.75.75%200%200%200%200%201.5h.5ZM12%208a.75.75%200%200%201-.75.75h-.5a.75.75%200%200%201%200-1.5h.5A.75.75%200%200%201%2012%208Zm2.25.75a.75.75%200%200%200%200-1.5h-.5a.75.75%200%200%200%200%201.5h.5Z'%2F%3E%3C%2Fsvg%3E");--ec-lineNumbers-fg:inherit;--ec-lineNumbers-hlFg:inherit}.expressive-code .ec-line :where(span[style^='--']:not([class])),:root:not([data-theme='dark']) .expressive-code[data-theme='dark'] .ec-line :where(span[style^='--']:not([class])){color:var(--0, inherit);background-color:var(--0bg, transparent);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)}@media (prefers-color-scheme: light){:root:not([data-theme='dark']){--ec-codeBg:#f6f7f9;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#788b94;--ec-gtrBrdCol:#788b9433;--ec-gtrHlFg:#403f53c4;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662;--ec-cs-closedTextCol:#403f53}:root:not([data-theme='dark']) .expressive-code .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);background-color:var(--1bg, transparent);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}}:root[data-theme='light'] .expressive-code:not([data-theme='dark']),.expressive-code[data-theme='light']{--ec-codeBg:#f6f7f9;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#788b94;--ec-gtrBrdCol:#788b9433;--ec-gtrHlFg:#403f53c4;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662;--ec-cs-closedTextCol:#403f53}:root[data-theme='light'] .expressive-code:not([data-theme='dark']) .ec-line :where(span[style^='--']:not([class])),.expressive-code[data-theme='light'] .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);background-color:var(--1bg, transparent);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}} \ No newline at end of file diff --git a/_astro/erDiagram-TEJ5UH35.Bl77lVs6.js b/_astro/erDiagram-TEJ5UH35.Bl77lVs6.js new file mode 100644 index 0000000..b533944 --- /dev/null +++ b/_astro/erDiagram-TEJ5UH35.Bl77lVs6.js @@ -0,0 +1,85 @@ +import{g as Mt}from"./chunk-55IACEB6.DaHeeVsF.js";import{s as Bt}from"./chunk-2J33WTMH.HmvIJeR8.js";import{_ as l,b as Ft,a as Yt,s as Pt,g as zt,p as Gt,q as Kt,c as it,l as V,z as Ut,x as Zt,B as jt,C as Wt,o as Qt,r as Xt,d as Ht,u as qt}from"./mermaid.core.Ci_VGkOG.js";import{c as Jt}from"./channel.DScn-k6R.js";import"./preload-helper.DK3iz7C1.js";var _t=(function(){var e=l(function(C,n,c,o){for(c=c||{},o=C.length;o--;c[C[o]]=n);return c},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],h=[1,10],a=[1,11],u=[1,12],d=[1,13],y=[1,23],f=[1,24],m=[1,25],j=[1,26],W=[1,27],T=[1,19],Q=[1,28],M=[1,29],D=[1,20],I=[1,18],S=[1,21],R=[1,22],nt=[1,36],at=[1,37],ct=[1,38],ot=[1,39],lt=[1,40],B=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],O=[1,45],N=[1,46],F=[1,55],Y=[40,48,50,51,52,70,71],P=[1,66],z=[1,64],A=[1,61],G=[1,65],K=[1,67],X=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],gt=[65,66,67,68,69],bt=[1,84],kt=[1,83],mt=[1,81],Et=[1,82],Tt=[6,10,42,47],L=[6,10,13,41,42,47,48,49],H=[1,92],q=[1,91],J=[1,90],U=[19,58],St=[1,101],Ot=[1,100],ht=[19,58,60,62],ut={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:l(function(n,c,o,r,p,t,Z){var s=t.length-1;switch(p){case 1:break;case 2:this.$=[];break;case 3:t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 5:this.$=t[s];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(t[s-4]),r.addEntity(t[s-2]),r.addRelationship(t[s-4],t[s],t[s-2],t[s-3]);break;case 9:r.addEntity(t[s-8]),r.addEntity(t[s-4]),r.addRelationship(t[s-8],t[s],t[s-4],t[s-5]),r.setClass([t[s-8]],t[s-6]),r.setClass([t[s-4]],t[s-2]);break;case 10:r.addEntity(t[s-6]),r.addEntity(t[s-2]),r.addRelationship(t[s-6],t[s],t[s-2],t[s-3]),r.setClass([t[s-6]],t[s-4]);break;case 11:r.addEntity(t[s-6]),r.addEntity(t[s-4]),r.addRelationship(t[s-6],t[s],t[s-4],t[s-5]),r.setClass([t[s-4]],t[s-2]);break;case 12:r.addEntity(t[s-3]),r.addAttributes(t[s-3],t[s-1]);break;case 13:r.addEntity(t[s-5]),r.addAttributes(t[s-5],t[s-1]),r.setClass([t[s-5]],t[s-3]);break;case 14:r.addEntity(t[s-2]);break;case 15:r.addEntity(t[s-4]),r.setClass([t[s-4]],t[s-2]);break;case 16:r.addEntity(t[s]);break;case 17:r.addEntity(t[s-2]),r.setClass([t[s-2]],t[s]);break;case 18:r.addEntity(t[s-6],t[s-4]),r.addAttributes(t[s-6],t[s-1]);break;case 19:r.addEntity(t[s-8],t[s-6]),r.addAttributes(t[s-8],t[s-1]),r.setClass([t[s-8]],t[s-3]);break;case 20:r.addEntity(t[s-5],t[s-3]);break;case 21:r.addEntity(t[s-7],t[s-5]),r.setClass([t[s-7]],t[s-2]);break;case 22:r.addEntity(t[s-3],t[s-1]);break;case 23:r.addEntity(t[s-5],t[s-3]),r.setClass([t[s-5]],t[s]);break;case 24:case 25:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=t[s-3],r.addClass(t[s-2],t[s-1]);break;case 37:case 38:case 59:case 67:this.$=[t[s]];break;case 39:case 40:this.$=t[s-2].concat([t[s]]);break;case 41:this.$=t[s-2],r.setClass(t[s-1],t[s]);break;case 42:this.$=t[s-3],r.addCssStyles(t[s-2],t[s-1]);break;case 43:this.$=[t[s]];break;case 44:t[s-2].push(t[s]),this.$=t[s-2];break;case 46:this.$=t[s-1]+t[s];break;case 54:case 79:case 80:this.$=t[s].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=t[s];break;case 60:t[s].push(t[s-1]),this.$=t[s];break;case 61:this.$={type:t[s-1],name:t[s]};break;case 62:this.$={type:t[s-2],name:t[s-1],keys:t[s]};break;case 63:this.$={type:t[s-2],name:t[s-1],comment:t[s]};break;case 64:this.$={type:t[s-3],name:t[s-2],keys:t[s-1],comment:t[s]};break;case 65:case 66:case 69:this.$=t[s];break;case 68:t[s-2].push(t[s]),this.$=t[s-2];break;case 70:this.$=t[s].replace(/"/g,"");break;case 71:this.$={cardA:t[s],relType:t[s-1],cardB:t[s-2]};break;case 72:this.$=r.Cardinality.ZERO_OR_ONE;break;case 73:this.$=r.Cardinality.ZERO_OR_MORE;break;case 74:this.$=r.Cardinality.ONE_OR_MORE;break;case 75:this.$=r.Cardinality.ONLY_ONE;break;case 76:this.$=r.Cardinality.MD_PARENT;break;case 77:this.$=r.Identification.NON_IDENTIFYING;break;case 78:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:h,24:a,26:u,28:d,29:14,30:15,31:16,32:17,33:y,34:f,35:m,36:j,37:W,40:T,43:Q,44:M,48:D,50:I,51:S,52:R},e(i,[2,7],{1:[2,1]}),e(i,[2,3]),{9:30,11:9,22:h,24:a,26:u,28:d,29:14,30:15,31:16,32:17,33:y,34:f,35:m,36:j,37:W,40:T,43:Q,44:M,48:D,50:I,51:S,52:R},e(i,[2,5]),e(i,[2,6]),e(i,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:nt,66:at,67:ct,68:ot,69:lt}),{23:[1,41]},{25:[1,42]},{27:[1,43]},e(i,[2,27]),e(i,[2,28]),e(i,[2,29]),e(i,[2,30]),e(i,[2,31]),e(B,[2,54]),e(B,[2,55]),e(B,[2,56]),e(B,[2,57]),e(B,[2,58]),e(i,[2,32]),e(i,[2,33]),e(i,[2,34]),e(i,[2,35]),{16:44,40:O,41:N},{16:47,40:O,41:N},{16:48,40:O,41:N},e(i,[2,4]),{11:49,40:T,48:D,50:I,51:S,52:R},{16:50,40:O,41:N},{18:51,19:[1,52],53:53,54:54,58:F},{11:56,40:T,48:D,50:I,51:S,52:R},{64:57,70:[1,58],71:[1,59]},e(Y,[2,72]),e(Y,[2,73]),e(Y,[2,74]),e(Y,[2,75]),e(Y,[2,76]),e(i,[2,24]),e(i,[2,25]),e(i,[2,26]),{13:P,38:60,41:z,42:A,45:62,46:63,48:G,49:K},e(X,[2,37]),e(X,[2,38]),{16:68,40:O,41:N,42:A},{13:P,38:69,41:z,42:A,45:62,46:63,48:G,49:K},{13:[1,70],15:[1,71]},e(i,[2,17],{63:35,12:72,17:[1,73],42:A,65:nt,66:at,67:ct,68:ot,69:lt}),{19:[1,74]},e(i,[2,14]),{18:75,19:[2,59],53:53,54:54,58:F},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:nt,66:at,67:ct,68:ot,69:lt},e(gt,[2,77]),e(gt,[2,78]),{6:bt,10:kt,39:80,42:mt,47:Et},{40:[1,85],41:[1,86]},e(Tt,[2,43],{46:87,13:P,41:z,48:G,49:K}),e(L,[2,45]),e(L,[2,50]),e(L,[2,51]),e(L,[2,52]),e(L,[2,53]),e(i,[2,41],{42:A}),{6:bt,10:kt,39:88,42:mt,47:Et},{14:89,40:H,50:q,72:J},{16:93,40:O,41:N},{11:94,40:T,48:D,50:I,51:S,52:R},{18:95,19:[1,96],53:53,54:54,58:F},e(i,[2,12]),{19:[2,60]},e(U,[2,61],{56:97,57:98,59:99,61:St,62:Ot}),e([19,58,61,62],[2,66]),e(i,[2,22],{15:[1,103],17:[1,102]}),e([40,48,50,51,52],[2,71]),e(i,[2,36]),{13:P,41:z,45:104,46:63,48:G,49:K},e(i,[2,47]),e(i,[2,48]),e(i,[2,49]),e(X,[2,39]),e(X,[2,40]),e(L,[2,46]),e(i,[2,42]),e(i,[2,8]),e(i,[2,79]),e(i,[2,80]),e(i,[2,81]),{13:[1,105],42:A},{13:[1,107],15:[1,106]},{19:[1,108]},e(i,[2,15]),e(U,[2,62],{57:109,60:[1,110],62:Ot}),e(U,[2,63]),e(ht,[2,67]),e(U,[2,70]),e(ht,[2,69]),{18:111,19:[1,112],53:53,54:54,58:F},{16:113,40:O,41:N},e(Tt,[2,44],{46:87,13:P,41:z,48:G,49:K}),{14:114,40:H,50:q,72:J},{16:115,40:O,41:N},{14:116,40:H,50:q,72:J},e(i,[2,13]),e(U,[2,64]),{59:117,61:St},{19:[1,118]},e(i,[2,20]),e(i,[2,23],{17:[1,119],42:A}),e(i,[2,11]),{13:[1,120],42:A},e(i,[2,10]),e(ht,[2,68]),e(i,[2,18]),{18:121,19:[1,122],53:53,54:54,58:F},{14:123,40:H,50:q,72:J},{19:[1,124]},e(i,[2,21]),e(i,[2,9]),e(i,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:l(function(n,c){if(c.recoverable)this.trace(n);else{var o=new Error(n);throw o.hash=c,o}},"parseError"),parse:l(function(n){var c=this,o=[0],r=[],p=[null],t=[],Z=this.table,s="",tt=0,Nt=0,Dt=2,At=1,Lt=t.slice.call(arguments,1),_=Object.create(this.lexer),x={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(x.yy[dt]=this.yy[dt]);_.setInput(n,x.yy),x.yy.lexer=_,x.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var pt=_.yylloc;t.push(pt);var wt=_.options&&_.options.ranges;typeof x.yy.parseError=="function"?this.parseError=x.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Vt(b){o.length=o.length-2*b,p.length=p.length-b,t.length=t.length-b}l(Vt,"popStack");function Ct(){var b;return b=r.pop()||_.lex()||At,typeof b!="number"&&(b instanceof Array&&(r=b,b=r.pop()),b=c.symbols_[b]||b),b}l(Ct,"lex");for(var g,v,k,ft,w={},et,E,It,st;;){if(v=o[o.length-1],this.defaultActions[v]?k=this.defaultActions[v]:((g===null||typeof g>"u")&&(g=Ct()),k=Z[v]&&Z[v][g]),typeof k>"u"||!k.length||!k[0]){var yt="";st=[];for(et in Z[v])this.terminals_[et]&&et>Dt&&st.push("'"+this.terminals_[et]+"'");_.showPosition?yt="Parse error on line "+(tt+1)+`: +`+_.showPosition()+` +Expecting `+st.join(", ")+", got '"+(this.terminals_[g]||g)+"'":yt="Parse error on line "+(tt+1)+": Unexpected "+(g==At?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(yt,{text:_.match,token:this.terminals_[g]||g,line:_.yylineno,loc:pt,expected:st})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+g);switch(k[0]){case 1:o.push(g),p.push(_.yytext),t.push(_.yylloc),o.push(k[1]),g=null,Nt=_.yyleng,s=_.yytext,tt=_.yylineno,pt=_.yylloc;break;case 2:if(E=this.productions_[k[1]][1],w.$=p[p.length-E],w._$={first_line:t[t.length-(E||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(E||1)].first_column,last_column:t[t.length-1].last_column},wt&&(w._$.range=[t[t.length-(E||1)].range[0],t[t.length-1].range[1]]),ft=this.performAction.apply(w,[s,Nt,tt,x.yy,k[1],p,t].concat(Lt)),typeof ft<"u")return ft;E&&(o=o.slice(0,-1*E*2),p=p.slice(0,-1*E),t=t.slice(0,-1*E)),o.push(this.productions_[k[1]][0]),p.push(w.$),t.push(w._$),It=Z[o[o.length-2]][o[o.length-1]],o.push(It);break;case 3:return!0}}return!0},"parse")},vt=(function(){var C={EOF:1,parseError:l(function(c,o){if(this.yy.parser)this.yy.parser.parseError(c,o);else throw new Error(c)},"parseError"),setInput:l(function(n,c){return this.yy=c||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:l(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var c=n.match(/(?:\r\n?|\n).*/g);return c?(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:l(function(n){var c=n.length,o=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;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),o.length-1&&(this.yylineno-=o.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:o?(o.length===r.length?this.yylloc.first_column:0)+r[r.length-o.length].length-o[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(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:l(function(n){this.unput(this.match.slice(n))},"less"),pastInput:l(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:l(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:l(function(){var n=this.pastInput(),c=new Array(n.length+1).join("-");return n+this.upcomingInput()+` +`+c+"^"},"showPosition"),test_match:l(function(n,c){var o,r,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))),r=n[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+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],o=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),o)return o;if(this._backtrack){for(var t in p)this[t]=p[t];return!1}return!1},"test_match"),next:l(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,c,o,r;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),t=0;tc[0].length)){if(c=o,r=t,this.options.backtrack_lexer){if(n=this.test_match(o,p[t]),n!==!1)return n;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(n=this.test_match(c,p[r]),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:l(function(){var c=this.next();return c||this.lex()},"lex"),begin:l(function(c){this.conditionStack.push(c)},"begin"),popState:l(function(){var c=this.conditionStack.length-1;return c>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:l(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:l(function(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},"topState"),pushState:l(function(c){this.begin(c)},"pushState"),stateStackSize:l(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:l(function(c,o,r,p){switch(r){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return o.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return o.yytext[0];case 78: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,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],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,69,70,71,72,73,76,77,78],inclusive:!0}}};return C})();ut.lexer=vt;function $(){this.yy={}}return l($,"Parser"),$.prototype=ut,ut.Parser=$,new $})();_t.parser=_t;var $t=_t,te=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=Ft,this.getAccTitle=Yt,this.setAccDescription=Pt,this.getAccDescription=zt,this.setDiagramTitle=Gt,this.getDiagramTitle=Kt,this.getConfig=l(()=>it().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{l(this,"ErDB")}addEntity(e,i=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&i&&(this.entities.get(e).alias=i,V.info(`Add alias '${i}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:i,shape:"erBox",look:it().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),V.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,i){const h=this.addEntity(e);let a;for(a=i.length-1;a>=0;a--)i[a].keys||(i[a].keys=[]),i[a].comment||(i[a].comment=""),h.attributes.push(i[a]),V.debug("Added attribute ",i[a].name)}addRelationship(e,i,h,a){const u=this.entities.get(e),d=this.entities.get(h);if(!u||!d)return;const y={entityA:u.id,roleA:i,entityB:d.id,relSpec:a};this.relationships.push(y),V.debug("Added new relationship :",y)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let i=[];for(const h of e){const a=this.classes.get(h);a?.styles&&(i=[...i,...a.styles??[]].map(u=>u.trim())),a?.textStyles&&(i=[...i,...a.textStyles??[]].map(u=>u.trim()))}return i}addCssStyles(e,i){for(const h of e){const a=this.entities.get(h);if(!i||!a)return;for(const u of i)a.cssStyles.push(u)}}addClass(e,i){e.forEach(h=>{let a=this.classes.get(h);a===void 0&&(a={id:h,styles:[],textStyles:[]},this.classes.set(h,a)),i&&i.forEach(function(u){if(/color/.exec(u)){const d=u.replace("fill","bgFill");a.textStyles.push(d)}a.styles.push(u)})})}setClass(e,i){for(const h of e){const a=this.entities.get(h);if(a)for(const u of i)a.cssClasses+=" "+u}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Ut()}getData(){const e=[],i=[],h=it();let a=0;for(const d of this.entities.keys()){const y=this.entities.get(d);y&&(y.cssCompiledStyles=this.getCompiledStyles(y.cssClasses.split(" ")),y.colorIndex=a++,e.push(y))}let u=0;for(const d of this.relationships){const y={id:Zt(d.entityA,d.entityB,{prefix:"id",counter:u++}),type:"normal",curve:"basis",start:d.entityA,end:d.entityB,label:d.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:d.relSpec.cardB.toLowerCase(),arrowTypeEnd:d.relSpec.cardA.toLowerCase(),pattern:d.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:h.look,labelType:"markdown"};i.push(y)}return{nodes:e,edges:i,other:{},config:h,direction:"TB"}}},xt={};Wt(xt,{draw:()=>ee});var ee=l(async function(e,i,h,a){V.info("REF0:"),V.info("Drawing er diagram (unified)",i);const{securityLevel:u,er:d,layout:y}=it(),f=a.db.getData(),m=Mt(i,u);f.type=a.type,f.layoutAlgorithm=Qt(y),f.config.flowchart.nodeSpacing=d?.nodeSpacing||140,f.config.flowchart.rankSpacing=d?.rankSpacing||80,f.direction=a.db.getDirection();const{config:j}=f,{look:W}=j;W==="neo"?f.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:f.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],f.diagramId=i,await Xt(f,m),f.layoutAlgorithm==="elk"&&m.select(".edges").lower();const T=m.selectAll('[id*="-background"]');Array.from(T).length>0&&T.each(function(){const M=Ht(this),I=M.attr("id").replace("-background",""),S=m.select(`#${CSS.escape(I)}`);if(!S.empty()){const R=S.attr("transform");M.attr("transform",R)}});const Q=8;qt.insertTitle(m,"erDiagramTitleText",d?.titleTopMargin??25,a.db.getDiagramTitle()),Bt(m,Q,"erDiagram",d?.useMaxWidth??!0)},"draw"),Rt=l((e,i)=>{const h=Jt,a=h(e,"r"),u=h(e,"g"),d=h(e,"b");return jt(a,u,d,i)},"fade"),rt=new Set(["redux-color","redux-dark-color"]),se=l(e=>{const{theme:i,look:h,bkgColorArray:a,borderColorArray:u}=e;if(!rt.has(i))return"";const d=a?.length>0;let y="";for(let f=0;f{const{look:i,theme:h,erEdgeLabelBackground:a,strokeWidth:u}=e;return` + ${se(e)} + .entityBox { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${e.tertiaryColor}; + opacity: 0.7; + background-color: ${e.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .labelBkg { + background-color: ${rt.has(h)&&a?a:Rt(e.tertiaryColor,.5)}; + } + + .edgeLabel { + background-color: ${rt.has(h)&&a?a:e.edgeLabelBackground}; + } + .edgeLabel .label rect { + fill: ${rt.has(h)&&a?a:e.edgeLabelBackground}; + } + .edgeLabel .label text { + fill: ${e.textColor}; + } + + .edgeLabel .label { + fill: ${e.nodeBorder}; + font-size: 14px; + } + + .label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + + .edge-pattern-dashed { + stroke-dasharray: 8,8; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon + { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: ${i==="neo"?u:"1px"}; + } + + .relationshipLine { + stroke: ${e.lineColor}; + stroke-width: ${i==="neo"?u:"1px"}; + fill: none; + } + + .marker { + fill: none !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; + } + [data-look=neo].labelBkg { + background-color: ${Rt(e.tertiaryColor,.5)}; + } +`},"getStyles"),re=ie,he={parser:$t,get db(){return new te},renderer:xt,styles:re};export{he as diagram}; diff --git a/_astro/flowDiagram-I6XJVG4X.ZcEysN7M.js b/_astro/flowDiagram-I6XJVG4X.ZcEysN7M.js new file mode 100644 index 0000000..c4256fa --- /dev/null +++ b/_astro/flowDiagram-I6XJVG4X.ZcEysN7M.js @@ -0,0 +1,162 @@ +import{g as qe}from"./chunk-FMBD7UC4.B9yPs07s.js";import{_ as b,n as Oe,l as Q,c as g1,o as He,r as Xe,u as ie,b as Qe,s as Je,p as Ze,a as $e,g as et,q as tt,k as st,t as it,J as rt,v as at,x as te,d as se,y as nt,z as ut,A as ot,B as lt}from"./mermaid.core.Ci_VGkOG.js";import{c as ct}from"./chunk-ND2GUHAM.CiUMUSja.js";import{g as ht}from"./chunk-55IACEB6.DaHeeVsF.js";import{s as dt}from"./chunk-2J33WTMH.HmvIJeR8.js";import{c as pt}from"./channel.DScn-k6R.js";import"./preload-helper.DK3iz7C1.js";var ft="flowchart-",gt=class{constructor(){this.vertexCounter=0,this.config=g1(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=Qe,this.setAccDescription=Je,this.setDiagramTitle=Ze,this.getAccTitle=$e,this.getAccDescription=et,this.getDiagramTitle=tt,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{b(this,"FlowDB")}sanitizeText(e){return st.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const i of this.vertices.values())if(i.id===e)return this.diagramId?`${this.diagramId}-${i.domId}`:i.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,i,r,a,o,d,l={},f){if(!e||e.trim().length===0)return;let n;if(f!==void 0){let E;f.includes(` +`)?E=f+` +`:E=`{ +`+f+` +}`,n=it(E,{schema:rt})}const A=this.edges.find(E=>E.id===e);if(A){const E=n;E?.animate!==void 0&&(A.animate=E.animate),E?.animation!==void 0&&(A.animation=E.animation),E?.curve!==void 0&&(A.interpolate=E.curve);return}let S,g=this.vertices.get(e);if(g===void 0&&(i===void 0&&r===void 0&&a!==void 0&&a!==null&&Q.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),g={id:e,labelType:"text",domId:ft+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,g)),this.vertexCounter++,i!==void 0?(this.config=g1(),S=this.sanitizeText(i.text.trim()),g.labelType=i.type,S.startsWith('"')&&S.endsWith('"')&&(S=S.substring(1,S.length-1)),g.text=S):g.text===void 0&&(g.text=e),r!==void 0&&(g.type=r),a?.forEach(E=>{g.styles.push(E)}),o?.forEach(E=>{g.classes.push(E)}),d!==void 0&&(g.dir=d),g.props===void 0?g.props=l:l!==void 0&&Object.assign(g.props,l),n!==void 0){if(n.shape){if(n.shape!==n.shape.toLowerCase()||n.shape.includes("_"))throw new Error(`No such shape: ${n.shape}. Shape names should be lowercase.`);if(!at(n.shape))throw new Error(`No such shape: ${n.shape}.`);g.type=n?.shape}n?.label&&(g.text=n?.label,g.labelType=this.sanitizeNodeLabelType(n?.labelType)),n?.icon&&(g.icon=n?.icon,!n.label?.trim()&&g.text===e&&(g.text="")),n?.form&&(g.form=n?.form),n?.pos&&(g.pos=n?.pos),n?.img&&(g.img=n?.img,!n.label?.trim()&&g.text===e&&(g.text="")),n?.constraint&&(g.constraint=n.constraint),n.w&&(g.assetWidth=Number(n.w)),n.h&&(g.assetHeight=Number(n.h))}}addSingleLink(e,i,r,a){const l={start:e,end:i,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};Q.info("abc78 Got edge...",l);const f=r.text;if(f!==void 0&&(l.text=this.sanitizeText(f.text.trim()),l.text.startsWith('"')&&l.text.endsWith('"')&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=this.sanitizeNodeLabelType(f.type)),r!==void 0&&(l.type=r.type,l.stroke=r.stroke,l.length=r.length>10?10:r.length),a&&!this.edges.some(n=>n.id===a))l.id=a,l.isUserDefinedId=!0;else{const n=this.edges.filter(A=>A.start===l.start&&A.end===l.end);n.length===0?l.id=te(l.start,l.end,{counter:0,prefix:"L"}):l.id=te(l.start,l.end,{counter:n.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))Q.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,i,r){const a=this.isLinkData(r)?r.id.replace("@",""):void 0;Q.info("addLink",e,i,a);for(const o of e)for(const d of i){const l=o===e[e.length-1],f=d===i[0];l&&f?this.addSingleLink(o,d,r,a):this.addSingleLink(o,d,r,void 0)}}updateLinkInterpolate(e,i){e.forEach(r=>{r==="default"?this.edges.defaultInterpolate=i:this.edges[r].interpolate=i})}updateLink(e,i){e.forEach(r=>{if(typeof r=="number"&&r>=this.edges.length)throw new Error(`The index ${r} 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.)`);r==="default"?this.edges.defaultStyle=i:(this.edges[r].style=i,(this.edges[r]?.style?.length??0)>0&&!this.edges[r]?.style?.some(a=>a?.startsWith("fill"))&&this.edges[r]?.style?.push("fill:none"))})}addClass(e,i){const r=i.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(a=>{let o=this.classes.get(a);o===void 0&&(o={id:a,styles:[],textStyles:[]},this.classes.set(a,o)),r?.forEach(d=>{if(/color/.exec(d)){const l=d.replace("fill","bgFill");o.textStyles.push(l)}o.styles.push(d)})})}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,i){for(const r of e.split(",")){const a=this.vertices.get(r);a&&a.classes.push(i);const o=this.edges.find(l=>l.id===r);o&&o.classes.push(i);const d=this.subGraphLookup.get(r);d&&d.classes.push(i)}}setTooltip(e,i){if(i!==void 0){i=this.sanitizeText(i);for(const r of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(r):r,i)}}setClickFun(e,i,r){if(g1().securityLevel!=="loose"||i===void 0)return;let a=[];if(typeof r=="string"){a=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let d=0;d{const d=this.lookUpDomId(e),l=document.querySelector(`[id="${d}"]`);l!==null&&l.addEventListener("click",()=>{ie.runFunc(i,...a)},!1)}))}setLink(e,i,r){e.split(",").forEach(a=>{const o=this.vertices.get(a);o!==void 0&&(o.link=ie.formatUrl(i,this.config),o.linkTarget=r)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,i,r){e.split(",").forEach(a=>{this.setClickFun(a,i,r)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(i=>{i(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const i=ct();se(e).select("svg").selectAll("g.node").on("mouseover",o=>{const d=se(o.currentTarget),l=d.attr("title");if(l===null)return;const f=o.currentTarget?.getBoundingClientRect();i.transition().duration(200).style("opacity",".9"),i.text(d.attr("title")).style("left",window.scrollX+f.left+(f.right-f.left)/2+"px").style("top",window.scrollY+f.bottom+"px"),i.html(nt.sanitize(l)),d.classed("hover",!0)}).on("mouseout",o=>{i.transition().duration(500).style("opacity",0),se(o.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=g1(),ut()}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,i,r){let a=e.text.trim(),o=r.text;e===r&&/\s/.exec(r.text)&&(a=void 0);const l=b(g=>{const E={boolean:{},number:{},string:{}},Z=[];let _;return{nodeList:g.filter(function(K){const h1=typeof K;return K.stmt&&K.stmt==="dir"?(_=K.value,!1):K.trim()===""?!1:h1 in E?E[h1].hasOwnProperty(K)?!1:E[h1][K]=!0:Z.includes(K)?!1:Z.push(K)}),dir:_}},"uniq")(i.flat()),f=l.nodeList;let n=l.dir;const A=g1().flowchart??{};if(n=n??(A.inheritDir?this.getDirection()??g1().direction??void 0:void 0),this.version==="gen-1")for(let g=0;g2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=i,this.subGraphs[i].id===e)return{result:!0,count:0};let a=0,o=1;for(;a=0){const l=this.indexNodes2(e,d);if(l.result)return{result:!0,count:o+l.count};o=o+l.count}a=a+1}return{result:!1,count:o}}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 i=e.trim(),r="arrow_open";switch(i[0]){case"<":r="arrow_point",i=i.slice(1);break;case"x":r="arrow_cross",i=i.slice(1);break;case"o":r="arrow_circle",i=i.slice(1);break}let a="normal";return i.includes("=")&&(a="thick"),i.includes(".")&&(a="dotted"),{type:r,stroke:a}}countChar(e,i){const r=i.length;let a=0;for(let o=0;o":a="arrow_point",i.startsWith("<")&&(a="double_"+a,r=r.slice(1));break;case"o":a="arrow_circle",i.startsWith("o")&&(a="double_"+a,r=r.slice(1));break}let o="normal",d=r.length-1;r.startsWith("=")&&(o="thick"),r.startsWith("~")&&(o="invisible");const l=this.countChar(".",r);return l&&(o="dotted",d=l),{type:a,stroke:o,length:d}}destructLink(e,i){const r=this.destructEndLink(e);let a;if(i){if(a=this.destructStartLink(i),a.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(a.type==="arrow_open")a.type=r.type;else{if(a.type!==r.type)return{type:"INVALID",stroke:"INVALID"};a.type="double_"+a.type}return a.type==="double_arrow"&&(a.type="double_arrow_point"),a.length=r.length,a}return r}exists(e,i){for(const r of e)if(r.nodes.includes(i))return!0;return!1}makeUniq(e,i){const r=[];return e.nodes.forEach((a,o)=>{this.exists(i,a)||r.push(e.nodes[o])}),{nodes:r}}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,i){return e.find(r=>r.id===i)}destructEdgeType(e){let i="none",r="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":r=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":i=e.replace("double_",""),r=i;break}return{arrowTypeStart:i,arrowTypeEnd:r}}addNodeFromVertex(e,i,r,a,o,d){const l=r.get(e.id),f=a.get(e.id)??!1,n=this.findNode(i,e.id);if(n)n.cssStyles=e.styles,n.cssCompiledStyles=this.getCompiledStyles(e.classes),n.cssClasses=e.classes.join(" ");else{const A={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:l,padding:o.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:d,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};f?i.push({...A,isGroup:!0,shape:"rect"}):i.push({...A,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let i=[];for(const r of e){const a=this.classes.get(r);a?.styles&&(i=[...i,...a.styles??[]].map(o=>o.trim())),a?.textStyles&&(i=[...i,...a.textStyles??[]].map(o=>o.trim()))}return i}getData(){const e=g1(),i=[],r=[],a=this.getSubGraphs(),o=new Map,d=new Map;for(let n=a.length-1;n>=0;n--){const A=a[n];A.nodes.length>0&&d.set(A.id,!0);for(const S of A.nodes)o.set(S,A.id)}for(let n=a.length-1;n>=0;n--){const A=a[n];i.push({id:A.id,label:A.title,labelStyle:"",labelType:A.labelType,parentId:o.get(A.id),padding:8,cssCompiledStyles:this.getCompiledStyles(A.classes),cssClasses:A.classes.join(" "),shape:"rect",dir:A.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(n=>{this.addNodeFromVertex(n,i,o,d,e,e.look||"classic")});const f=this.getEdges();return f.forEach((n,A)=>{const{arrowTypeStart:S,arrowTypeEnd:g}=this.destructEdgeType(n.type),E=[...f.defaultStyle??[]];n.style&&E.push(...n.style);const Z={id:te(n.start,n.end,{counter:A,prefix:"L"},n.id),isUserDefinedId:n.isUserDefinedId,start:n.start,end:n.end,type:n.type??"normal",label:n.text,labelType:n.labelType,labelpos:"c",thickness:n.stroke,minlen:n.length,classes:n?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:n?.stroke==="invisible"||n?.type==="arrow_open"?"none":S,arrowTypeEnd:n?.stroke==="invisible"||n?.type==="arrow_open"?"none":g,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(n.classes),labelStyle:E,style:E,pattern:n.stroke,look:e.look,animate:n.animate,animation:n.animation,curve:n.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};r.push(Z)}),{nodes:i,edges:r,other:{},config:e}}defaultConfig(){return ot.flowchart}},bt=b(function(e,i){return i.db.getClasses()},"getClasses"),At=b(async function(e,i,r,a){Q.info("REF0:"),Q.info("Drawing state diagram (v2)",i);const{securityLevel:o,flowchart:d,layout:l}=g1();a.db.setDiagramId(i),Q.debug("Before getData: ");const f=a.db.getData();Q.debug("Data: ",f);const n=ht(i,o),A=a.db.getDirection();f.type=a.type,f.layoutAlgorithm=He(l),f.layoutAlgorithm==="dagre"&&l==="elk"&&Q.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."),f.direction=A,f.nodeSpacing=d?.nodeSpacing||50,f.rankSpacing=d?.rankSpacing||50,f.markers=["point","circle","cross"],f.diagramId=i,Q.debug("REF1:",f),await Xe(f,n);const S=f.config.flowchart?.diagramPadding??8;ie.insertTitle(n,"flowchartTitleText",d?.titleTopMargin||0,a.db.getDiagramTitle()),dt(n,S,"flowchart",d?.useMaxWidth||!1)},"draw"),kt={getClasses:bt,draw:At},re=(function(){var e=b(function(f1,c,h,p){for(h=h||{},p=f1.length;p--;h[f1[p]]=c);return h},"o"),i=[1,4],r=[1,3],a=[1,5],o=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],d=[2,2],l=[1,13],f=[1,14],n=[1,15],A=[1,16],S=[1,23],g=[1,25],E=[1,26],Z=[1,27],_=[1,50],v=[1,49],K=[1,29],h1=[1,30],N1=[1,31],G1=[1,32],P1=[1,33],L=[1,45],V=[1,47],I=[1,43],w=[1,48],R=[1,44],N=[1,51],G=[1,46],P=[1,52],O=[1,53],O1=[1,34],M1=[1,35],U1=[1,36],z1=[1,37],W1=[1,38],d1=[1,58],T=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$=[1,62],e1=[1,61],t1=[1,63],m1=[8,9,11,75,77,78],ae=[1,79],C1=[1,92],D1=[1,97],E1=[1,96],T1=[1,93],S1=[1,89],y1=[1,95],x1=[1,91],F1=[1,98],_1=[1,94],B1=[1,99],v1=[1,90],b1=[8,9,10,11,40,75,77,78],U=[8,9,10,11,40,46,75,77,78],Y=[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],ne=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],L1=[44,60,89,102,105,106,109,111,114,115,116],ue=[1,122],oe=[1,123],K1=[1,125],j1=[1,124],le=[44,60,62,74,89,102,105,106,109,111,114,115,116],ce=[1,134],he=[1,148],de=[1,149],pe=[1,150],fe=[1,151],ge=[1,136],be=[1,138],Ae=[1,142],ke=[1,143],me=[1,144],Ce=[1,145],De=[1,146],Ee=[1,147],Te=[1,152],Se=[1,153],ye=[1,132],xe=[1,133],Fe=[1,140],_e=[1,135],Be=[1,139],ve=[1,137],X1=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],Le=[1,155],Ve=[1,157],F=[8,9,11],q=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],k=[1,177],z=[1,173],W=[1,174],m=[1,178],C=[1,175],D=[1,176],V1=[77,116,119],y=[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],Ie=[10,106],p1=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],s1=[1,248],i1=[1,246],r1=[1,250],a1=[1,244],n1=[1,245],u1=[1,247],o1=[1,249],l1=[1,251],I1=[1,269],we=[8,9,11,106],J=[8,9,10,11,60,84,105,106,109,110,111,112],Q1={trace:b(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:b(function(c,h,p,u,x,t,R1){var s=t.length-1;switch(x){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 183:this.$=t[s];break;case 11:u.setDirection("TB"),this.$="TB";break;case 12:u.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=u.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=u.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=u.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),u.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),u.setAccDescription(this.$);break;case 43:this.$=t[s-1]+t[s];break;case 44:this.$=t[s];break;case 45:u.addVertex(t[s-1][t[s-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,t[s]),u.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 46:u.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 47:u.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 48:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 49:u.addVertex(t[s-1][t[s-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,t[s]),this.$={stmt:t[s-1],nodes:t[s-1],shapeData:t[s]};break;case 50:this.$={stmt:t[s],nodes:t[s]};break;case 51:this.$=[t[s]];break;case 52:u.addVertex(t[s-5][t[s-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,t[s-4]),this.$=t[s-5].concat(t[s]);break;case 53:this.$=t[s-4].concat(t[s]);break;case 54:this.$=t[s];break;case 55:this.$=t[s-2],u.setClass(t[s-2],t[s]);break;case 56:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"square");break;case 57:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"doublecircle");break;case 58:this.$=t[s-5],u.addVertex(t[s-5],t[s-2],"circle");break;case 59:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"ellipse");break;case 60:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"stadium");break;case 61:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"subroutine");break;case 62:this.$=t[s-7],u.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 63:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"cylinder");break;case 64:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"round");break;case 65:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"diamond");break;case 66:this.$=t[s-5],u.addVertex(t[s-5],t[s-2],"hexagon");break;case 67:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"odd");break;case 68:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"trapezoid");break;case 69:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 70:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"lean_right");break;case 71:this.$=t[s-3],u.addVertex(t[s-3],t[s-1],"lean_left");break;case 72:this.$=t[s],u.addVertex(t[s]);break;case 73:t[s-1].text=t[s],this.$=t[s-1];break;case 74:case 75:t[s-2].text=t[s-1],this.$=t[s-2];break;case 76:this.$=t[s];break;case 77:var B=u.destructLink(t[s],t[s-2]);this.$={type:B.type,stroke:B.stroke,length:B.length,text:t[s-1]};break;case 78:var B=u.destructLink(t[s],t[s-2]);this.$={type:B.type,stroke:B.stroke,length:B.length,text:t[s-1],id:t[s-3]};break;case 79:this.$={text:t[s],type:"text"};break;case 80:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 81:this.$={text:t[s],type:"string"};break;case 82:this.$={text:t[s],type:"markdown"};break;case 83:var B=u.destructLink(t[s]);this.$={type:B.type,stroke:B.stroke,length:B.length};break;case 84:var B=u.destructLink(t[s]);this.$={type:B.type,stroke:B.stroke,length:B.length,id:t[s-1]};break;case 85:this.$=t[s-1];break;case 86:this.$={text:t[s],type:"text"};break;case 87:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 88:this.$={text:t[s],type:"string"};break;case 89:case 104:this.$={text:t[s],type:"markdown"};break;case 101:this.$={text:t[s],type:"text"};break;case 102:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 103:this.$={text:t[s],type:"text"};break;case 105:this.$=t[s-4],u.addClass(t[s-2],t[s]);break;case 106:this.$=t[s-4],u.setClass(t[s-2],t[s]);break;case 107:case 115:this.$=t[s-1],u.setClickEvent(t[s-1],t[s]);break;case 108:case 116:this.$=t[s-3],u.setClickEvent(t[s-3],t[s-2]),u.setTooltip(t[s-3],t[s]);break;case 109:this.$=t[s-2],u.setClickEvent(t[s-2],t[s-1],t[s]);break;case 110:this.$=t[s-4],u.setClickEvent(t[s-4],t[s-3],t[s-2]),u.setTooltip(t[s-4],t[s]);break;case 111:this.$=t[s-2],u.setLink(t[s-2],t[s]);break;case 112:this.$=t[s-4],u.setLink(t[s-4],t[s-2]),u.setTooltip(t[s-4],t[s]);break;case 113:this.$=t[s-4],u.setLink(t[s-4],t[s-2],t[s]);break;case 114:this.$=t[s-6],u.setLink(t[s-6],t[s-4],t[s]),u.setTooltip(t[s-6],t[s-2]);break;case 117:this.$=t[s-1],u.setLink(t[s-1],t[s]);break;case 118:this.$=t[s-3],u.setLink(t[s-3],t[s-2]),u.setTooltip(t[s-3],t[s]);break;case 119:this.$=t[s-3],u.setLink(t[s-3],t[s-2],t[s]);break;case 120:this.$=t[s-5],u.setLink(t[s-5],t[s-4],t[s]),u.setTooltip(t[s-5],t[s-2]);break;case 121:this.$=t[s-4],u.addVertex(t[s-2],void 0,void 0,t[s]);break;case 122:this.$=t[s-4],u.updateLink([t[s-2]],t[s]);break;case 123:this.$=t[s-4],u.updateLink(t[s-2],t[s]);break;case 124:this.$=t[s-8],u.updateLinkInterpolate([t[s-6]],t[s-2]),u.updateLink([t[s-6]],t[s]);break;case 125:this.$=t[s-8],u.updateLinkInterpolate(t[s-6],t[s-2]),u.updateLink(t[s-6],t[s]);break;case 126:this.$=t[s-6],u.updateLinkInterpolate([t[s-4]],t[s]);break;case 127:this.$=t[s-6],u.updateLinkInterpolate(t[s-4],t[s]);break;case 128:case 130:this.$=[t[s]];break;case 129:case 131:t[s-2].push(t[s]),this.$=t[s-2];break;case 133:this.$=t[s-1]+t[s];break;case 181:this.$=t[s];break;case 182:this.$=t[s-1]+""+t[s];break;case 184:this.$=t[s-1]+""+t[s];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:i,10:r,12:a},{1:[3]},e(o,d,{5:6}),{4:7,9:i,10:r,12:a},{4:8,9:i,10:r,12:a},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:l,9:f,10:n,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:S,33:24,34:g,36:E,38:Z,42:28,43:39,44:_,45:40,47:41,60:v,84:K,85:h1,86:N1,87:G1,88:P1,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O,121:O1,122:M1,123:U1,124:z1,125:W1},e(o,[2,9]),e(o,[2,10]),e(o,[2,11]),{8:[1,55],9:[1,56],10:d1,15:54,18:57},e(T,[2,3]),e(T,[2,4]),e(T,[2,5]),e(T,[2,6]),e(T,[2,7]),e(T,[2,8]),{8:$,9:e1,11:t1,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:$,9:e1,11:t1,21:68},{8:$,9:e1,11:t1,21:69},{8:$,9:e1,11:t1,21:70},{8:$,9:e1,11:t1,21:71},{8:$,9:e1,11:t1,21:72},{8:$,9:e1,10:[1,73],11:t1,21:74},e(T,[2,36]),{35:[1,75]},{37:[1,76]},e(T,[2,39]),e(m1,[2,50],{18:77,39:78,10:d1,40:ae}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:C1,44:D1,60:E1,80:[1,87],89:T1,95:[1,84],97:[1,85],101:86,105:S1,106:y1,109:x1,111:F1,114:_1,115:B1,116:v1,120:88},e(T,[2,185]),e(T,[2,186]),e(T,[2,187]),e(T,[2,188]),e(T,[2,189]),e(b1,[2,51]),e(b1,[2,54],{46:[1,100]}),e(U,[2,72],{113:113,29:[1,101],44:_,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:v,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:L,102:V,105:I,106:w,109:R,111:N,114:G,115:P,116:O}),e(Y,[2,181]),e(Y,[2,142]),e(Y,[2,143]),e(Y,[2,144]),e(Y,[2,145]),e(Y,[2,146]),e(Y,[2,147]),e(Y,[2,148]),e(Y,[2,149]),e(Y,[2,150]),e(Y,[2,151]),e(Y,[2,152]),e(o,[2,12]),e(o,[2,18]),e(o,[2,19]),{9:[1,114]},e(ne,[2,26],{18:115,10:d1}),e(T,[2,27]),{42:116,43:39,44:_,45:40,47:41,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O},e(T,[2,40]),e(T,[2,41]),e(T,[2,42]),e(L1,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ue,81:oe,116:K1,119:j1},{75:[1,126],77:[1,127]},e(le,[2,83]),e(T,[2,28]),e(T,[2,29]),e(T,[2,30]),e(T,[2,31]),e(T,[2,32]),{10:ce,12:he,14:de,27:pe,28:128,32:fe,44:ge,60:be,75:Ae,80:[1,130],81:[1,131],83:141,84:ke,85:me,86:Ce,87:De,88:Ee,89:Te,90:Se,91:129,105:ye,109:xe,111:Fe,114:_e,115:Be,116:ve},e(X1,d,{5:154}),e(T,[2,37]),e(T,[2,38]),e(m1,[2,48],{44:Le}),e(m1,[2,49],{18:156,10:d1,40:Ve}),e(b1,[2,44]),{44:_,47:158,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O},{102:[1,159],103:160,105:[1,161]},{44:_,47:162,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O},{44:_,47:163,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O},e(F,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},e(F,[2,115],{120:168,10:[1,167],14:C1,44:D1,60:E1,89:T1,105:S1,106:y1,109:x1,111:F1,114:_1,115:B1,116:v1}),e(F,[2,117],{10:[1,169]}),e(q,[2,183]),e(q,[2,170]),e(q,[2,171]),e(q,[2,172]),e(q,[2,173]),e(q,[2,174]),e(q,[2,175]),e(q,[2,176]),e(q,[2,177]),e(q,[2,178]),e(q,[2,179]),e(q,[2,180]),{44:_,47:170,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O},{30:171,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:179,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:181,50:[1,180],67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:182,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:183,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:184,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{109:[1,185]},{30:186,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:187,65:[1,188],67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:189,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:190,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{30:191,67:k,80:z,81:W,82:172,116:m,117:C,118:D},e(Y,[2,182]),e(o,[2,20]),e(ne,[2,25]),e(m1,[2,46],{39:192,18:193,10:d1,40:ae}),e(L1,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{77:[1,197],79:198,116:K1,119:j1},e(V1,[2,79]),e(V1,[2,81]),e(V1,[2,82]),e(V1,[2,168]),e(V1,[2,169]),{76:199,79:121,80:ue,81:oe,116:K1,119:j1},e(le,[2,84]),{8:$,9:e1,10:ce,11:t1,12:he,14:de,21:201,27:pe,29:[1,200],32:fe,44:ge,60:be,75:Ae,83:141,84:ke,85:me,86:Ce,87:De,88:Ee,89:Te,90:Se,91:202,105:ye,109:xe,111:Fe,114:_e,115:Be,116:ve},e(y,[2,101]),e(y,[2,103]),e(y,[2,104]),e(y,[2,157]),e(y,[2,158]),e(y,[2,159]),e(y,[2,160]),e(y,[2,161]),e(y,[2,162]),e(y,[2,163]),e(y,[2,164]),e(y,[2,165]),e(y,[2,166]),e(y,[2,167]),e(y,[2,90]),e(y,[2,91]),e(y,[2,92]),e(y,[2,93]),e(y,[2,94]),e(y,[2,95]),e(y,[2,96]),e(y,[2,97]),e(y,[2,98]),e(y,[2,99]),e(y,[2,100]),{6:11,7:12,8:l,9:f,10:n,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:S,32:[1,203],33:24,34:g,36:E,38:Z,42:28,43:39,44:_,45:40,47:41,60:v,84:K,85:h1,86:N1,87:G1,88:P1,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O,121:O1,122:M1,123:U1,124:z1,125:W1},{10:d1,18:204},{44:[1,205]},e(b1,[2,43]),{10:[1,206],44:_,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:113,114:G,115:P,116:O},{10:[1,207]},{10:[1,208],106:[1,209]},e(Ie,[2,128]),{10:[1,210],44:_,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:113,114:G,115:P,116:O},{10:[1,211],44:_,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:113,114:G,115:P,116:O},{80:[1,212]},e(F,[2,109],{10:[1,213]}),e(F,[2,111],{10:[1,214]}),{80:[1,215]},e(q,[2,184]),{80:[1,216],98:[1,217]},e(b1,[2,55],{113:113,44:_,60:v,89:L,102:V,105:I,106:w,109:R,111:N,114:G,115:P,116:O}),{31:[1,218],67:k,82:219,116:m,117:C,118:D},e(p1,[2,86]),e(p1,[2,88]),e(p1,[2,89]),e(p1,[2,153]),e(p1,[2,154]),e(p1,[2,155]),e(p1,[2,156]),{49:[1,220],67:k,82:219,116:m,117:C,118:D},{30:221,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{51:[1,222],67:k,82:219,116:m,117:C,118:D},{53:[1,223],67:k,82:219,116:m,117:C,118:D},{55:[1,224],67:k,82:219,116:m,117:C,118:D},{57:[1,225],67:k,82:219,116:m,117:C,118:D},{60:[1,226]},{64:[1,227],67:k,82:219,116:m,117:C,118:D},{66:[1,228],67:k,82:219,116:m,117:C,118:D},{30:229,67:k,80:z,81:W,82:172,116:m,117:C,118:D},{31:[1,230],67:k,82:219,116:m,117:C,118:D},{67:k,69:[1,231],71:[1,232],82:219,116:m,117:C,118:D},{67:k,69:[1,234],71:[1,233],82:219,116:m,117:C,118:D},e(m1,[2,45],{18:156,10:d1,40:Ve}),e(m1,[2,47],{44:Le}),e(L1,[2,75]),e(L1,[2,74]),{62:[1,235],67:k,82:219,116:m,117:C,118:D},e(L1,[2,77]),e(V1,[2,80]),{77:[1,236],79:198,116:K1,119:j1},{30:237,67:k,80:z,81:W,82:172,116:m,117:C,118:D},e(X1,d,{5:238}),e(y,[2,102]),e(T,[2,35]),{43:239,44:_,45:40,47:41,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O},{10:d1,18:240},{10:s1,60:i1,84:r1,92:241,105:a1,107:242,108:243,109:n1,110:u1,111:o1,112:l1},{10:s1,60:i1,84:r1,92:252,104:[1,253],105:a1,107:242,108:243,109:n1,110:u1,111:o1,112:l1},{10:s1,60:i1,84:r1,92:254,104:[1,255],105:a1,107:242,108:243,109:n1,110:u1,111:o1,112:l1},{105:[1,256]},{10:s1,60:i1,84:r1,92:257,105:a1,107:242,108:243,109:n1,110:u1,111:o1,112:l1},{44:_,47:258,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O},e(F,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},e(F,[2,116]),e(F,[2,118],{10:[1,262]}),e(F,[2,119]),e(U,[2,56]),e(p1,[2,87]),e(U,[2,57]),{51:[1,263],67:k,82:219,116:m,117:C,118:D},e(U,[2,64]),e(U,[2,59]),e(U,[2,60]),e(U,[2,61]),{109:[1,264]},e(U,[2,63]),e(U,[2,65]),{66:[1,265],67:k,82:219,116:m,117:C,118:D},e(U,[2,67]),e(U,[2,68]),e(U,[2,70]),e(U,[2,69]),e(U,[2,71]),e([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),e(L1,[2,78]),{31:[1,266],67:k,82:219,116:m,117:C,118:D},{6:11,7:12,8:l,9:f,10:n,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:S,32:[1,267],33:24,34:g,36:E,38:Z,42:28,43:39,44:_,45:40,47:41,60:v,84:K,85:h1,86:N1,87:G1,88:P1,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O,121:O1,122:M1,123:U1,124:z1,125:W1},e(b1,[2,53]),{43:268,44:_,45:40,47:41,60:v,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O},e(F,[2,121],{106:I1}),e(we,[2,130],{108:270,10:s1,60:i1,84:r1,105:a1,109:n1,110:u1,111:o1,112:l1}),e(J,[2,132]),e(J,[2,134]),e(J,[2,135]),e(J,[2,136]),e(J,[2,137]),e(J,[2,138]),e(J,[2,139]),e(J,[2,140]),e(J,[2,141]),e(F,[2,122],{106:I1}),{10:[1,271]},e(F,[2,123],{106:I1}),{10:[1,272]},e(Ie,[2,129]),e(F,[2,105],{106:I1}),e(F,[2,106],{113:113,44:_,60:v,89:L,102:V,105:I,106:w,109:R,111:N,114:G,115:P,116:O}),e(F,[2,110]),e(F,[2,112],{10:[1,273]}),e(F,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:$,9:e1,11:t1,21:278},e(T,[2,34]),e(b1,[2,52]),{10:s1,60:i1,84:r1,105:a1,107:279,108:243,109:n1,110:u1,111:o1,112:l1},e(J,[2,133]),{14:C1,44:D1,60:E1,89:T1,101:280,105:S1,106:y1,109:x1,111:F1,114:_1,115:B1,116:v1,120:88},{14:C1,44:D1,60:E1,89:T1,101:281,105:S1,106:y1,109:x1,111:F1,114:_1,115:B1,116:v1,120:88},{98:[1,282]},e(F,[2,120]),e(U,[2,58]),{30:283,67:k,80:z,81:W,82:172,116:m,117:C,118:D},e(U,[2,66]),e(X1,d,{5:284}),e(we,[2,131],{108:270,10:s1,60:i1,84:r1,105:a1,109:n1,110:u1,111:o1,112:l1}),e(F,[2,126],{120:168,10:[1,285],14:C1,44:D1,60:E1,89:T1,105:S1,106:y1,109:x1,111:F1,114:_1,115:B1,116:v1}),e(F,[2,127],{120:168,10:[1,286],14:C1,44:D1,60:E1,89:T1,105:S1,106:y1,109:x1,111:F1,114:_1,115:B1,116:v1}),e(F,[2,114]),{31:[1,287],67:k,82:219,116:m,117:C,118:D},{6:11,7:12,8:l,9:f,10:n,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:S,32:[1,288],33:24,34:g,36:E,38:Z,42:28,43:39,44:_,45:40,47:41,60:v,84:K,85:h1,86:N1,87:G1,88:P1,89:L,102:V,105:I,106:w,109:R,111:N,113:42,114:G,115:P,116:O,121:O1,122:M1,123:U1,124:z1,125:W1},{10:s1,60:i1,84:r1,92:289,105:a1,107:242,108:243,109:n1,110:u1,111:o1,112:l1},{10:s1,60:i1,84:r1,92:290,105:a1,107:242,108:243,109:n1,110:u1,111:o1,112:l1},e(U,[2,62]),e(T,[2,33]),e(F,[2,124],{106:I1}),e(F,[2,125],{106:I1})],defaultActions:{},parseError:b(function(c,h){if(h.recoverable)this.trace(c);else{var p=new Error(c);throw p.hash=h,p}},"parseError"),parse:b(function(c){var h=this,p=[0],u=[],x=[null],t=[],R1=this.table,s="",B=0,Re=0,We=2,Ne=1,Ke=t.slice.call(arguments,1),M=Object.create(this.lexer),A1={yy:{}};for(var J1 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J1)&&(A1.yy[J1]=this.yy[J1]);M.setInput(c,A1.yy),A1.yy.lexer=M,A1.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var Z1=M.yylloc;t.push(Z1);var je=M.options&&M.options.ranges;typeof A1.yy.parseError=="function"?this.parseError=A1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ye(H){p.length=p.length-2*H,x.length=x.length-H,t.length=t.length-H}b(Ye,"popStack");function Ge(){var H;return H=u.pop()||M.lex()||Ne,typeof H!="number"&&(H instanceof Array&&(u=H,H=u.pop()),H=h.symbols_[H]||H),H}b(Ge,"lex");for(var j,k1,X,$1,w1={},q1,c1,Pe,H1;;){if(k1=p[p.length-1],this.defaultActions[k1]?X=this.defaultActions[k1]:((j===null||typeof j>"u")&&(j=Ge()),X=R1[k1]&&R1[k1][j]),typeof X>"u"||!X.length||!X[0]){var ee="";H1=[];for(q1 in R1[k1])this.terminals_[q1]&&q1>We&&H1.push("'"+this.terminals_[q1]+"'");M.showPosition?ee="Parse error on line "+(B+1)+`: +`+M.showPosition()+` +Expecting `+H1.join(", ")+", got '"+(this.terminals_[j]||j)+"'":ee="Parse error on line "+(B+1)+": Unexpected "+(j==Ne?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(ee,{text:M.match,token:this.terminals_[j]||j,line:M.yylineno,loc:Z1,expected:H1})}if(X[0]instanceof Array&&X.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k1+", token: "+j);switch(X[0]){case 1:p.push(j),x.push(M.yytext),t.push(M.yylloc),p.push(X[1]),j=null,Re=M.yyleng,s=M.yytext,B=M.yylineno,Z1=M.yylloc;break;case 2:if(c1=this.productions_[X[1]][1],w1.$=x[x.length-c1],w1._$={first_line:t[t.length-(c1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(c1||1)].first_column,last_column:t[t.length-1].last_column},je&&(w1._$.range=[t[t.length-(c1||1)].range[0],t[t.length-1].range[1]]),$1=this.performAction.apply(w1,[s,Re,B,A1.yy,X[1],x,t].concat(Ke)),typeof $1<"u")return $1;c1&&(p=p.slice(0,-1*c1*2),x=x.slice(0,-1*c1),t=t.slice(0,-1*c1)),p.push(this.productions_[X[1]][0]),x.push(w1.$),t.push(w1._$),Pe=R1[p[p.length-2]][p[p.length-1]],p.push(Pe);break;case 3:return!0}}return!0},"parse")},ze=(function(){var f1={EOF:1,parseError:b(function(h,p){if(this.yy.parser)this.yy.parser.parseError(h,p);else throw new Error(h)},"parseError"),setInput:b(function(c,h){return this.yy=h||this.yy||{},this._input=c,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:b(function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var h=c.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),c},"input"),unput:b(function(c){var h=c.length,p=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.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:p?(p.length===u.length?this.yylloc.first_column:0)+u[u.length-p.length].length-p[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:b(function(){return this._more=!0,this},"more"),reject:b(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:b(function(c){this.unput(this.match.slice(c))},"less"),pastInput:b(function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:b(function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:b(function(){var c=this.pastInput(),h=new Array(c.length+1).join("-");return c+this.upcomingInput()+` +`+h+"^"},"showPosition"),test_match:b(function(c,h){var p,u,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))),u=c[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+c[0].length},this.yytext+=c[0],this.match+=c[0],this.matches=c,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(c[0].length),this.matched+=c[0],p=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),p)return p;if(this._backtrack){for(var t in x)this[t]=x[t];return!1}return!1},"test_match"),next:b(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var c,h,p,u;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),t=0;th[0].length)){if(h=p,u=t,this.options.backtrack_lexer){if(c=this.test_match(p,x[t]),c!==!1)return c;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(c=this.test_match(h,x[u]),c!==!1?c:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:b(function(){var h=this.next();return h||this.lex()},"lex"),begin:b(function(h){this.conditionStack.push(h)},"begin"),popState:b(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:b(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:b(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:b(function(h){this.begin(h)},"pushState"),stateStackSize:b(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:b(function(h,p,u,x){switch(u){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),p.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const t=/\n\s*/g;return p.yytext=p.yytext.replace(t,"
"),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return h.lex.firstGraph()&&this.begin("dir"),12;case 36:return h.lex.firstGraph()&&this.begin("dir"),12;case 37:return h.lex.firstGraph()&&this.begin("dir"),12;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;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:return 119;case 72:return this.popState(),77;case 73:return this.pushState("thickEdgeText"),75;case 74:return 119;case 75:return this.popState(),77;case 76:return this.pushState("dottedEdgeText"),75;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120: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]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],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,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return f1})();Q1.lexer=ze;function Y1(){this.yy={}}return b(Y1,"Parser"),Y1.prototype=Q1,Q1.Parser=Y1,new Y1})();re.parser=re;var Me=re,Ue=Object.assign({},Me);Ue.parse=e=>{const i=e.replace(/}\s*\n/g,`} +`);return Me.parse(i)};var mt=Ue,Ct=b((e,i)=>{const r=pt,a=r(e,"r"),o=r(e,"g"),d=r(e,"b");return lt(a,o,d,i)},"fade"),Dt=b(e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span { + color: ${e.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: ${e.strokeWidth??1}px; + } + .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: ${e.lineColor} !important; + stroke-width: 0; + stroke: ${e.lineColor}; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: ${e.strokeWidth??2}px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${Ct(e.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } + + rect.text { + fill: none; + stroke-width: 0; + } + + .icon-shape, .image-shape { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + padding: 2px; + } + .label rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + ${qe()} +`,"getStyles"),Et=Dt,vt={parser:mt,get db(){return new gt},renderer:kt,styles:Et,init:b(e=>{e.flowchart||(e.flowchart={}),e.layout&&Oe({layout:e.layout}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,Oe({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}})},"init")};export{vt as diagram}; diff --git a/_astro/ganttDiagram-6RSMTGT7.Coa5L4Se.js b/_astro/ganttDiagram-6RSMTGT7.Coa5L4Se.js new file mode 100644 index 0000000..1b400eb --- /dev/null +++ b/_astro/ganttDiagram-6RSMTGT7.Coa5L4Se.js @@ -0,0 +1,292 @@ +import{bf as on,bg as $n,bh as cn,bi as un,bj as ln,bk as ue,bl as On,b4 as oe,g as Hn,s as Nn,q as Pn,p as Rn,a as Vn,b as zn,_ as d,c as Yt,d as Zt,e as qn,bm as rt,l as Tt,k as Bn,j as Zn,z as Xn,u as Gn}from"./mermaid.core.Ci_VGkOG.js";import{b as jn,t as Ne,c as Qn,a as Jn,l as Kn}from"./linear.CNy4Dr2Q.js";import{i as tr}from"./init.Gi6I4Gst.js";import"./preload-helper.DK3iz7C1.js";import"./defaultLocale.DX6XiGOO.js";function er(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function nr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function rr(t){return t}var Gt=1,le=2,xe=3,Xt=4,Pe=1e-6;function ir(t){return"translate("+t+",0)"}function sr(t){return"translate(0,"+t+")"}function ar(t){return e=>+t(e)}function or(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function cr(){return!this.__axis}function fn(t,e){var n=[],r=null,i=null,a=6,c=6,m=3,Y=typeof window<"u"&&window.devicePixelRatio>1?0:.5,C=t===Gt||t===Xt?-1:1,p=t===Xt||t===le?"x":"y",L=t===Gt||t===xe?ir:sr;function _(S){var B=r??(e.ticks?e.ticks.apply(e,n):e.domain()),A=i??(e.tickFormat?e.tickFormat.apply(e,n):rr),U=Math.max(a,0)+m,I=e.range(),N=+I[0]+Y,W=+I[I.length-1]+Y,q=(e.bandwidth?or:ar)(e.copy(),Y),j=S.selection?S.selection():S,k=j.selectAll(".domain").data([null]),g=j.selectAll(".tick").data(B,e).order(),y=g.exit(),h=g.enter().append("g").attr("class","tick"),D=g.select("line"),w=g.select("text");k=k.merge(k.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),g=g.merge(h),D=D.merge(h.append("line").attr("stroke","currentColor").attr(p+"2",C*a)),w=w.merge(h.append("text").attr("fill","currentColor").attr(p,C*U).attr("dy",t===Gt?"0em":t===xe?"0.71em":"0.32em")),S!==j&&(k=k.transition(S),g=g.transition(S),D=D.transition(S),w=w.transition(S),y=y.transition(S).attr("opacity",Pe).attr("transform",function(T){return isFinite(T=q(T))?L(T+Y):this.getAttribute("transform")}),h.attr("opacity",Pe).attr("transform",function(T){var v=this.parentNode.__axis;return L((v&&isFinite(v=v(T))?v:q(T))+Y)})),y.remove(),k.attr("d",t===Xt||t===le?c?"M"+C*c+","+N+"H"+Y+"V"+W+"H"+C*c:"M"+Y+","+N+"V"+W:c?"M"+N+","+C*c+"V"+Y+"H"+W+"V"+C*c:"M"+N+","+Y+"H"+W),g.attr("opacity",1).attr("transform",function(T){return L(q(T)+Y)}),D.attr(p+"2",C*a),w.attr(p,C*U).text(A),j.filter(cr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===le?"start":t===Xt?"end":"middle"),j.each(function(){this.__axis=q})}return _.scale=function(S){return arguments.length?(e=S,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(S){return arguments.length?(n=S==null?[]:Array.from(S),_):n.slice()},_.tickValues=function(S){return arguments.length?(r=S==null?null:Array.from(S),_):r&&r.slice()},_.tickFormat=function(S){return arguments.length?(i=S,_):i},_.tickSize=function(S){return arguments.length?(a=c=+S,_):a},_.tickSizeInner=function(S){return arguments.length?(a=+S,_):a},_.tickSizeOuter=function(S){return arguments.length?(c=+S,_):c},_.tickPadding=function(S){return arguments.length?(m=+S,_):m},_.offset=function(S){return arguments.length?(Y=+S,_):Y},_}function ur(t){return fn(Gt,t)}function lr(t){return fn(xe,t)}const fr=Math.PI/180,dr=180/Math.PI,ne=18,dn=.96422,hn=1,mn=.82521,gn=4/29,Ft=6/29,yn=3*Ft*Ft,hr=Ft*Ft*Ft;function kn(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof ht)return pn(t);t instanceof on||(t=$n(t));var e=me(t.r),n=me(t.g),r=me(t.b),i=fe((.2225045*e+.7168786*n+.0606169*r)/hn),a,c;return e===n&&n===r?a=c=i:(a=fe((.4360747*e+.3850649*n+.1430804*r)/dn),c=fe((.0139322*e+.0971045*n+.7141733*r)/mn)),new ft(116*i-16,500*(a-i),200*(i-c),t.opacity)}function mr(t,e,n,r){return arguments.length===1?kn(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}cn(ft,mr,un(ln,{brighter(t){return new ft(this.l+ne*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-ne*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=dn*de(e),t=hn*de(t),n=mn*de(n),new on(he(3.1338561*e-1.6168667*t-.4906146*n),he(-.9787684*e+1.9161415*t+.033454*n),he(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function fe(t){return t>hr?Math.pow(t,1/3):t/yn+gn}function de(t){return t>Ft?t*t*t:yn*(t-gn)}function he(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function me(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){if(t instanceof ht)return new ht(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=kn(t)),t.a===0&&t.b===0)return new ht(NaN,0(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const c=i(a),m=i.ceil(a);return a-c(e(a=new Date(+a),c==null?1:Math.floor(c)),a),i.range=(a,c,m)=>{const Y=[];if(a=i.ceil(a),m=m==null?1:Math.floor(m),!(a0))return Y;let C;do Y.push(C=new Date(+a)),e(a,m),t(a);while(Cet(c=>{if(c>=c)for(;t(c),!a(c);)c.setTime(c-1)},(c,m)=>{if(c>=c)if(m<0)for(;++m<=0;)for(;e(c,-1),!a(c););else for(;--m>=0;)for(;e(c,1),!a(c););}),n&&(i.count=(a,c)=>(ge.setTime(+a),ye.setTime(+c),t(ge),t(ye),Math.floor(n(ge,ye))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?c=>r(c)%a===0:c=>i.count(0,c)%a===0):i)),i}const Et=et(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Et.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?et(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Et);Et.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,Se=yt*7,Re=yt*30,ke=yt*365,vt=et(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const Ot=et(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());Ot.range;const vr=et(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());vr.range;const Ht=et(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Ht.range;const Tr=et(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());Tr.range;const xt=et(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);xt.range;const _e=et(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);_e.range;const xr=et(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));xr.range;function Dt(t){return et(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/Se)}const Rt=Dt(0),Nt=Dt(1),vn=Dt(2),Tn=Dt(3),bt=Dt(4),xn=Dt(5),bn=Dt(6);Rt.range;Nt.range;vn.range;Tn.range;bt.range;xn.range;bn.range;function Mt(t){return et(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Se)}const wn=Mt(0),re=Mt(1),br=Mt(2),wr=Mt(3),It=Mt(4),Dr=Mt(5),Mr=Mt(6);wn.range;re.range;br.range;wr.range;It.range;Dr.range;Mr.range;const Pt=et(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Pt.range;const Cr=et(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());Cr.range;const kt=et(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());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:et(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const wt=et(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());wt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:et(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});wt.range;function Sr(t,e,n,r,i,a){const c=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[a,1,ct],[a,5,5*ct],[a,15,15*ct],[a,30,30*ct],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,Se],[e,1,Re],[e,3,3*Re],[t,1,ke]];function m(C,p,L){const _=pU).right(c,_);if(S===c.length)return t.every(Ne(C/ke,p/ke,L));if(S===0)return Et.every(Math.max(Ne(C,p,L),1));const[B,A]=c[_/c[S-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?($=ve(At(l.y,0,1)),Q=$.getUTCDay(),$=Q>4||Q===0?re.ceil($):re($),$=_e.offset($,(l.V-1)*7),l.y=$.getUTCFullYear(),l.m=$.getUTCMonth(),l.d=$.getUTCDate()+(l.w+6)%7):($=pe(At(l.y,0,1)),Q=$.getDay(),$=Q>4||Q===0?Nt.ceil($):Nt($),$=xt.offset($,(l.V-1)*7),l.y=$.getFullYear(),l.m=$.getMonth(),l.d=$.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),Q="Z"in l?ve(At(l.y,0,1)).getUTCDay():pe(At(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(Q+5)%7:l.w+l.U*7-(Q+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,ve(l)):pe(l)}}function y(M,H,R,l){for(var J=0,$=H.length,Q=R.length,G,it;J<$;){if(l>=Q)return-1;if(G=H.charCodeAt(J++),G===37){if(G=H.charAt(J++),it=j[G in Ve?H.charAt(J++):G],!it||(l=it(M,R,l))<0)return-1}else if(G!=R.charCodeAt(l++))return-1}return l}function h(M,H,R){var l=C.exec(H.slice(R));return l?(M.p=p.get(l[0].toLowerCase()),R+l[0].length):-1}function D(M,H,R){var l=S.exec(H.slice(R));return l?(M.w=B.get(l[0].toLowerCase()),R+l[0].length):-1}function w(M,H,R){var l=L.exec(H.slice(R));return l?(M.w=_.get(l[0].toLowerCase()),R+l[0].length):-1}function T(M,H,R){var l=I.exec(H.slice(R));return l?(M.m=N.get(l[0].toLowerCase()),R+l[0].length):-1}function v(M,H,R){var l=A.exec(H.slice(R));return l?(M.m=U.get(l[0].toLowerCase()),R+l[0].length):-1}function u(M,H,R){return y(M,e,H,R)}function f(M,H,R){return y(M,n,H,R)}function x(M,H,R){return y(M,r,H,R)}function b(M){return c[M.getDay()]}function F(M){return a[M.getDay()]}function o(M){return Y[M.getMonth()]}function X(M){return m[M.getMonth()]}function s(M){return i[+(M.getHours()>=12)]}function E(M){return 1+~~(M.getMonth()/3)}function z(M){return c[M.getUTCDay()]}function V(M){return a[M.getUTCDay()]}function P(M){return Y[M.getUTCMonth()]}function K(M){return m[M.getUTCMonth()]}function O(M){return i[+(M.getUTCHours()>=12)]}function st(M){return 1+~~(M.getUTCMonth()/3)}return{format:function(M){var H=k(M+="",W);return H.toString=function(){return M},H},parse:function(M){var H=g(M+="",!1);return H.toString=function(){return M},H},utcFormat:function(M){var H=k(M+="",q);return H.toString=function(){return M},H},utcParse:function(M){var H=g(M+="",!0);return H.toString=function(){return M},H}}}var Ve={"-":"",_:" ",0:"0"},nt=/^\s*\d+/,Ur=/^%/,Er=/[\\^$*+?|[\]().{}]/g;function Z(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function Lr(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function $r(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function ze(t,e,n){var r=nt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function qe(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Hr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Nr(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Pr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Be(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=nt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ze(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function zr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function qr(t,e,n){var r=nt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Br(t,e,n){var r=nt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Zr(t,e,n){var r=Ur.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Xr(t,e,n){var r=nt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Gr(t,e,n){var r=nt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Xe(t,e){return Z(t.getDate(),e,2)}function jr(t,e){return Z(t.getHours(),e,2)}function Qr(t,e){return Z(t.getHours()%12||12,e,2)}function Jr(t,e){return Z(1+xt.count(kt(t),t),e,3)}function Dn(t,e){return Z(t.getMilliseconds(),e,3)}function Kr(t,e){return Dn(t,e)+"000"}function ti(t,e){return Z(t.getMonth()+1,e,2)}function ei(t,e){return Z(t.getMinutes(),e,2)}function ni(t,e){return Z(t.getSeconds(),e,2)}function ri(t){var e=t.getDay();return e===0?7:e}function ii(t,e){return Z(Rt.count(kt(t)-1,t),e,2)}function Mn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function si(t,e){return t=Mn(t),Z(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function ai(t){return t.getDay()}function oi(t,e){return Z(Nt.count(kt(t)-1,t),e,2)}function ci(t,e){return Z(t.getFullYear()%100,e,2)}function ui(t,e){return t=Mn(t),Z(t.getFullYear()%100,e,2)}function li(t,e){return Z(t.getFullYear()%1e4,e,4)}function fi(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),Z(t.getFullYear()%1e4,e,4)}function di(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Z(e/60|0,"0",2)+Z(e%60,"0",2)}function Ge(t,e){return Z(t.getUTCDate(),e,2)}function hi(t,e){return Z(t.getUTCHours(),e,2)}function mi(t,e){return Z(t.getUTCHours()%12||12,e,2)}function gi(t,e){return Z(1+_e.count(wt(t),t),e,3)}function Cn(t,e){return Z(t.getUTCMilliseconds(),e,3)}function yi(t,e){return Cn(t,e)+"000"}function ki(t,e){return Z(t.getUTCMonth()+1,e,2)}function pi(t,e){return Z(t.getUTCMinutes(),e,2)}function vi(t,e){return Z(t.getUTCSeconds(),e,2)}function Ti(t){var e=t.getUTCDay();return e===0?7:e}function xi(t,e){return Z(wn.count(wt(t)-1,t),e,2)}function Sn(t){var e=t.getUTCDay();return e>=4||e===0?It(t):It.ceil(t)}function bi(t,e){return t=Sn(t),Z(It.count(wt(t),t)+(wt(t).getUTCDay()===4),e,2)}function wi(t){return t.getUTCDay()}function Di(t,e){return Z(re.count(wt(t)-1,t),e,2)}function Mi(t,e){return Z(t.getUTCFullYear()%100,e,2)}function Ci(t,e){return t=Sn(t),Z(t.getUTCFullYear()%100,e,2)}function Si(t,e){return Z(t.getUTCFullYear()%1e4,e,4)}function _i(t,e){var n=t.getUTCDay();return t=n>=4||n===0?It(t):It.ceil(t),Z(t.getUTCFullYear()%1e4,e,4)}function Yi(){return"+0000"}function je(){return"%"}function Qe(t){return+t}function Je(t){return Math.floor(+t/1e3)}var St,ie;Fi({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Fi(t){return St=Fr(t),ie=St.format,St.parse,St.utcFormat,St.utcParse,St}function Ui(t){return new Date(t)}function Ei(t){return t instanceof Date?+t:+new Date(+t)}function _n(t,e,n,r,i,a,c,m,Y,C){var p=Qn(),L=p.invert,_=p.domain,S=C(".%L"),B=C(":%S"),A=C("%I:%M"),U=C("%I %p"),I=C("%a %d"),N=C("%b %d"),W=C("%B"),q=C("%Y");function j(k){return(Y(k)4&&(S+=7),_.add(S,n));return B.diff(A,"week")+1},m.isoWeekday=function(C){return this.$utils().u(C)?this.day()||7:this.day(this.day()%7?C:C-7)};var Y=m.startOf;m.startOf=function(C,p){var L=this.$utils(),_=!!L.u(p)||p;return L.p(C)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):Y.bind(this)(C,p)}}}))})(jt)),jt.exports}var Wi=Ai();const $i=oe(Wi);var Qt={exports:{}},Oi=Qt.exports,tn;function Hi(){return tn||(tn=1,(function(t,e){(function(n,r){t.exports=r()})(Oi,(function(){var n={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"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,c=/\d\d?/,m=/\d*[^-_:/,()\s\d]+/,Y={},C=function(U){return(U=+U)+(U>68?1900:2e3)},p=function(U){return function(I){this[U]=+I}},L=[/[+-]\d\d:?(\d\d)?|Z/,function(U){(this.zone||(this.zone={})).offset=(function(I){if(!I||I==="Z")return 0;var N=I.match(/([+-]|\d\d)/g),W=60*N[1]+(+N[2]||0);return W===0?0:N[0]==="+"?-W:W})(U)}],_=function(U){var I=Y[U];return I&&(I.indexOf?I:I.s.concat(I.f))},S=function(U,I){var N,W=Y.meridiem;if(W){for(var q=1;q<=24;q+=1)if(U.indexOf(W(q,0,I))>-1){N=q>12;break}}else N=U===(I?"pm":"PM");return N},B={A:[m,function(U){this.afternoon=S(U,!1)}],a:[m,function(U){this.afternoon=S(U,!0)}],Q:[i,function(U){this.month=3*(U-1)+1}],S:[i,function(U){this.milliseconds=100*+U}],SS:[a,function(U){this.milliseconds=10*+U}],SSS:[/\d{3}/,function(U){this.milliseconds=+U}],s:[c,p("seconds")],ss:[c,p("seconds")],m:[c,p("minutes")],mm:[c,p("minutes")],H:[c,p("hours")],h:[c,p("hours")],HH:[c,p("hours")],hh:[c,p("hours")],D:[c,p("day")],DD:[a,p("day")],Do:[m,function(U){var I=Y.ordinal,N=U.match(/\d+/);if(this.day=N[0],I)for(var W=1;W<=31;W+=1)I(W).replace(/\[|\]/g,"")===U&&(this.day=W)}],w:[c,p("week")],ww:[a,p("week")],M:[c,p("month")],MM:[a,p("month")],MMM:[m,function(U){var I=_("months"),N=(_("monthsShort")||I.map((function(W){return W.slice(0,3)}))).indexOf(U)+1;if(N<1)throw new Error;this.month=N%12||N}],MMMM:[m,function(U){var I=_("months").indexOf(U)+1;if(I<1)throw new Error;this.month=I%12||I}],Y:[/[+-]?\d+/,p("year")],YY:[a,function(U){this.year=C(U)}],YYYY:[/\d{4}/,p("year")],Z:L,ZZ:L};function A(U){var I,N;I=U,N=Y&&Y.formats;for(var W=(U=I.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(D,w,T){var v=T&&T.toUpperCase();return w||N[T]||n[T]||N[v].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(u,f,x){return f||x.slice(1)}))}))).match(r),q=W.length,j=0;j-1)return new Date((F==="X"?1e3:1)*b);var s=A(F)(b),E=s.year,z=s.month,V=s.day,P=s.hours,K=s.minutes,O=s.seconds,st=s.milliseconds,M=s.zone,H=s.week,R=new Date,l=V||(E||z?1:R.getDate()),J=E||R.getFullYear(),$=0;E&&!z||($=z>0?z-1:R.getMonth());var Q,G=P||0,it=K||0,at=O||0,pt=st||0;return M?new Date(Date.UTC(J,$,l,G,it,at,pt+60*M.offset*1e3)):o?new Date(Date.UTC(J,$,l,G,it,at,pt)):(Q=new Date(J,$,l,G,it,at,pt),H&&(Q=X(Q).week(H).toDate()),Q)}catch{return new Date("")}})(k,h,g,N),this.init(),v&&v!==!0&&(this.$L=this.locale(v).$L),T&&k!=this.format(h)&&(this.$d=new Date("")),Y={}}else if(h instanceof Array)for(var u=h.length,f=1;f<=u;f+=1){y[1]=h[f-1];var x=N.apply(this,y);if(x.isValid()){this.$d=x.$d,this.$L=x.$L,this.init();break}f===u&&(this.$d=new Date(""))}else q.call(this,j)}}}))})(Qt)),Qt.exports}var Ni=Hi();const Pi=oe(Ni);var Jt={exports:{}},Ri=Jt.exports,en;function Vi(){return en||(en=1,(function(t,e){(function(n,r){t.exports=r()})(Ri,(function(){return function(n,r){var i=r.prototype,a=i.format;i.format=function(c){var m=this,Y=this.$locale();if(!this.isValid())return a.bind(this)(c);var C=this.$utils(),p=(c||"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(L){switch(L){case"Q":return Math.ceil((m.$M+1)/3);case"Do":return Y.ordinal(m.$D);case"gggg":return m.weekYear();case"GGGG":return m.isoWeekYear();case"wo":return Y.ordinal(m.week(),"W");case"w":case"ww":return C.s(m.week(),L==="w"?1:2,"0");case"W":case"WW":return C.s(m.isoWeek(),L==="W"?1:2,"0");case"k":case"kk":return C.s(String(m.$H===0?24:m.$H),L==="k"?1:2,"0");case"X":return Math.floor(m.$d.getTime()/1e3);case"x":return m.$d.getTime();case"z":return"["+m.offsetName()+"]";case"zzz":return"["+m.offsetName("long")+"]";default:return L}}));return a.bind(this)(p)}}}))})(Jt)),Jt.exports}var zi=Vi();const qi=oe(zi);var Kt={exports:{}},Bi=Kt.exports,nn;function Zi(){return nn||(nn=1,(function(t,e){(function(n,r){t.exports=r()})(Bi,(function(){var n,r,i=1e3,a=6e4,c=36e5,m=864e5,Y=31536e6,C=2628e6,p=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,L=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,_={years:Y,months:C,days:m,hours:c,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},S=function(k){return k instanceof q},B=function(k,g,y){return new q(k,y,g.$l)},A=function(k){return r.p(k)+"s"},U=function(k){return k<0},I=function(k){return U(k)?Math.ceil(k):Math.floor(k)},N=function(k){return Math.abs(k)},W=function(k,g){return k?U(k)?{negative:!0,format:""+N(k)+g}:{negative:!1,format:""+k+g}:{negative:!1,format:""}},q=(function(){function k(y,h,D){var w=this;if(this.$d={},this.$l=D,y===void 0&&(this.$ms=0,this.parseFromMilliseconds()),h)return B(y*_[A(h)],this);if(typeof y=="number")return this.$ms=y,this.parseFromMilliseconds(),this;if(typeof y=="object")return Object.keys(y).forEach((function(u){w.$d[A(u)]=y[u]})),this.calMilliseconds(),this;if(typeof y=="string"){var T=y.match(p);if(T){var v=T.slice(2).map((function(u){return u!=null?Number(u):0}));return this.$d.years=v[0],this.$d.months=v[1],this.$d.weeks=v[2],this.$d.days=v[3],this.$d.hours=v[4],this.$d.minutes=v[5],this.$d.seconds=v[6],this.calMilliseconds(),this}}return this}var g=k.prototype;return g.calMilliseconds=function(){var y=this;this.$ms=Object.keys(this.$d).reduce((function(h,D){return h+(y.$d[D]||0)*_[D]}),0)},g.parseFromMilliseconds=function(){var y=this.$ms;this.$d.years=I(y/Y),y%=Y,this.$d.months=I(y/C),y%=C,this.$d.days=I(y/m),y%=m,this.$d.hours=I(y/c),y%=c,this.$d.minutes=I(y/a),y%=a,this.$d.seconds=I(y/i),y%=i,this.$d.milliseconds=y},g.toISOString=function(){var y=W(this.$d.years,"Y"),h=W(this.$d.months,"M"),D=+this.$d.days||0;this.$d.weeks&&(D+=7*this.$d.weeks);var w=W(D,"D"),T=W(this.$d.hours,"H"),v=W(this.$d.minutes,"M"),u=this.$d.seconds||0;this.$d.milliseconds&&(u+=this.$d.milliseconds/1e3,u=Math.round(1e3*u)/1e3);var f=W(u,"S"),x=y.negative||h.negative||w.negative||T.negative||v.negative||f.negative,b=T.format||v.format||f.format?"T":"",F=(x?"-":"")+"P"+y.format+h.format+w.format+b+T.format+v.format+f.format;return F==="P"||F==="-P"?"P0D":F},g.toJSON=function(){return this.toISOString()},g.format=function(y){var h=y||"YYYY-MM-DDTHH:mm:ss",D={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return h.replace(L,(function(w,T){return T||String(D[w])}))},g.as=function(y){return this.$ms/_[A(y)]},g.get=function(y){var h=this.$ms,D=A(y);return D==="milliseconds"?h%=1e3:h=D==="weeks"?I(h/_[D]):this.$d[D],h||0},g.add=function(y,h,D){var w;return w=h?y*_[A(h)]:S(y)?y.$ms:B(y,this).$ms,B(this.$ms+w*(D?-1:1),this)},g.subtract=function(y,h){return this.add(y,h,!0)},g.locale=function(y){var h=this.clone();return h.$l=y,h},g.clone=function(){return B(this.$ms,this)},g.humanize=function(y){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!y)},g.valueOf=function(){return this.asMilliseconds()},g.milliseconds=function(){return this.get("milliseconds")},g.asMilliseconds=function(){return this.as("milliseconds")},g.seconds=function(){return this.get("seconds")},g.asSeconds=function(){return this.as("seconds")},g.minutes=function(){return this.get("minutes")},g.asMinutes=function(){return this.as("minutes")},g.hours=function(){return this.get("hours")},g.asHours=function(){return this.as("hours")},g.days=function(){return this.get("days")},g.asDays=function(){return this.as("days")},g.weeks=function(){return this.get("weeks")},g.asWeeks=function(){return this.as("weeks")},g.months=function(){return this.get("months")},g.asMonths=function(){return this.as("months")},g.years=function(){return this.get("years")},g.asYears=function(){return this.as("years")},k})(),j=function(k,g,y){return k.add(g.years()*y,"y").add(g.months()*y,"M").add(g.days()*y,"d").add(g.hours()*y,"h").add(g.minutes()*y,"m").add(g.seconds()*y,"s").add(g.milliseconds()*y,"ms")};return function(k,g,y){n=y,r=y().$utils(),y.duration=function(w,T){var v=y.locale();return B(w,{$l:v},T)},y.isDuration=S;var h=g.prototype.add,D=g.prototype.subtract;g.prototype.add=function(w,T){return S(w)?j(this,w,1):h.bind(this)(w,T)},g.prototype.subtract=function(w,T){return S(w)?j(this,w,-1):D.bind(this)(w,T)}}}))})(Kt)),Kt.exports}var Xi=Zi();const Gi=oe(Xi);var we=(function(){var t=d(function(v,u,f,x){for(f=f||{},x=v.length;x--;f[v[x]]=u);return f},"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],n=[1,26],r=[1,27],i=[1,28],a=[1,29],c=[1,30],m=[1,31],Y=[1,32],C=[1,33],p=[1,34],L=[1,9],_=[1,10],S=[1,11],B=[1,12],A=[1,13],U=[1,14],I=[1,15],N=[1,16],W=[1,19],q=[1,20],j=[1,21],k=[1,22],g=[1,23],y=[1,25],h=[1,35],D={trace:d(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:d(function(u,f,x,b,F,o,X){var s=o.length-1;switch(F){case 1:return o[s-1];case 2:this.$=[];break;case 3:o[s-1].push(o[s]),this.$=o[s-1];break;case 4:case 5:this.$=o[s];break;case 6:case 7:this.$=[];break;case 8:b.setWeekday("monday");break;case 9:b.setWeekday("tuesday");break;case 10:b.setWeekday("wednesday");break;case 11:b.setWeekday("thursday");break;case 12:b.setWeekday("friday");break;case 13:b.setWeekday("saturday");break;case 14:b.setWeekday("sunday");break;case 15:b.setWeekend("friday");break;case 16:b.setWeekend("saturday");break;case 17:b.setDateFormat(o[s].substr(11)),this.$=o[s].substr(11);break;case 18:b.enableInclusiveEndDates(),this.$=o[s].substr(18);break;case 19:b.TopAxis(),this.$=o[s].substr(8);break;case 20:b.setAxisFormat(o[s].substr(11)),this.$=o[s].substr(11);break;case 21:b.setTickInterval(o[s].substr(13)),this.$=o[s].substr(13);break;case 22:b.setExcludes(o[s].substr(9)),this.$=o[s].substr(9);break;case 23:b.setIncludes(o[s].substr(9)),this.$=o[s].substr(9);break;case 24:b.setTodayMarker(o[s].substr(12)),this.$=o[s].substr(12);break;case 27:b.setDiagramTitle(o[s].substr(6)),this.$=o[s].substr(6);break;case 28:this.$=o[s].trim(),b.setAccTitle(this.$);break;case 29:case 30:this.$=o[s].trim(),b.setAccDescription(this.$);break;case 31:b.addSection(o[s].substr(8)),this.$=o[s].substr(8);break;case 33:b.addTask(o[s-1],o[s]),this.$="task";break;case 34:this.$=o[s-1],b.setClickEvent(o[s-1],o[s],null);break;case 35:this.$=o[s-2],b.setClickEvent(o[s-2],o[s-1],o[s]);break;case 36:this.$=o[s-2],b.setClickEvent(o[s-2],o[s-1],null),b.setLink(o[s-2],o[s]);break;case 37:this.$=o[s-3],b.setClickEvent(o[s-3],o[s-2],o[s-1]),b.setLink(o[s-3],o[s]);break;case 38:this.$=o[s-2],b.setClickEvent(o[s-2],o[s],null),b.setLink(o[s-2],o[s-1]);break;case 39:this.$=o[s-3],b.setClickEvent(o[s-3],o[s-1],o[s]),b.setLink(o[s-3],o[s-2]);break;case 40:this.$=o[s-1],b.setLink(o[s-1],o[s]);break;case 41:case 47:this.$=o[s-1]+" "+o[s];break;case 42:case 43:case 45:this.$=o[s-2]+" "+o[s-1]+" "+o[s];break;case 44:case 46:this.$=o[s-3]+" "+o[s-2]+" "+o[s-1]+" "+o[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:17,12:n,13:r,14:i,15:a,16:c,17:m,18:Y,19:18,20:C,21:p,22:L,23:_,24:S,25:B,26:A,27:U,28:I,29:N,30:W,31:q,33:j,35:k,36:g,37:24,38:y,40:h},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:a,16:c,17:m,18:Y,19:18,20:C,21:p,22:L,23:_,24:S,25:B,26:A,27:U,28:I,29:N,30:W,31:q,33:j,35:k,36:g,37:24,38:y,40:h},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:d(function(u,f){if(f.recoverable)this.trace(u);else{var x=new Error(u);throw x.hash=f,x}},"parseError"),parse:d(function(u){var f=this,x=[0],b=[],F=[null],o=[],X=this.table,s="",E=0,z=0,V=2,P=1,K=o.slice.call(arguments,1),O=Object.create(this.lexer),st={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(st.yy[M]=this.yy[M]);O.setInput(u,st.yy),st.yy.lexer=O,st.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var H=O.yylloc;o.push(H);var R=O.options&&O.options.ranges;typeof st.yy.parseError=="function"?this.parseError=st.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function l(ot){x.length=x.length-2*ot,F.length=F.length-ot,o.length=o.length-ot}d(l,"popStack");function J(){var ot;return ot=b.pop()||O.lex()||P,typeof ot!="number"&&(ot instanceof Array&&(b=ot,ot=b.pop()),ot=f.symbols_[ot]||ot),ot}d(J,"lex");for(var $,Q,G,it,at={},pt,ut,He,Bt;;){if(Q=x[x.length-1],this.defaultActions[Q]?G=this.defaultActions[Q]:(($===null||typeof $>"u")&&($=J()),G=X[Q]&&X[Q][$]),typeof G>"u"||!G.length||!G[0]){var ce="";Bt=[];for(pt in X[Q])this.terminals_[pt]&&pt>V&&Bt.push("'"+this.terminals_[pt]+"'");O.showPosition?ce="Parse error on line "+(E+1)+`: +`+O.showPosition()+` +Expecting `+Bt.join(", ")+", got '"+(this.terminals_[$]||$)+"'":ce="Parse error on line "+(E+1)+": Unexpected "+($==P?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError(ce,{text:O.match,token:this.terminals_[$]||$,line:O.yylineno,loc:H,expected:Bt})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+$);switch(G[0]){case 1:x.push($),F.push(O.yytext),o.push(O.yylloc),x.push(G[1]),$=null,z=O.yyleng,s=O.yytext,E=O.yylineno,H=O.yylloc;break;case 2:if(ut=this.productions_[G[1]][1],at.$=F[F.length-ut],at._$={first_line:o[o.length-(ut||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(ut||1)].first_column,last_column:o[o.length-1].last_column},R&&(at._$.range=[o[o.length-(ut||1)].range[0],o[o.length-1].range[1]]),it=this.performAction.apply(at,[s,z,E,st.yy,G[1],F,o].concat(K)),typeof it<"u")return it;ut&&(x=x.slice(0,-1*ut*2),F=F.slice(0,-1*ut),o=o.slice(0,-1*ut)),x.push(this.productions_[G[1]][0]),F.push(at.$),o.push(at._$),He=X[x[x.length-2]][x[x.length-1]],x.push(He);break;case 3:return!0}}return!0},"parse")},w=(function(){var v={EOF:1,parseError:d(function(f,x){if(this.yy.parser)this.yy.parser.parseError(f,x);else throw new Error(f)},"parseError"),setInput:d(function(u,f){return this.yy=f||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:d(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var f=u.match(/(?:\r\n?|\n).*/g);return f?(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:d(function(u){var f=u.length,x=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-f),this.offset-=f;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),x.length-1&&(this.yylineno-=x.length-1);var F=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:x?(x.length===b.length?this.yylloc.first_column:0)+b[b.length-x.length].length-x[0].length:this.yylloc.first_column-f},this.options.ranges&&(this.yylloc.range=[F[0],F[0]+this.yyleng-f]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(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:d(function(u){this.unput(this.match.slice(u))},"less"),pastInput:d(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:d(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:d(function(){var u=this.pastInput(),f=new Array(u.length+1).join("-");return u+this.upcomingInput()+` +`+f+"^"},"showPosition"),test_match:d(function(u,f){var x,b,F;if(this.options.backtrack_lexer&&(F={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(F.yylloc.range=this.yylloc.range.slice(0))),b=u[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+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],x=this.performAction.call(this,this.yy,this,f,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),x)return x;if(this._backtrack){for(var o in F)this[o]=F[o];return!1}return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,f,x,b;this._more||(this.yytext="",this.match="");for(var F=this._currentRules(),o=0;of[0].length)){if(f=x,b=o,this.options.backtrack_lexer){if(u=this.test_match(x,F[o]),u!==!1)return u;if(this._backtrack){f=!1;continue}else return!1}else if(!this.options.flex)break}return f?(u=this.test_match(f,F[b]),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:d(function(){var f=this.next();return f||this.lex()},"lex"),begin:d(function(f){this.conditionStack.push(f)},"begin"),popState:d(function(){var f=this.conditionStack.length-1;return f>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(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:d(function(f){return f=this.conditionStack.length-1-Math.abs(f||0),f>=0?this.conditionStack[f]:"INITIAL"},"topState"),pushState:d(function(f){this.begin(f)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:d(function(f,x,b,F){switch(b){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return v})();D.lexer=w;function T(){this.yy={}}return d(T,"Parser"),T.prototype=D,D.Parser=T,new T})();we.parser=we;var ji=we;rt.extend($i);rt.extend(Pi);rt.extend(qi);var rn={friday:5,saturday:6},lt="",Ye="",Fe=void 0,Ue="",Vt=[],zt=[],Ee=new Map,Ie=[],se=[],Lt="",Le="",Yn=["active","done","crit","milestone","vert"],Ae=[],_t="",qt=!1,We=!1,$e="sunday",ae="saturday",De=0,Qi=d(function(){Ie=[],se=[],Lt="",Ae=[],te=0,Ce=void 0,ee=void 0,tt=[],lt="",Ye="",Le="",Fe=void 0,Ue="",Vt=[],zt=[],qt=!1,We=!1,De=0,Ee=new Map,_t="",Xn(),$e="sunday",ae="saturday"},"clear"),Ji=d(function(t){_t=t},"setDiagramId"),Ki=d(function(t){Ye=t},"setAxisFormat"),ts=d(function(){return Ye},"getAxisFormat"),es=d(function(t){Fe=t},"setTickInterval"),ns=d(function(){return Fe},"getTickInterval"),rs=d(function(t){Ue=t},"setTodayMarker"),is=d(function(){return Ue},"getTodayMarker"),ss=d(function(t){lt=t},"setDateFormat"),as=d(function(){qt=!0},"enableInclusiveEndDates"),os=d(function(){return qt},"endDatesAreInclusive"),cs=d(function(){We=!0},"enableTopAxis"),us=d(function(){return We},"topAxisEnabled"),ls=d(function(t){Le=t},"setDisplayMode"),fs=d(function(){return Le},"getDisplayMode"),ds=d(function(){return lt},"getDateFormat"),hs=d(function(t){Vt=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),ms=d(function(){return Vt},"getIncludes"),gs=d(function(t){zt=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),ys=d(function(){return zt},"getExcludes"),ks=d(function(){return Ee},"getLinks"),ps=d(function(t){Lt=t,Ie.push(t)},"addSection"),vs=d(function(){return Ie},"getSections"),Ts=d(function(){let t=sn();const e=10;let n=0;for(;!t&&nm))throw new Error("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.");t=t.add(1,"d")}return[e,c]},"fixTaskDates"),Me=d(function(t,e,n){if(n=n.trim(),d(m=>{const Y=m.trim();return Y==="x"||Y==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(n))return new Date(Number(n));const a=/^after\s+(?[\d\w- ]+)/.exec(n);if(a!==null){let m=null;for(const C of a.groups.ids.split(" ")){let p=Ct(C);p!==void 0&&(!m||p.endTime>m.endTime)&&(m=p)}if(m)return m.endTime;const Y=new Date;return Y.setHours(0,0,0,0),Y}let c=rt(n,e.trim(),!0);if(c.isValid())return c.toDate();{Tt.debug("Invalid date:"+n),Tt.debug("With date format:"+e.trim());const m=new Date(n);if(m===void 0||isNaN(m.getTime())||m.getFullYear()<-1e4||m.getFullYear()>1e4)throw new Error("Invalid date:"+n);return m}},"getStartDate"),En=d(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),In=d(function(t,e,n,r=!1){n=n.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(n);if(a!==null){let p=null;for(const _ of a.groups.ids.split(" ")){let S=Ct(_);S!==void 0&&(!p||S.startTime{window.open(n,"_self")}),Ee.set(r,n))}),An(t,"clickable")},"setLink"),An=d(function(t,e){t.split(",").forEach(function(n){let r=Ct(n);r!==void 0&&r.classes.push(e)})},"setClass"),Fs=d(function(t,e,n){if(Yt().securityLevel!=="loose"||e===void 0)return;let r=[];if(typeof n=="string"){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Gn.runFunc(e,...r)})},"setClickFun"),Wn=d(function(t,e){Ae.push(function(){const n=_t?`${_t}-${t}`:t,r=document.querySelector(`[id="${n}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){const n=_t?`${_t}-${t}`:t,r=document.querySelector(`[id="${n}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),Us=d(function(t,e,n){t.split(",").forEach(function(r){Fs(r,e,n)}),An(t,"clickable")},"setClickEvent"),Es=d(function(t){Ae.forEach(function(e){e(t)})},"bindFunctions"),Is={getConfig:d(()=>Yt().gantt,"getConfig"),clear:Qi,setDateFormat:ss,getDateFormat:ds,enableInclusiveEndDates:as,endDatesAreInclusive:os,enableTopAxis:cs,topAxisEnabled:us,setAxisFormat:Ki,getAxisFormat:ts,setTickInterval:es,getTickInterval:ns,setTodayMarker:rs,getTodayMarker:is,setAccTitle:zn,getAccTitle:Vn,setDiagramTitle:Rn,getDiagramTitle:Pn,setDiagramId:Ji,setDisplayMode:ls,getDisplayMode:fs,setAccDescription:Nn,getAccDescription:Hn,addSection:ps,getSections:vs,getTasks:Ts,addTask:Ss,findTaskById:Ct,addTaskOrg:_s,setIncludes:hs,getIncludes:ms,setExcludes:gs,getExcludes:ys,setClickEvent:Us,setLink:Ys,getLinks:ks,bindFunctions:Es,parseDuration:En,isInvalidDate:Fn,setWeekday:xs,getWeekday:bs,setWeekend:ws};function Oe(t,e,n){let r=!0;for(;r;)r=!1,n.forEach(function(i){const a="^\\s*"+i+"\\s*$",c=new RegExp(a);t[0].match(c)&&(e[i]=!0,t.shift(1),r=!0)})}d(Oe,"getTaskTags");rt.extend(Gi);var Ls=d(function(){Tt.debug("Something is calling, setConf, remove the call")},"setConf"),an={monday:Nt,tuesday:vn,wednesday:Tn,thursday:bt,friday:xn,saturday:bn,sunday:Rt},As=d((t,e)=>{let n=[...t].map(()=>-1/0),r=[...t].sort((a,c)=>a.startTime-c.startTime||a.order-c.order),i=0;for(const a of r)for(let c=0;c=n[c]){n[c]=a.endTime,a.order=c+e,c>i&&(i=c);break}return i},"getMaxIntersections"),dt,Te=1e4,Ws=d(function(t,e,n,r){const i=Yt().gantt;r.db.setDiagramId(e);const a=Yt().securityLevel;let c;a==="sandbox"&&(c=Zt("#i"+e));const m=a==="sandbox"?Zt(c.nodes()[0].contentDocument.body):Zt("body"),Y=a==="sandbox"?c.nodes()[0].contentDocument:document,C=Y.getElementById(e);dt=C.parentElement.offsetWidth,dt===void 0&&(dt=1200),i.useWidth!==void 0&&(dt=i.useWidth);const p=r.db.getTasks();let L=[];for(const h of p)L.push(h.type);L=y(L);const _={};let S=2*i.topPadding;if(r.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const h={};for(const w of p)h[w.section]===void 0?h[w.section]=[w]:h[w.section].push(w);let D=0;for(const w of Object.keys(h)){const T=As(h[w],D)+1;D+=T,S+=T*(i.barHeight+i.barGap),_[w]=T}}else{S+=p.length*(i.barHeight+i.barGap);for(const h of L)_[h]=p.filter(D=>D.type===h).length}C.setAttribute("viewBox","0 0 "+dt+" "+S);const B=m.select(`[id="${e}"]`),A=Ii().domain([nr(p,function(h){return h.startTime}),er(p,function(h){return h.endTime})]).rangeRound([0,dt-i.leftPadding-i.rightPadding]);function U(h,D){const w=h.startTime,T=D.startTime;let v=0;return w>T?v=1:ws.vert===E.vert?0:s.vert?1:-1);const b=[...new Set(h.map(s=>s.order))].map(s=>h.find(E=>E.order===s));B.append("g").selectAll("rect").data(b).enter().append("rect").attr("x",0).attr("y",function(s,E){return E=s.order,E*D+w-2}).attr("width",function(){return f-i.rightPadding/2}).attr("height",D).attr("class",function(s){for(const[E,z]of L.entries())if(s.type===z)return"section section"+E%i.numberSectionStyles;return"section section0"}).enter();const F=B.append("g").selectAll("rect").data(h).enter(),o=r.db.getLinks();if(F.append("rect").attr("id",function(s){return e+"-"+s.id}).attr("rx",3).attr("ry",3).attr("x",function(s){return s.milestone?A(s.startTime)+T+.5*(A(s.endTime)-A(s.startTime))-.5*v:A(s.startTime)+T}).attr("y",function(s,E){return E=s.order,s.vert?i.gridLineStartPadding:E*D+w}).attr("width",function(s){return s.milestone?v:s.vert?.08*v:A(s.renderEndTime||s.endTime)-A(s.startTime)}).attr("height",function(s){return s.vert?p.length*(i.barHeight+i.barGap)+i.barHeight*2:v}).attr("transform-origin",function(s,E){return E=s.order,(A(s.startTime)+T+.5*(A(s.endTime)-A(s.startTime))).toString()+"px "+(E*D+w+.5*v).toString()+"px"}).attr("class",function(s){const E="task";let z="";s.classes.length>0&&(z=s.classes.join(" "));let V=0;for(const[K,O]of L.entries())s.type===O&&(V=K%i.numberSectionStyles);let P="";return s.active?s.crit?P+=" activeCrit":P=" active":s.done?s.crit?P=" doneCrit":P=" done":s.crit&&(P+=" crit"),P.length===0&&(P=" task"),s.milestone&&(P=" milestone "+P),s.vert&&(P=" vert "+P),P+=V,P+=" "+z,E+P}),F.append("text").attr("id",function(s){return e+"-"+s.id+"-text"}).text(function(s){return s.task}).attr("font-size",i.fontSize).attr("x",function(s){let E=A(s.startTime),z=A(s.renderEndTime||s.endTime);if(s.milestone&&(E+=.5*(A(s.endTime)-A(s.startTime))-.5*v,z=E+v),s.vert)return A(s.startTime)+T;const V=this.getBBox().width;return V>z-E?z+V+1.5*i.leftPadding>f?E+T-5:z+T+5:(z-E)/2+E+T}).attr("y",function(s,E){return s.vert?i.gridLineStartPadding+p.length*(i.barHeight+i.barGap)+60:(E=s.order,E*D+i.barHeight/2+(i.fontSize/2-2)+w)}).attr("text-height",v).attr("class",function(s){const E=A(s.startTime);let z=A(s.endTime);s.milestone&&(z=E+v);const V=this.getBBox().width;let P="";s.classes.length>0&&(P=s.classes.join(" "));let K=0;for(const[st,M]of L.entries())s.type===M&&(K=st%i.numberSectionStyles);let O="";return s.active&&(s.crit?O="activeCritText"+K:O="activeText"+K),s.done?s.crit?O=O+" doneCritText"+K:O=O+" doneText"+K:s.crit&&(O=O+" critText"+K),s.milestone&&(O+=" milestoneText"),s.vert&&(O+=" vertText"),V>z-E?z+V+1.5*i.leftPadding>f?P+" taskTextOutsideLeft taskTextOutside"+K+" "+O:P+" taskTextOutsideRight taskTextOutside"+K+" "+O+" width-"+V:P+" taskText taskText"+K+" "+O+" width-"+V}),Yt().securityLevel==="sandbox"){let s;s=Zt("#i"+e);const E=s.nodes()[0].contentDocument;F.filter(function(z){return o.has(z.id)}).each(function(z){var V=E.querySelector("#"+CSS.escape(e+"-"+z.id)),P=E.querySelector("#"+CSS.escape(e+"-"+z.id+"-text"));const K=V.parentNode;var O=E.createElement("a");O.setAttribute("xlink:href",o.get(z.id)),O.setAttribute("target","_top"),K.appendChild(O),O.appendChild(V),O.appendChild(P)})}}d(N,"drawRects");function W(h,D,w,T,v,u,f,x){if(f.length===0&&x.length===0)return;let b,F;for(const{startTime:V,endTime:P}of u)(b===void 0||VF)&&(F=P);if(!b||!F)return;if(rt(F).diff(rt(b),"year")>5){Tt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const o=r.db.getDateFormat(),X=[];let s=null,E=rt(b);for(;E.valueOf()<=F;)r.db.isInvalidDate(E,o,f,x)?s?s.end=E:s={start:E,end:E}:s&&(X.push(s),s=null),E=E.add(1,"d");B.append("g").selectAll("rect").data(X).enter().append("rect").attr("id",V=>e+"-exclude-"+V.start.format("YYYY-MM-DD")).attr("x",V=>A(V.start.startOf("day"))+w).attr("y",i.gridLineStartPadding).attr("width",V=>A(V.end.endOf("day"))-A(V.start.startOf("day"))).attr("height",v-D-i.gridLineStartPadding).attr("transform-origin",function(V,P){return(A(V.start)+w+.5*(A(V.end)-A(V.start))).toString()+"px "+(P*h+.5*v).toString()+"px"}).attr("class","exclude-range")}d(W,"drawExcludeDays");function q(h,D,w,T){if(w<=0||h>D)return 1/0;const v=D-h,u=rt.duration({[T??"day"]:w}).asMilliseconds();return u<=0?1/0:Math.ceil(v/u)}d(q,"getEstimatedTickCount");function j(h,D,w,T){const v=r.db.getDateFormat(),u=r.db.getAxisFormat();let f;u?f=u:v==="D"?f="%d":f=i.axisFormat??"%Y-%m-%d";let x=lr(A).tickSize(-T+D+i.gridLineStartPadding).tickFormat(ie(f));const F=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||i.tickInterval);if(F!==null){const o=parseInt(F[1],10);if(isNaN(o)||o<=0)Tt.warn(`Invalid tick interval value: "${F[1]}". Skipping custom tick interval.`);else{const X=F[2],s=r.db.getWeekday()||i.weekday,E=A.domain(),z=E[0],V=E[1],P=q(z,V,o,X);if(P>Te)Tt.warn(`The tick interval "${o}${X}" would generate ${P} ticks, which exceeds the maximum allowed (${Te}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(X){case"millisecond":x.ticks(Et.every(o));break;case"second":x.ticks(vt.every(o));break;case"minute":x.ticks(Ot.every(o));break;case"hour":x.ticks(Ht.every(o));break;case"day":x.ticks(xt.every(o));break;case"week":x.ticks(an[s].every(o));break;case"month":x.ticks(Pt.every(o));break}}}if(B.append("g").attr("class","grid").attr("transform","translate("+h+", "+(T-50)+")").call(x).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||i.topAxis){let o=ur(A).tickSize(-T+D+i.gridLineStartPadding).tickFormat(ie(f));if(F!==null){const X=parseInt(F[1],10);if(isNaN(X)||X<=0)Tt.warn(`Invalid tick interval value: "${F[1]}". Skipping custom tick interval.`);else{const s=F[2],E=r.db.getWeekday()||i.weekday,z=A.domain(),V=z[0],P=z[1];if(q(V,P,X,s)<=Te)switch(s){case"millisecond":o.ticks(Et.every(X));break;case"second":o.ticks(vt.every(X));break;case"minute":o.ticks(Ot.every(X));break;case"hour":o.ticks(Ht.every(X));break;case"day":o.ticks(xt.every(X));break;case"week":o.ticks(an[E].every(X));break;case"month":o.ticks(Pt.every(X));break}}}B.append("g").attr("class","grid").attr("transform","translate("+h+", "+D+")").call(o).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}d(j,"makeGrid");function k(h,D){let w=0;const T=Object.keys(_).map(v=>[v,_[v]]);B.append("g").selectAll("text").data(T).enter().append(function(v){const u=v[0].split(Bn.lineBreakRegex),f=-(u.length-1)/2,x=Y.createElementNS("http://www.w3.org/2000/svg","text");x.setAttribute("dy",f+"em");for(const[b,F]of u.entries()){const o=Y.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttribute("alignment-baseline","central"),o.setAttribute("x","10"),b>0&&o.setAttribute("dy","1em"),o.textContent=F,x.appendChild(o)}return x}).attr("x",10).attr("y",function(v,u){if(u>0)for(let f=0;f` + .mermaid-main-font { + font-family: ${t.fontFamily}; + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: ${t.fontFamily}; + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + /* Done task text displayed outside the bar sits against the diagram background, + not against the done-task bar, so it must use the outside/contrast color. */ + .doneText0.taskTextOutsideLeft, + .doneText0.taskTextOutsideRight, + .doneText1.taskTextOutsideLeft, + .doneText1.taskTextOutsideRight, + .doneText2.taskTextOutsideLeft, + .doneText2.taskTextOutsideRight, + .doneText3.taskTextOutsideLeft, + .doneText3.taskTextOutsideRight { + fill: ${t.taskTextOutsideColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + /* Done-crit task text outside the bar — same reasoning as doneText above. */ + .doneCritText0.taskTextOutsideLeft, + .doneCritText0.taskTextOutsideRight, + .doneCritText1.taskTextOutsideLeft, + .doneCritText1.taskTextOutsideRight, + .doneCritText2.taskTextOutsideLeft, + .doneCritText2.taskTextOutsideRight, + .doneCritText3.taskTextOutsideLeft, + .doneCritText3.taskTextOutsideRight { + fill: ${t.taskTextOutsideColor} !important; + } + + .vert { + stroke: ${t.vertLineColor}; + } + + .vertText { + font-size: 15px; + text-anchor: middle; + fill: ${t.vertLineColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor||t.textColor}; + font-family: ${t.fontFamily}; + } +`,"getStyles"),Hs=Os,qs={parser:ji,db:Is,renderer:$s,styles:Hs};export{qs as diagram}; diff --git a/_astro/gitGraphDiagram-PVQCEYII.DyQn-qRf.js b/_astro/gitGraphDiagram-PVQCEYII.DyQn-qRf.js new file mode 100644 index 0000000..895cef0 --- /dev/null +++ b/_astro/gitGraphDiagram-PVQCEYII.DyQn-qRf.js @@ -0,0 +1,106 @@ +import{p as le}from"./chunk-4BX2VUAB.Bj_lmsp3.js";import{I as he}from"./chunk-QZHKN3VN.BmpnJiq_.js";import{q as $e,p as fe,s as ge,g as ue,a as ye,b as xe,_ as h,D as J,l as w,d as me,c as W,u as pe,E as be,z as we,k as B,F as ke,G as ve,H as Ce}from"./mermaid.core.Ci_VGkOG.js";import{p as Ee}from"./wardley-L42UT6IY.BVigPHyG.js";import"./preload-helper.DK3iz7C1.js";var m={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Be=ve.gitGraph,S=h(()=>ke({...Be,...J().gitGraph}),"getConfig"),d=new he(()=>{const e=S(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function Y(){return Ce({length:7})}h(Y,"getID");function te(e,r){const t=Object.create(null);return e.reduce((s,o)=>{const i=r(o);return t[i]||(t[i]=!0,s.push(o)),s},[])}h(te,"uniqBy");var Te=h(function(e){d.records.direction=e},"setDirection"),Le=h(function(e){w.debug("options str",e),e=e?.trim(),e=e||"{}";try{d.records.options=JSON.parse(e)}catch(r){w.error("error while parsing gitGraph options",r.message)}},"setOptions"),Me=h(function(){return d.records.options},"getOptions"),Re=h(function(e){let r=e.msg,t=e.id;const s=e.type;let o=e.tags;w.info("commit",r,t,s,o),w.debug("Entering commit:",r,t,s,o);const i=S();t=B.sanitizeText(t,i),r=B.sanitizeText(r,i),o=o?.map(a=>B.sanitizeText(a,i));const n={id:t||d.records.seq+"-"+Y(),message:r,seq:d.records.seq++,type:s??m.NORMAL,tags:o??[],parents:d.records.head==null?[]:[d.records.head.id],branch:d.records.currBranch};d.records.head=n,w.info("main branch",i.mainBranchName),d.records.commits.has(n.id)&&w.warn(`Commit ID ${n.id} already exists`),d.records.commits.set(n.id,n),d.records.branches.set(d.records.currBranch,n.id),w.debug("in pushCommit "+n.id)},"commit"),Ie=h(function(e){let r=e.name;const t=e.order;if(r=B.sanitizeText(r,S()),d.records.branches.has(r))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 ${r}")`);d.records.branches.set(r,d.records.head!=null?d.records.head.id:null),d.records.branchConfig.set(r,{name:r,order:t}),ae(r),w.debug("in createBranch")},"branch"),Oe=h(e=>{let r=e.branch,t=e.id;const s=e.type,o=e.tags,i=S();r=B.sanitizeText(r,i),t&&(t=B.sanitizeText(t,i));const n=d.records.branches.get(d.records.currBranch),a=d.records.branches.get(r),l=n?d.records.commits.get(n):void 0,f=a?d.records.commits.get(a):void 0;if(l&&f&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(d.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${d.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!d.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(f===void 0||!f){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===f){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&d.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${s} ${o?.join(" ")}`,token:`merge ${r} ${t} ${s} ${o?.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${s} ${o?.join(" ")}`]},c}const g=a||"",$={id:t||`${d.records.seq}-${Y()}`,message:`merged branch ${r} into ${d.records.currBranch}`,seq:d.records.seq++,parents:d.records.head==null?[]:[d.records.head.id,g],branch:d.records.currBranch,type:m.MERGE,customType:s,customId:!!t,tags:o??[]};d.records.head=$,d.records.commits.set($.id,$),d.records.branches.set(d.records.currBranch,$.id),w.debug(d.records.branches),w.debug("in mergeBranch")},"merge"),_e=h(function(e){let r=e.id,t=e.targetId,s=e.tags,o=e.parent;w.debug("Entering cherryPick:",r,t,s);const i=S();if(r=B.sanitizeText(r,i),t=B.sanitizeText(t,i),s=s?.map(l=>B.sanitizeText(l,i)),o=B.sanitizeText(o,i),!r||!d.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=d.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(o&&!(Array.isArray(n.parents)&&n.parents.includes(o)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===m.MERGE&&!o)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!d.records.commits.has(t)){if(a===d.records.currBranch){const $=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw $.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},$}const l=d.records.branches.get(d.records.currBranch);if(l===void 0||!l){const $=new Error(`Incorrect usage of "cherry-pick". Current branch (${d.records.currBranch})has no commits`);throw $.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},$}const f=d.records.commits.get(l);if(f===void 0||!f){const $=new Error(`Incorrect usage of "cherry-pick". Current branch (${d.records.currBranch})has no commits`);throw $.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},$}const g={id:d.records.seq+"-"+Y(),message:`cherry-picked ${n?.message} into ${d.records.currBranch}`,seq:d.records.seq++,parents:d.records.head==null?[]:[d.records.head.id,n.id],branch:d.records.currBranch,type:m.CHERRY_PICK,tags:s?s.filter(Boolean):[`cherry-pick:${n.id}${n.type===m.MERGE?`|parent:${o}`:""}`]};d.records.head=g,d.records.commits.set(g.id,g),d.records.branches.set(d.records.currBranch,g.id),w.debug(d.records.branches),w.debug("in cherryPick")}},"cherryPick"),ae=h(function(e){if(e=B.sanitizeText(e,S()),d.records.branches.has(e)){d.records.currBranch=e;const r=d.records.branches.get(d.records.currBranch);r===void 0||!r?d.records.head=null:d.records.head=d.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function V(e,r,t){const s=e.indexOf(r);s===-1?e.push(t):e.splice(s,1,t)}h(V,"upsert");function Q(e){const r=e.reduce((o,i)=>o.seq>i.seq?o:i,e[0]);let t="";e.forEach(function(o){o===r?t+=" *":t+=" |"});const s=[t,r.id,r.seq];for(const o in d.records.branches)d.records.branches.get(o)===r.id&&s.push(o);if(w.debug(s.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const o=d.records.commits.get(r.parents[0]);V(e,r,o),r.parents[1]&&e.push(d.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const o=d.records.commits.get(r.parents[0]);V(e,r,o)}}e=te(e,o=>o.id),Q(e)}h(Q,"prettyPrintCommitHistory");var Ge=h(function(){w.debug(d.records.commits);const e=ne()[0];Q([e])},"prettyPrint"),He=h(function(){d.reset(),we()},"clear"),Se=h(function(){return[...d.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Ae=h(function(){return d.records.branches},"getBranches"),De=h(function(){return d.records.commits},"getCommits"),ne=h(function(){const e=[...d.records.commits.values()];return e.forEach(function(r){w.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),qe=h(function(){return d.records.currBranch},"getCurrentBranch"),Pe=h(function(){return d.records.direction},"getDirection"),We=h(function(){return d.records.head},"getHead"),se={commitType:m,getConfig:S,setDirection:Te,setOptions:Le,getOptions:Me,commit:Re,branch:Ie,merge:Oe,cherryPick:_e,checkout:ae,prettyPrint:Ge,clear:He,getBranchesAsObjArray:Se,getBranches:Ae,getCommits:De,getCommitsArray:ne,getCurrentBranch:qe,getDirection:Pe,getHead:We,setAccTitle:xe,getAccTitle:ye,getAccDescription:ue,setAccDescription:ge,setDiagramTitle:fe,getDiagramTitle:$e},Ne=h((e,r)=>{le(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)Fe(t,r)},"populate"),Fe=h((e,r)=>{const s={Commit:h(o=>r.commit(ze(o)),"Commit"),Branch:h(o=>r.branch(Ye(o)),"Branch"),Merge:h(o=>r.merge(je(o)),"Merge"),Checkout:h(o=>r.checkout(Ue(o)),"Checkout"),CherryPicking:h(o=>r.cherryPick(Ke(o)),"CherryPicking")}[e.$type];s?s(e):w.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),ze=h(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?m[e.type]:m.NORMAL,tags:e.tags??void 0}),"parseCommit"),Ye=h(e=>({name:e.name,order:e.order??0}),"parseBranch"),je=h(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?m[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ue=h(e=>e.branch,"parseCheckout"),Ke=h(e=>({id:e.id,targetId:"",tags:e.tags?.length===0?void 0:e.tags,parent:e.parent}),"parseCherryPicking"),Ve={parse:h(async e=>{const r=await Ee("gitGraph",e);w.debug(r),Ne(r,se)},"parse")},O=10,_=40,L=4,R=2,G=8,j=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),X=12,Z=new Set(["redux-color","redux-dark-color"]),Xe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),H=h((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),C=new Map,E=new Map,F=30,q=new Map,z=[],I=0,y="LR",Je=h(()=>{C.clear(),E.clear(),q.clear(),I=0,z=[],y="LR"},"clear"),oe=h(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(s=>{const o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),o.setAttribute("dy","1em"),o.setAttribute("x","0"),o.setAttribute("class","row"),o.textContent=s.trim(),r.appendChild(o)}),r},"drawText"),ce=h(e=>{let r,t,s;return y==="BT"?(t=h((o,i)=>o<=i,"comparisonFunc"),s=1/0):(t=h((o,i)=>o>=i,"comparisonFunc"),s=0),e.forEach(o=>{const i=y==="TB"||y=="BT"?E.get(o)?.y:E.get(o)?.x;i!==void 0&&t(i,s)&&(r=o,s=i)}),r},"findClosestParent"),Qe=h(e=>{let r="",t=1/0;return e.forEach(s=>{const o=E.get(s).y;o<=t&&(r=s,t=o)}),r||void 0},"findClosestParentBT"),Ze=h((e,r,t)=>{let s=t,o=t;const i=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(s=rr(a),o=Math.max(s,o)):i.push(a),tr(a,s)}),s=o,i.forEach(n=>{ar(n,s,t)}),e.forEach(n=>{const a=r.get(n);if(a?.parents.length){const l=Qe(a.parents);s=E.get(l).y-_,s<=o&&(o=s);const f=C.get(a.branch).pos,g=s-O;E.set(a.id,{x:f,y:g})}})},"setParallelBTPos"),er=h(e=>{const r=ce(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=E.get(r)?.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),rr=h(e=>er(e)+_,"calculateCommitPosition"),tr=h((e,r)=>{const t=C.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const s=t.pos,o=r+O;return E.set(e.id,{x:s,y:o}),{x:s,y:o}},"setCommitPosition"),ar=h((e,r,t)=>{const s=C.get(e.branch);if(!s)throw new Error(`Branch not found for commit ${e.id}`);const o=r+t,i=s.pos;E.set(e.id,{x:i,y:o})},"setRootPosition"),nr=h((e,r,t,s,o,i)=>{const{theme:n}=W(),a=j.has(n??""),l=Z.has(n??""),f=Xe.has(n??"");if(i===m.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${H(o,G,l)} ${s}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${H(o,G,l)} ${s}-inner`);else if(i===m.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${s}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",f?"#000000":"#fff").attr("class",`commit ${r.id} ${s}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",f?"#000000":"#fff").attr("class",`commit ${r.id} ${s}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",f?"#000000":"#fff").attr("class",`commit ${r.id} ${s}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",f?"#000000":"#fff").attr("class",`commit ${r.id} ${s}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${H(o,G,l)}`),i===m.MERGE){const $=e.append("circle");$.attr("cx",t.x),$.attr("cy",t.y),$.attr("r",a?5:6),$.attr("class",`commit ${s} ${r.id} commit${H(o,G,l)}`)}if(i===m.REVERSE){const $=e.append("path"),c=a?4:5;$.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${s} ${r.id} commit${H(o,G,l)}`)}}},"drawCommitBullet"),sr=h((e,r,t,s,o)=>{if(r.type!==m.CHERRY_PICK&&(r.customId&&r.type===m.MERGE||r.type!==m.MERGE)&&o.showCommitLabel){const i=e.append("g"),n=i.insert("rect").attr("class","commit-label-bkg"),a=i.append("text").attr("x",s).attr("y",t.y+25).attr("class","commit-label").text(r.id),l=a.node()?.getBBox();if(l&&(n.attr("x",t.posWithOffset-l.width/2-R).attr("y",t.y+13.5).attr("width",l.width+2*R).attr("height",l.height+2*R),y==="TB"||y==="BT"?(n.attr("x",t.x-(l.width+4*L+5)).attr("y",t.y-12),a.attr("x",t.x-(l.width+4*L)).attr("y",t.y+l.height-12)):a.attr("x",t.posWithOffset-l.width/2),o.rotateCommitLabel))if(y==="TB"||y==="BT")a.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),n.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const f=-7.5-(l.width+10)/25*9.5,g=10+l.width/25*8.5;i.attr("transform","translate("+f+", "+g+") rotate(-45, "+s+", "+t.y+")")}}},"drawCommitLabel"),or=h((e,r,t,s)=>{if(r.tags.length>0){let o=0,i=0,n=0;const a=[];for(const l of r.tags.reverse()){const f=e.insert("polygon"),g=e.append("circle"),$=e.append("text").attr("y",t.y-16-o).attr("class","tag-label").text(l),c=$.node()?.getBBox();if(!c)throw new Error("Tag bbox not found");i=Math.max(i,c.width),n=Math.max(n,c.height),$.attr("x",t.posWithOffset-c.width/2),a.push({tag:$,hole:g,rect:f,yOffset:o}),o+=20}for(const{tag:l,hole:f,rect:g,yOffset:$}of a){const c=n/2,x=t.y-19.2-$;if(g.attr("class","tag-label-bkg").attr("points",` + ${s-i/2-L/2},${x+R} + ${s-i/2-L/2},${x-R} + ${t.posWithOffset-i/2-L},${x-c-R} + ${t.posWithOffset+i/2+L},${x-c-R} + ${t.posWithOffset+i/2+L},${x+c+R} + ${t.posWithOffset-i/2-L},${x+c+R}`),f.attr("cy",x).attr("cx",s-i/2+L/2).attr("r",1.5).attr("class","tag-hole"),y==="TB"||y==="BT"){const u=s+$;g.attr("class","tag-label-bkg").attr("points",` + ${t.x},${u+2} + ${t.x},${u-2} + ${t.x+O},${u-c-2} + ${t.x+O+i+4},${u-c-2} + ${t.x+O+i+4},${u+c+2} + ${t.x+O},${u+c+2}`).attr("transform","translate(12,12) rotate(45, "+t.x+","+s+")"),f.attr("cx",t.x+L/2).attr("cy",u).attr("transform","translate(12,12) rotate(45, "+t.x+","+s+")"),l.attr("x",t.x+5).attr("y",u+3).attr("transform","translate(14,14) rotate(45, "+t.x+","+s+")")}}}},"drawCommitTags"),cr=h(e=>{switch(e.customType??e.type){case m.NORMAL:return"commit-normal";case m.REVERSE:return"commit-reverse";case m.HIGHLIGHT:return"commit-highlight";case m.MERGE:return"commit-merge";case m.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),ir=h((e,r,t,s)=>{const o={x:0,y:0};if(e.parents.length>0){const i=ce(e.parents);if(i){const n=s.get(i)??o;return r==="TB"?n.y+_:r==="BT"?(s.get(e.id)??o).y-_:n.x+_}}else return r==="TB"?F:r==="BT"?(s.get(e.id)??o).y-_:0;return 0},"calculatePosition"),dr=h((e,r,t)=>{const s=y==="BT"&&t?r:r+O,o=C.get(e.branch)?.pos,i=y==="TB"||y==="BT"?C.get(e.branch)?.pos:s;if(i===void 0||o===void 0)throw new Error(`Position were undefined for commit ${e.id}`);const n=j.has(W().theme??""),a=y==="TB"||y==="BT"?s:o+(n?X/2+1:-2);return{x:i,y:a,posWithOffset:s}},"getCommitPosition"),re=h((e,r,t,s)=>{const o=e.append("g").attr("class","commit-bullets"),i=e.append("g").attr("class","commit-labels");let n=y==="TB"||y==="BT"?F:0;const a=[...r.keys()],l=s.parallelCommits??!1,f=h(($,c)=>{const x=r.get($)?.seq,u=r.get(c)?.seq;return x!==void 0&&u!==void 0?x-u:0},"sortKeys");let g=a.sort(f);y==="BT"&&(l&&Ze(g,r,n),g=g.reverse()),g.forEach($=>{const c=r.get($);if(!c)throw new Error(`Commit not found for key ${$}`);l&&(n=ir(c,y,n,E));const x=dr(c,n,l);if(t){const u=cr(c),p=c.customType??c.type,b=C.get(c.branch)?.index??0;nr(o,c,x,u,b,p),sr(i,c,x,n,s),or(i,c,x,n)}y==="TB"||y==="BT"?E.set(c.id,{x:x.x,y:x.posWithOffset}):E.set(c.id,{x:x.posWithOffset,y:x.y}),n=y==="BT"&&l?n+_:n+_+O,n>I&&(I=n)})},"drawCommits"),lr=h((e,r,t,s,o)=>{const n=(y==="TB"||y==="BT"?t.xf.branch===n,"isOnBranchToGetCurve"),l=h(f=>f.seq>e.seq&&f.seql(f)&&a(f))},"shouldRerouteArrow"),P=h((e,r,t=0)=>{const s=e+Math.abs(e-r)/2;if(t>5)return s;if(z.every(n=>Math.abs(n-s)>=10))return z.push(s),s;const i=Math.abs(e-r);return P(e,r-i/5,t+1)},"findLane"),hr=h((e,r,t,s)=>{const{theme:o}=W(),i=Z.has(o??""),n=E.get(r.id),a=E.get(t.id);if(n===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${r.id} and ${t.id}`);const l=lr(r,t,n,a,s);let f="",g="",$=0,c=0,x=C.get(t.branch)?.index;t.type===m.MERGE&&r.id!==t.parents[0]&&(x=C.get(r.branch)?.index);let u;if(l){f="A 10 10, 0, 0, 0,",g="A 10 10, 0, 0, 1,",$=10,c=10;const p=n.ya.x&&(f="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",$=20,c=20,t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y-$} ${g} ${n.x-c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x+$} ${n.y} ${f} ${a.x} ${n.y+c} L ${a.x} ${a.y}`),n.x===a.x&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`)):y==="BT"?(n.xa.x&&(f="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",$=20,c=20,t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y+$} ${f} ${n.x-c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x+$} ${n.y} ${g} ${a.x} ${n.y-c} L ${a.x} ${a.y}`),n.x===a.x&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`)):(n.ya.y&&(t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${a.x-$} ${n.y} ${f} ${a.x} ${n.y-c} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${n.x} ${a.y+$} ${g} ${n.x+c} ${a.y} L ${a.x} ${a.y}`),n.y===a.y&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`));if(u===void 0)throw new Error("Line definition not found");e.append("path").attr("d",u).attr("class","arrow arrow"+H(x,G,i))},"drawArrow"),$r=h((e,r)=>{const t=e.append("g").attr("class","commit-arrows");[...r.keys()].forEach(s=>{const o=r.get(s);o.parents&&o.parents.length>0&&o.parents.forEach(i=>{hr(t,r.get(i),o,r)})})},"drawArrows"),fr=h((e,r,t,s)=>{const{look:o,theme:i,themeVariables:n}=W(),{dropShadow:a,THEME_COLOR_LIMIT:l}=n,f=j.has(i??""),g=Z.has(i??""),$=e.append("g");r.forEach((c,x)=>{const u=H(x,f?l:G,g),p=C.get(c.name)?.pos;if(p===void 0)throw new Error(`Position not found for branch ${c.name}`);const b=y==="TB"||y==="BT"?p:f?p+X/2+1:p-2,k=$.append("line");k.attr("x1",0),k.attr("y1",b),k.attr("x2",I),k.attr("y2",b),k.attr("class","branch branch"+u),y==="TB"?(k.attr("y1",F),k.attr("x1",p),k.attr("y2",I),k.attr("x2",p)):y==="BT"&&(k.attr("y1",I),k.attr("x1",p),k.attr("y2",F),k.attr("x2",p)),z.push(b);const U=c.name,D=oe(U),T=$.insert("rect"),M=$.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+u);M.node().appendChild(D);const v=D.getBBox(),ee=f?0:4,N=f?16:0,A=f?X:0;o==="neo"&&T.attr("data-look","neo"),T.attr("class","branchLabelBkg label"+u).attr("style",o==="neo"?`filter:${f?`url(#${s}-drop-shadow)`:a}`:"").attr("rx",ee).attr("ry",ee).attr("x",-v.width-4-(t.rotateCommitLabel===!0?30:0)).attr("y",-v.height/2+10).attr("width",v.width+18+N).attr("height",v.height+4+A),M.attr("transform","translate("+(-v.width-14-(t.rotateCommitLabel===!0?30:0)+N/2)+", "+(b-v.height/2-2)+")"),y==="TB"?(T.attr("x",p-v.width/2-10).attr("y",0),M.attr("transform","translate("+(p-v.width/2-5)+", 0)"),f&&(T.attr("transform",`translate(${-N/2-3}, ${-A-10})`),M.attr("transform","translate("+(p-v.width/2-5)+", "+(-A*2+7)+")"))):y==="BT"?(T.attr("x",p-v.width/2-10).attr("y",I),M.attr("transform","translate("+(p-v.width/2-5)+", "+I+")"),f&&(T.attr("transform",`translate(${-N/2-3}, ${A+10})`),M.attr("transform","translate("+(p-v.width/2-5)+", "+(I+A*2+4)+")"))):T.attr("transform","translate(-19, "+(b-12-A/2)+")")})},"drawBranches"),gr=h(function(e,r,t,s,o){return C.set(e,{pos:r,index:t}),r+=50+(o?40:0)+(y==="TB"||y==="BT"?s.width/2:0),r},"setBranchPosition"),ur=h(function(e,r,t,s){Je(),w.debug("in gitgraph renderer",e+` +`,"id:",r,t);const o=s.db;if(!o.getConfig){w.error("getConfig method is not available on db");return}const i=o.getConfig(),n=i.rotateCommitLabel??!1;q=o.getCommits();const a=o.getBranchesAsObjArray();y=o.getDirection();const l=me(`[id="${r}"]`),{look:f,theme:g,themeVariables:$}=W(),{useGradient:c,gradientStart:x,gradientStop:u,filterColor:p}=$;if(c){const k=l.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");k.append("stop").attr("offset","0%").attr("stop-color",x).attr("stop-opacity",1),k.append("stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}f==="neo"&&j.has(g??"")&&l.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",p);let b=0;a.forEach((k,U)=>{const D=oe(k.name),T=l.append("g"),K=T.insert("g").attr("class","branchLabel"),M=K.insert("g").attr("class","label branch-label");M.node()?.appendChild(D);const v=D.getBBox();b=gr(k.name,b,U,v,n),M.remove(),K.remove(),T.remove()}),re(l,q,!1,i),i.showBranches&&fr(l,a,i,r),$r(l,q),re(l,q,!0,i),pe.insertTitle(l,"gitTitleText",i.titleTopMargin??0,o.getDiagramTitle()),be(void 0,l,i.diagramPadding,i.useMaxWidth)},"draw"),yr={draw:ur},ie=8,de=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),xr=new Set(["redux-color","redux-dark-color"]),mr=new Set(["neo","neo-dark"]),pr=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),br=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),wr=h(e=>{const{svgId:r}=e;let t="";if(e.useGradient&&r)for(let s=0;s{const r=J(),{theme:t,themeVariables:s}=r,{borderColorArray:o}=s,i=de.has(t);if(mr.has(t)){let n="";for(let a=0;a`${Array.from({length:e.THEME_COLOR_LIMIT},(r,t)=>t).map(r=>{const t=r%ie;return` + .branch-label${r} { fill: ${e["gitBranchLabel"+t]}; } + .commit${r} { stroke: ${e["git"+t]}; fill: ${e["git"+t]}; } + .commit-highlight${r} { stroke: ${e["gitInv"+t]}; fill: ${e["gitInv"+t]}; } + .label${r} { fill: ${e["git"+t]}; } + .arrow${r} { stroke: ${e["git"+t]}; } + `}).join(` +`)}`,"normalTheme"),Cr=h(e=>{const r=J(),{theme:t}=r,s=br.has(t);return` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + + ${s?kr(e):vr(e)} + + .branch { + stroke-width: ${e.strokeWidth}; + stroke: ${e.commitLineColor??e.lineColor}; + stroke-dasharray: ${s?"4 2":"2"}; + } + .commit-label { font-size: ${e.commitLabelFontSize}; fill: ${s?e.nodeBorder:e.commitLabelColor}; ${s?`font-weight:${e.noteFontWeight};`:""}} + .commit-label-bkg { font-size: ${e.commitLabelFontSize}; fill: ${s?"transparent":e.commitLabelBackground}; opacity: ${s?"":.5}; } + .tag-label { font-size: ${e.tagLabelFontSize}; fill: ${e.tagLabelColor};} + .tag-label-bkg { fill: ${s?e.mainBkg:e.tagLabelBackground}; stroke: ${s?e.nodeBorder:e.tagLabelBorder}; ${s?`filter:${e.dropShadow}`:""} } + .tag-hole { fill: ${e.textColor}; } + + .commit-merge { + stroke: ${s?e.mainBkg:e.primaryColor}; + fill: ${s?e.mainBkg:e.primaryColor}; + } + .commit-reverse { + stroke: ${s?e.mainBkg:e.primaryColor}; + fill: ${s?e.mainBkg:e.primaryColor}; + stroke-width: ${s?e.strokeWidth:3}; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${s?e.mainBkg:e.primaryColor}; + fill: ${s?e.mainBkg:e.primaryColor}; + } + + .arrow { + /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */ + stroke-width: ${de.has(t)?e.strokeWidth:8}; + stroke-linecap: round; + fill: none + } + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`},"getStyles"),Er=Cr,Ir={parser:Ve,db:se,renderer:yr,styles:Er};export{Ir as diagram}; diff --git a/_astro/graph.-OzhPTMs.js b/_astro/graph.-OzhPTMs.js new file mode 100644 index 0000000..6056a11 --- /dev/null +++ b/_astro/graph.-OzhPTMs.js @@ -0,0 +1 @@ +var Ze=typeof global=="object"&&global&&global.Object===Object&&global,pt=typeof self=="object"&&self&&self.Object===Object&&self,w=Ze||pt||Function("return this")(),y=w.Symbol,We=Object.prototype,_t=We.hasOwnProperty,bt=We.toString,D=y?y.toStringTag:void 0;function yt(e){var t=_t.call(e,D),r=e[D];try{e[D]=void 0;var n=!0}catch{}var i=bt.call(e);return n&&(t?e[D]=r:delete e[D]),i}var vt=Object.prototype,Ot=vt.toString;function mt(e){return Ot.call(e)}var wt="[object Null]",Tt="[object Undefined]",Oe=y?y.toStringTag:void 0;function M(e){return e==null?e===void 0?Tt:wt:Oe&&Oe in Object(e)?yt(e):mt(e)}function j(e){return e!=null&&typeof e=="object"}var At="[object Symbol]";function he(e){return typeof e=="symbol"||j(e)&&M(e)==At}function Je(e,t){for(var r=-1,n=e==null?0:e.length,i=Array(n);++r0){if(++t>=Bt)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function F(e){return function(){return e}}var Ae=(function(){try{var e=L(Object,"defineProperty");return e({},"",{}),e}catch{}})(),Yt=Ae?function(e,t){return Ae(e,"toString",{configurable:!0,enumerable:!1,value:F(t),writable:!0})}:J,Zt=Xt(Yt);function Wt(e,t){for(var r=-1,n=e==null?0:e.length;++r-1}var tr=9007199254740991,rr=/^(?:0|[1-9]\d*)$/;function Ve(e,t){var r=typeof e;return t=t??tr,!!t&&(r=="number"||r!="symbol"&&rr.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=sr}function Q(e){return e!=null&&le(e.length)&&!Z(e)}var ar=Object.prototype;function et(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||ar;return e===r}function or(e,t){for(var r=-1,n=Array(e);++r-1}function gn(e,t){var r=this.__data__,n=k(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function T(e){var t=-1,r=e==null?0:e.length;for(this.clear();++to))return!1;var f=s.get(e),d=s.get(t);if(f&&d)return f==t&&d==e;var c=-1,l=!0,v=r&ei?new B:void 0;for(s.set(e,t),s.set(t,e);++c=ki){var f=Vi(e);if(f)return _e(f);a=!1,i=ft,u=new B}else u=o;e:for(;++n1?i.setNode(s,r):i.setNode(s)}),this}setNode(t,r){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=r),this):(this._nodes[t]=arguments.length>1?r:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=C,this._children[t]={},this._children[C][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],S(this.children(t),n=>{this.setParent(n)}),delete this._children[t]),S(b(this._in[t]),r),delete this._in[t],delete this._preds[t],S(b(this._out[t]),r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(R(r))r=C;else{r+="";for(var n=r;!R(n);n=this.parent(n))if(n===t)throw new Error("Setting "+r+" as parent of "+t+" would create a cycle");this.setNode(r)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=r,this._children[r][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var r=this._parent[t];if(r!==C)return r}}children(t){if(R(t)&&(t=C),this._isCompound){var r=this._children[t];if(r)return b(r)}else{if(t===C)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var r=this._preds[t];if(r)return b(r)}successors(t){var r=this._sucs[t];if(r)return b(r)}neighbors(t){var r=this.predecessors(t);if(r)return ts(r,this.successors(t))}isLeaf(t){var r;return this.isDirected()?r=this.successors(t):r=this.neighbors(t),r.length===0}filterNodes(t){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;S(this._nodes,function(a,o){t(o)&&r.setNode(o,a)}),S(this._edgeObjs,function(a){r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,n.edge(a))});var i={};function s(a){var o=n.parent(a);return o===void 0||r.hasNode(o)?(i[a]=o,o):o in i?i[o]:s(o)}return this._isCompound&&S(r.nodes(),function(a){r.setParent(a,s(a))}),r}setDefaultEdgeLabel(t){return Z(t)||(t=F(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return se(this._edgeObjs)}setPath(t,r){var n=this,i=arguments;return Ji(t,function(s,a){return i.length>1?n.setEdge(s,a,r):n.setEdge(s,a),a}),this}setEdge(){var t,r,n,i,s=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(t=a.v,r=a.w,n=a.name,arguments.length===2&&(i=arguments[1],s=!0)):(t=a,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),t=""+t,r=""+r,R(n)||(n=""+n);var o=G(this._isDirected,t,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return s&&(this._edgeLabels[o]=i),this;if(!R(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(r),this._edgeLabels[o]=s?i:this._defaultEdgeLabelFn(t,r,n);var u=ns(this._isDirected,t,r,n);return t=u.v,r=u.w,Object.freeze(u),this._edgeObjs[o]=u,Xe(this._preds[r],t),Xe(this._sucs[t],r),this._in[r][o]=u,this._out[t][o]=u,this._edgeCount++,this}edge(t,r,n){var i=arguments.length===1?ae(this._isDirected,arguments[0]):G(this._isDirected,t,r,n);return this._edgeLabels[i]}hasEdge(t,r,n){var i=arguments.length===1?ae(this._isDirected,arguments[0]):G(this._isDirected,t,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(t,r,n){var i=arguments.length===1?ae(this._isDirected,arguments[0]):G(this._isDirected,t,r,n),s=this._edgeObjs[i];return s&&(t=s.v,r=s.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Ye(this._preds[r],t),Ye(this._sucs[t],r),delete this._in[r][i],delete this._out[t][i],this._edgeCount--),this}inEdges(t,r){var n=this._in[t];if(n){var i=se(n);return r?Y(i,function(s){return s.v===r}):i}}outEdges(t,r){var n=this._out[t];if(n){var i=se(n);return r?Y(i,function(s){return s.w===r}):i}}nodeEdges(t,r){var n=this.inEdges(t,r);if(n)return n.concat(this.outEdges(t,r))}}gt.prototype._nodeCount=0;gt.prototype._edgeCount=0;function Xe(e,t){e[t]?e[t]++:e[t]=1}function Ye(e,t){--e[t]||delete e[t]}function G(e,t,r,n){var i=""+t,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}return i+qe+s+qe+(R(n)?rs:n)}function ns(e,t,r,n){var i=""+t,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}var o={v:i,w:s};return n&&(o.name=n),o}function ae(e,t){return G(e,t.v,t.w,t.name)}export{Y as $,m as A,Wt as B,g as C,Le as D,de as E,zi as F,gt as G,V as H,Z as I,Fi as J,dt as K,Jt as L,ye as M,Je as N,Hi as O,Gi as P,Ci as Q,J as R,y as S,st as T,Ge as U,te as V,at as W,ji as X,$n as Y,S as Z,F as _,he as a,se as a0,Ji as a1,ce as b,Q as c,Ae as d,ke as e,Ve as f,ir as g,et as h,R as i,Br as j,jn as k,Kr as l,j as m,M as n,nr as o,b as p,zn as q,w as r,Zt as s,Fn as t,ot as u,Hn as v,O as w,Gr as x,Ce as y,W as z}; diff --git a/_astro/index.CGKSN4Ly.css b/_astro/index.CGKSN4Ly.css new file mode 100644 index 0000000..df0a07b --- /dev/null +++ b/_astro/index.CGKSN4Ly.css @@ -0,0 +1 @@ +:root{--sl-font: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sl-font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sl-content-width: 50rem;--cldk-blue: #0f62fe}:root,:root[data-theme=dark]{--sl-color-accent-low: #0a2d6e;--sl-color-accent: var(--cldk-blue);--sl-color-accent-high: #a6c8ff;--sl-color-bg: #161616;--sl-color-bg-nav: #161616;--sl-color-bg-sidebar: #1a1a1a;--sl-color-bg-inline-code: #262626;--sl-color-bg-accent: var(--cldk-blue);--sl-color-hairline: #2a2a2a;--sl-color-hairline-light: #333333;--sl-color-hairline-shade: #202020;--cldk-surface: #1f1f1f;--cldk-surface-2: #262626;--cldk-border: #393939}:root[data-theme=light]{--sl-color-accent-low: #d0e2ff;--sl-color-accent: var(--cldk-blue);--sl-color-accent-high: #002d6e;--sl-color-bg: #ffffff;--sl-color-bg-nav: #ffffff;--sl-color-bg-sidebar: #f4f4f4;--sl-color-bg-inline-code: #f4f4f4;--sl-color-hairline: #e0e0e0;--sl-color-hairline-light: #d0d0d0;--sl-color-hairline-shade: #ececec;--cldk-surface: #ffffff;--cldk-surface-2: #f4f4f4;--cldk-border: #d0d0d0}html{font-family:var(--sl-font)}.sl-markdown-content h1,.sl-markdown-content h2,.sl-markdown-content h3{letter-spacing:-.01em}.cldk-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.75rem}.cldk-badges img{height:26px}.cldk-oneliner{font-size:var(--sl-text-lg)}.cldk-capabilities{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:1.5rem 0 2rem;padding:0;list-style:none}.cldk-capability{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.2rem;border:1px solid var(--cldk-border);border-radius:.6rem;background:var(--cldk-surface);color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease}.cldk-capability:hover{border-color:var(--sl-color-accent);transform:translateY(-2px)}.cldk-capability__title{font-weight:600;font-size:var(--sl-text-lg);margin:0}.cldk-capability__def{margin:0;color:var(--sl-color-gray-2);font-size:var(--sl-text-sm)}.cldk-capability__thumb{margin:.25rem 0;padding:.6rem .7rem;border-radius:.4rem;background:var(--cldk-surface-2);border:1px solid var(--sl-color-hairline);font-family:var(--sl-font-mono);font-size:.74rem;line-height:1.45;overflow-x:auto;white-space:pre;color:var(--sl-color-text)}.cldk-capability__examples{margin:0;padding-left:1.1rem;font-size:var(--sl-text-xs);color:var(--sl-color-gray-3)}.cldk-agent-band{margin:2rem 0;padding:1.5rem 1.6rem;border:1px solid var(--cldk-border);border-left:3px solid var(--sl-color-accent);border-radius:.6rem;background:var(--cldk-surface)}.cldk-agent-band h2{margin-top:0!important}.cldk-stats{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0;padding:0;list-style:none}.cldk-stat{flex:1 1 8rem;padding:1rem 1.1rem;border:1px solid var(--cldk-border);border-radius:.6rem;background:var(--cldk-surface);text-align:center}.cldk-stat__num{display:block;font-size:1.7rem;font-weight:700;line-height:1.2}.cldk-stat__label{font-size:var(--sl-text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--sl-color-gray-3)}.cldk-hero{margin:.5rem 0 1.5rem;text-align:center}.cldk-hero img{display:block;width:min(100%,620px);height:auto;margin:0 auto}:root[data-theme=dark] .cldk-hero-light{display:none}:root[data-theme=light] .cldk-hero-dark{display:none}.sl-markdown-content pre.cldk-signature{white-space:pre-wrap}.sl-markdown-content .sl-badge{font-family:var(--sl-font);font-size:.75rem;font-weight:600;letter-spacing:.01em;border-radius:999px;padding:.05rem .55rem;border-width:1px;white-space:nowrap;background:transparent}.sl-markdown-content .sl-badge.success{color:#57b87e;border-color:#24a14847;background:#24a14814}.sl-markdown-content .sl-badge.tip{color:#44b3b0;border-color:#009d9a47;background:#009d9a14}.sl-markdown-content .sl-badge.caution{color:#cba43a;border-color:#b2860047;background:#b2860017}.sl-markdown-content .sl-badge.note{color:#5b8def;border-color:#0f62fe47;background:#0f62fe14}.sl-markdown-content .sl-badge.default{color:#9a9a9a;border-color:#6f6f6f47;background:#6f6f6f14}.sl-markdown-content .sl-badge.danger{color:#e8737a;border-color:#da1e2847;background:#da1e2814}@layer starlight.base,starlight.reset,starlight.core,starlight.content,starlight.components,starlight.utils;@layer starlight.base{:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-2xs: .75rem;--sl-text-xs: .8125rem;--sl-text-sm: .875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-content-gap-y: 1rem;--sl-main-pad: 0 0 3vh 0;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}@media(min-width:50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media(min-width:72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}}@layer starlight.reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent);-webkit-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:break-word}code{font-family:var(--__sl-font-mono)}}@layer starlight.components{.starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-blue-high);--sl-color-asides-border: var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-purple-high);--sl-color-asides-border: var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--sl-color-orange-high);--sl-color-asides-border: var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--sl-color-red-high);--sl-color-asides-border: var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}}@layer starlight.utils{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media(min-width:50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media(min-width:72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)}}@layer starlight.content{.sl-markdown-content .sl-heading-wrapper{--sl-anchor-icon-size: .8275em;--sl-anchor-icon-gap: .25em;--sl-anchor-icon-space: calc(var(--sl-anchor-icon-size) + var(--sl-anchor-icon-gap));line-height:var(--sl-line-height-headings)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6,.sl-heading-wrapper)+:is(.sl-heading-wrapper){margin-top:1.5em}.sl-markdown-content .sl-heading-wrapper.level-h1{font-size:var(--sl-text-h1)}.sl-markdown-content .sl-heading-wrapper.level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content .sl-heading-wrapper.level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content .sl-heading-wrapper.level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content .sl-heading-wrapper.level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content .sl-heading-wrapper.level-h6{font-size:var(--sl-text-h6)}.sl-markdown-content .sl-heading-wrapper>:first-child{display:inline;padding-inline-end:var(--sl-anchor-icon-space)}.sl-markdown-content .sl-anchor-link{position:relative;margin-inline-start:calc(-1 * var(--sl-anchor-icon-size));-webkit-user-select:none;user-select:none;display:inline-flex}.sl-markdown-content .sl-anchor-link:after{content:"";position:absolute;inset:-.25rem -.5rem}.sl-markdown-content .sl-anchor-icon>svg{display:inline;width:var(--sl-anchor-icon-size);vertical-align:top;transform:translateY(calc((var(--sl-line-height-headings) * 1em - var(--sl-anchor-icon-size)) / 2))}@media(hover:hover){.sl-markdown-content .sl-anchor-link{opacity:0}.sl-markdown-content .sl-anchor-link:focus,.sl-markdown-content .sl-heading-wrapper:hover .sl-anchor-link{opacity:1}}}@layer starlight.core{.sl-banner:where(.astro-laz2plt2){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-laz2plt2) a{color:var(--__sl-banner-text)}}@layer starlight.core{.content-panel:where(.astro-7nkwcw3z){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-7nkwcw3z)+.content-panel:where(.astro-7nkwcw3z){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-7nkwcw3z){max-width:var(--sl-content-width)}.sl-container:where(.astro-7nkwcw3z)>*+*{margin-top:1.5rem}@media(min-width:72rem){.sl-container:where(.astro-7nkwcw3z){margin-inline:var(--sl-content-margin-inline, auto)}}}@layer starlight.core{p:where(.astro-opzsrvew){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)}}@layer starlight.core{a:where(.astro-eez2twj6){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3)}a:where(.astro-eez2twj6):hover{color:var(--sl-color-white)}}@layer starlight.core{.pagination-links:where(.astro-u2l5gyhi){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}a:where(.astro-u2l5gyhi){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--sl-color-gray-2);box-shadow:var(--sl-shadow-md);overflow-wrap:anywhere}:where(.astro-u2l5gyhi)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse}a:where(.astro-u2l5gyhi):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-u2l5gyhi){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-u2l5gyhi){flex-shrink:0}}@layer starlight.core{footer:where(.astro-3yyafb3n){flex-direction:column;gap:1.5rem}.meta:where(.astro-3yyafb3n){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-3yyafb3n)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-3yyafb3n){align-items:center;gap:.5em;margin:1.5rem auto;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3)}.kudos:where(.astro-3yyafb3n):hover{color:var(--sl-color-white)}}@layer starlight.components{.kudos:where(.astro-3yyafb3n) svg{color:var(--sl-color-orange)}}@layer starlight.core{label:where(.astro-4yphtoen){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-4yphtoen):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-4yphtoen){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}select:where(.astro-4yphtoen){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none}option:where(.astro-4yphtoen){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media(min-width:50rem){select:where(.astro-4yphtoen){font-size:var(--sl-text-sm)}}}@layer starlight.components{.label-icon:where(.astro-4yphtoen){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-4yphtoen){font-size:var(--sl-caret-size);inset-inline-end:0}}@layer starlight.core{.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"⤷ ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable=true]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}}@layer starlight.core{[data-search-modal-open]{overflow:hidden}#starlight__search{--sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-block: calc(.9375rem * var(--pagefind-ui-scale));--sl-search-result-nested-pad-block: calc(.625rem * var(--pagefind-ui-scale));--sl-search-corners: calc(.3125rem * var(--pagefind-ui-scale));--sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));--sl-search-page-icon-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2 );--sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));--sl-search-tree-diagram-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2 )}#starlight__search .pagefind-ui__form:before{--pagefind-ui-text: var(--sl-color-gray-1);opacity:1}#starlight__search .pagefind-ui__search-input{color:var(--sl-color-white);font-weight:400;width:calc(100% - var(--sl-search-cancel-space))}#starlight__search input:focus{--pagefind-ui-border: var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear{inset-inline-end:var(--sl-search-cancel-space);width:calc(60px * var(--pagefind-ui-scale));padding:0;background-color:transparent;overflow:hidden}#starlight__search .pagefind-ui__search-clear:focus{outline:1px solid var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear:before{content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;background-color:var(--sl-color-text-accent);display:block;width:100%;height:100%}#starlight__search .pagefind-ui__results>*+*{margin-top:var(--sl-search-result-spacing)}#starlight__search .pagefind-ui__result{border:0;padding:0}#starlight__search .pagefind-ui__result-nested{position:relative;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),#starlight__search .pagefind-ui__result-nested{position:relative;background-color:var(--sl-color-black)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:hover,#starlight__search .pagefind-ui__result-nested:focus-within{outline:1px solid var(--sl-color-accent-high)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:focus-within{background-color:var(--sl-color-accent-low)}#starlight__search .pagefind-ui__result-thumb,#starlight__search .pagefind-ui__result-inner{margin-top:0}#starlight__search .pagefind-ui__result-inner>:first-child{border-radius:var(--sl-search-corners) var(--sl-search-corners) 0 0}#starlight__search .pagefind-ui__result-inner>:last-child{border-radius:0 0 var(--sl-search-corners) var(--sl-search-corners)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title{padding:var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-page-icon-inline-start);width:var(--sl-search-page-icon-size);background:var(--sl-color-gray-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat}#starlight__search .pagefind-ui__result-inner{align-items:stretch;gap:1px}#starlight__search .pagefind-ui__result-link{position:unset;--pagefind-ui-text: var(--sl-color-white);font-weight:600}#starlight__search .pagefind-ui__result-link:hover{text-decoration:none}#starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link:before{content:unset}#starlight__search .pagefind-ui__result-nested:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-tree-diagram-inline-start);width:var(--sl-search-tree-diagram-size);background:var(--sl-color-gray-4);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat}#starlight__search .pagefind-ui__result-nested:last-of-type:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E")}[dir=rtl] .pagefind-ui__result-title:before,[dir=rtl] .pagefind-ui__result-nested:before{transform:scaleX(-1)}#starlight__search .pagefind-ui__result-link:after{content:"";position:absolute;inset:0}#starlight__search .pagefind-ui__result-excerpt{font-size:calc(1rem * var(--pagefind-ui-scale));overflow-wrap:anywhere}#starlight__search mark{color:var(--sl-color-gray-2);background-color:transparent;font-weight:600}#starlight__search .pagefind-ui__filter-value:before{border-color:var(--sl-color-text-invert)}#starlight__search .pagefind-ui__result-tags{background-color:var(--sl-color-black);margin-top:0;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end)}}@layer starlight.core{site-search:where(.astro-v37mnknz){display:contents}button:where(.astro-v37mnknz)[data-open-modal]{display:flex;align-items:center;gap:.5rem;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:2.5rem;font-size:var(--sl-text-xl)}@media(min-width:50rem){button:where(.astro-v37mnknz)[data-open-modal]{border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;background-color:var(--sl-color-black);color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);width:100%;max-width:22rem}button:where(.astro-v37mnknz)[data-open-modal]:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}button:where(.astro-v37mnknz)[data-open-modal]>:where(.astro-v37mnknz):last-child{margin-inline-start:auto}}button:where(.astro-v37mnknz)>kbd:where(.astro-v37mnknz){border-radius:.25rem;font-size:var(--sl-text-2xs);gap:.25em;padding-inline:.375rem;background-color:var(--sl-color-gray-6)}kbd:where(.astro-v37mnknz){font-family:var(--__sl-font)}dialog:where(.astro-v37mnknz){margin:0;background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg)}dialog:where(.astro-v37mnknz)[open]{display:flex}dialog:where(.astro-v37mnknz)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.dialog-frame:where(.astro-v37mnknz){position:relative;overflow:auto;flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-v37mnknz)[data-close-modal]{position:absolute;z-index:1;align-items:center;align-self:flex-end;height:calc(64px * var(--pagefind-ui-scale));padding:.25rem;border:0;background:transparent;cursor:pointer;color:var(--sl-color-text-accent)}#starlight__search:where(.astro-v37mnknz){--pagefind-ui-primary: var(--sl-color-text);--pagefind-ui-text: var(--sl-color-gray-2);--pagefind-ui-font: var(--__sl-font);--pagefind-ui-background: var(--sl-color-black);--pagefind-ui-border: var(--sl-color-gray-5);--pagefind-ui-border-width: 1px;--pagefind-ui-tag: var(--sl-color-gray-5);--sl-search-cancel-space: 5rem}:root[data-theme=light] #starlight__search:where(.astro-v37mnknz){--pagefind-ui-tag: var(--sl-color-gray-6)}@media(min-width:50rem){#starlight__search:where(.astro-v37mnknz){--sl-search-cancel-space: 0px}dialog:where(.astro-v37mnknz){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-v37mnknz){padding:1.5rem}}}@layer starlight.core{.site-title:where(.astro-m46x6ez3){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);font-weight:600;color:var(--sl-color-text-accent);text-decoration:none;white-space:nowrap;min-width:0}span:where(.astro-m46x6ez3){overflow:hidden}img:where(.astro-m46x6ez3){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;object-fit:contain;object-position:0 50%}}@layer starlight.core{a:where(.astro-wy4te6ga){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-wy4te6ga):hover{opacity:.66}}@layer starlight.core{.header:where(.astro-kmkmnagf){display:flex;gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%}.title-wrapper:where(.astro-kmkmnagf){overflow:clip;padding:.25rem;margin:-.25rem;min-width:0}.right-group:where(.astro-kmkmnagf),.social-icons:where(.astro-kmkmnagf){gap:1rem;align-items:center}.social-icons:where(.astro-kmkmnagf):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media(min-width:50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-kmkmnagf){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}}}@layer starlight.core{.hero:where(.astro-jbfsktt5){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-jbfsktt5){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-jbfsktt5){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-jbfsktt5)>:where(.astro-jbfsktt5){max-width:50ch}h1:where(.astro-jbfsktt5){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-jbfsktt5){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-jbfsktt5){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media(min-width:50rem){.hero:where(.astro-jbfsktt5){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){order:2;width:min(100%,25rem)}.stack:where(.astro-jbfsktt5){text-align:start}.copy:where(.astro-jbfsktt5){align-items:flex-start}.actions:where(.astro-jbfsktt5){justify-content:flex-start}}}@layer starlight.content{.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)){margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content li>:is(:last-child:not(li,ul,ol,a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){display:block;max-width:100%;height:auto}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);margin-block:-.125rem;padding:.125rem .375rem;font-size:var(--sl-text-code-sm)}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);padding:.75rem 1rem;font-size:var(--sl-text-code);tab-size:2}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){display:block;overflow:auto;border-spacing:0}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);padding:.5rem 1rem;vertical-align:baseline}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)}}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-gray-5);--sl-details-border-color--hover: var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;display:block;font-weight:600;margin-inline-start:-.5rem;padding-inline-start:.5rem}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size: 1.25rem;background-color:currentColor;content:"";display:inline-block;height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media(prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-asides-border);--sl-details-border-color--hover: var(--sl-color-asides-text-accent)}}@layer starlight.core{[data-mobile-menu-expanded]{overflow:hidden}@media(min-width:50rem){[data-mobile-menu-expanded]{overflow:auto}}}@layer starlight.core{button:where(.astro-jif73yzw){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-2);box-shadow:none}:where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw) .open-menu:where(.astro-jif73yzw){display:none}:where(.astro-jif73yzw):not([aria-expanded=true]) button:where(.astro-jif73yzw) .close-menu:where(.astro-jif73yzw){display:none}[data-theme=light] button:where(.astro-jif73yzw){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-5)}}@layer starlight.core{.page:where(.astro-vrdttmbt){flex-direction:column;min-height:100vh}.header:where(.astro-vrdttmbt){z-index:var(--sl-z-index-navbar);position:fixed;inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav)}[data-has-sidebar] .header:where(.astro-vrdttmbt){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-vrdttmbt){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-vrdttmbt){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-vrdttmbt){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media(min-width:50rem){.sidebar-content:where(.astro-vrdttmbt):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-vrdttmbt){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media(min-width:50rem){[data-has-sidebar] .header:where(.astro-vrdttmbt){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-vrdttmbt){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}}@layer starlight.core{ul:where(.astro-g2bywc46){padding:0;list-style:none}a:where(.astro-g2bywc46){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-g2bywc46)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-g2bywc46):first-child>li:where(.astro-g2bywc46):first-child>a:where(.astro-g2bywc46){border-top:0}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true],.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:hover,.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}}@layer starlight.core{nav:where(.astro-doynk5tl){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media(min-width:50rem){nav:where(.astro-doynk5tl){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-doynk5tl){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-doynk5tl)::marker,summary:where(.astro-doynk5tl)::-webkit-details-marker{display:none}.toggle:where(.astro-doynk5tl){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);user-select:none;cursor:pointer}details:where(.astro-doynk5tl)[open] .toggle:where(.astro-doynk5tl){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-doynk5tl) .toggle:where(.astro-doynk5tl):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-doynk5tl){transform:rotate(180deg)}details:where(.astro-doynk5tl)[open] .caret:where(.astro-doynk5tl){transform:rotate(90deg)}.display-current:where(.astro-doynk5tl){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-doynk5tl){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain}}@layer starlight.core{.right-sidebar-panel:where(.astro-pb3aqygn){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-pb3aqygn){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-pb3aqygn) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-pb3aqygn) :where(a){display:block;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-pb3aqygn) :where(a):hover{color:var(--sl-color-white)}@media(min-width:72rem){.sl-container:where(.astro-pb3aqygn){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}}@layer starlight.core{h1:where(.astro-j6tvhyss){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}}@layer starlight.core{.social-icons:where(.astro-wu23bvmt){display:flex;margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-wu23bvmt):empty{display:none}.mobile-preferences:where(.astro-wu23bvmt){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);column-gap:1rem;padding:.5rem 0}}@layer starlight.core{sl-sidebar-state-persist:where(.astro-kku4brbg){display:contents}}@layer starlight.core{ul:where(.astro-3ii7xxms){--sl-sidebar-item-padding-inline: .5rem;list-style:none;padding:0}li:where(.astro-3ii7xxms){overflow-wrap:anywhere}ul:where(.astro-3ii7xxms) ul:where(.astro-3ii7xxms) li:where(.astro-3ii7xxms){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-lg);font-weight:600;color:var(--sl-color-white)}.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.75rem}summary:where(.astro-3ii7xxms){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);line-height:1.4;cursor:pointer;user-select:none}summary:where(.astro-3ii7xxms)::marker,summary:where(.astro-3ii7xxms)::-webkit-details-marker{display:none}.caret:where(.astro-3ii7xxms){transition:transform .2s ease-in-out;flex-shrink:0}[dir=rtl] .caret:where(.astro-3ii7xxms){transform:rotate(180deg)}:where(.astro-3ii7xxms)[open]>summary:where(.astro-3ii7xxms) .caret:where(.astro-3ii7xxms){transform:rotate(90deg)}a:where(.astro-3ii7xxms){display:block;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);line-height:1.4}a:where(.astro-3ii7xxms):hover,a:where(.astro-3ii7xxms):focus{color:var(--sl-color-white)}:where(.astro-3ii7xxms)[aria-current=page],:where(.astro-3ii7xxms)[aria-current=page]:hover,:where(.astro-3ii7xxms)[aria-current=page]:focus{font-weight:600;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}a:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child),.group-label:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child){margin-inline-end:.25em}@media(min-width:50rem){.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.5rem}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-base)}a:where(.astro-3ii7xxms){font-size:var(--sl-text-sm)}}}@layer starlight.core{a:where(.astro-7q3lir66){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-7q3lir66):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)}}@layer starlight.core{.main-pane:where(.astro-67yu43on){isolation:isolate}@media(min-width:72rem){.right-sidebar-container:where(.astro-67yu43on){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-67yu43on){position:fixed;top:0;border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-67yu43on){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-67yu43on){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}}html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-bguv2lll){padding:var(--sl-main-pad)}@media(min-width:50em){:where(.astro-bguv2lll)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media(min-width:72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} diff --git a/_astro/infoDiagram-5YYISTIA.JmDa7qGc.js b/_astro/infoDiagram-5YYISTIA.JmDa7qGc.js new file mode 100644 index 0000000..bf0b2eb --- /dev/null +++ b/_astro/infoDiagram-5YYISTIA.JmDa7qGc.js @@ -0,0 +1,2 @@ +import{_ as a,l as s,I as o,e as i}from"./mermaid.core.Ci_VGkOG.js";import{p as g}from"./wardley-L42UT6IY.BVigPHyG.js";import"./preload-helper.DK3iz7C1.js";var p={parse:a(async r=>{const e=await g("info",r);s.debug(e)},"parse")},v={version:"11.15.0"},d=a(()=>v.version,"getVersion"),m={getVersion:d},c=a((r,e,n)=>{s.debug(`rendering info diagram +`+r);const t=o(e);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)},"draw"),l={draw:c},b={parser:p,db:m,renderer:l};export{b as diagram}; diff --git a/_astro/init.Gi6I4Gst.js b/_astro/init.Gi6I4Gst.js new file mode 100644 index 0000000..d44de94 --- /dev/null +++ b/_astro/init.Gi6I4Gst.js @@ -0,0 +1 @@ +function t(e,a){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(a).domain(e);break}return this}export{t as i}; diff --git a/_astro/ishikawaDiagram-YF4QCWOH.Bq3509jq.js b/_astro/ishikawaDiagram-YF4QCWOH.Bq3509jq.js new file mode 100644 index 0000000..13afdb0 --- /dev/null +++ b/_astro/ishikawaDiagram-YF4QCWOH.Bq3509jq.js @@ -0,0 +1,70 @@ +import{_ as l,c as lt,N as ct,I as ut,al as dt,z as yt,k as ft,p as et,a as pt,b as gt,g as kt,s as mt,q as wt,e as _t}from"./mermaid.core.Ci_VGkOG.js";import"./preload-helper.DK3iz7C1.js";var Q=(function(){var t=l(function(T,e,s,i){for(s=s||{},i=T.length;i--;s[T[i]]=e);return s},"o"),d=[1,4],n=[1,14],a=[1,12],o=[1,13],y=[6,7,8],p=[1,20],u=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],D={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:l(function(e,s,i,h,f,r,v){var w=r.length-1;switch(f){case 6:case 7:return h;case 15:h.addNode(r[w-1].length,r[w].trim());break;case 16:h.addNode(0,r[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:d},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:d},{6:n,7:[1,10],9:9,12:11,13:a,14:o},t(y,[2,3]),{1:[2,2]},t(y,[2,4]),t(y,[2,5]),{1:[2,6],6:n,12:15,13:a,14:o},{6:n,9:16,12:11,13:a,14:o},{6:p,7:u,10:17,11:m},t(c,[2,18],{14:[1,21]}),t(c,[2,16]),t(c,[2,17]),{6:p,7:u,10:22,11:m},{1:[2,7],6:n,12:15,13:a,14:o},t(k,[2,14],{7:g,11:_}),t(x,[2,8]),t(x,[2,9]),t(x,[2,10]),t(c,[2,15]),t(k,[2,13],{7:g,11:_}),t(x,[2,11]),t(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:l(function(e,s){if(s.recoverable)this.trace(e);else{var i=new Error(e);throw i.hash=s,i}},"parseError"),parse:l(function(e){var s=this,i=[0],h=[],f=[null],r=[],v=this.table,w="",I=0,$=0,L=2,A=1,C=r.slice.call(arguments,1),b=Object.create(this.lexer),S={yy:{}};for(var N in this.yy)Object.prototype.hasOwnProperty.call(this.yy,N)&&(S.yy[N]=this.yy[N]);b.setInput(e,S.yy),S.yy.lexer=b,S.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var R=b.yylloc;r.push(R);var H=b.options&&b.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(P){i.length=i.length-2*P,f.length=f.length-P,r.length=r.length-P}l(X,"popStack");function J(){var P;return P=h.pop()||b.lex()||A,typeof P!="number"&&(P instanceof Array&&(h=P,P=h.pop()),P=s.symbols_[P]||P),P}l(J,"lex");for(var M,W,B,Y,z={},G,V,tt,U;;){if(W=i[i.length-1],this.defaultActions[W]?B=this.defaultActions[W]:((M===null||typeof M>"u")&&(M=J()),B=v[W]&&v[W][M]),typeof B>"u"||!B.length||!B[0]){var q="";U=[];for(G in v[W])this.terminals_[G]&&G>L&&U.push("'"+this.terminals_[G]+"'");b.showPosition?q="Parse error on line "+(I+1)+`: +`+b.showPosition()+` +Expecting `+U.join(", ")+", got '"+(this.terminals_[M]||M)+"'":q="Parse error on line "+(I+1)+": Unexpected "+(M==A?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(q,{text:b.match,token:this.terminals_[M]||M,line:b.yylineno,loc:R,expected:U})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+M);switch(B[0]){case 1:i.push(M),f.push(b.yytext),r.push(b.yylloc),i.push(B[1]),M=null,$=b.yyleng,w=b.yytext,I=b.yylineno,R=b.yylloc;break;case 2:if(V=this.productions_[B[1]][1],z.$=f[f.length-V],z._$={first_line:r[r.length-(V||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(V||1)].first_column,last_column:r[r.length-1].last_column},H&&(z._$.range=[r[r.length-(V||1)].range[0],r[r.length-1].range[1]]),Y=this.performAction.apply(z,[w,$,I,S.yy,B[1],f,r].concat(C)),typeof Y<"u")return Y;V&&(i=i.slice(0,-1*V*2),f=f.slice(0,-1*V),r=r.slice(0,-1*V)),i.push(this.productions_[B[1]][0]),f.push(z.$),r.push(z._$),tt=v[i[i.length-2]][i[i.length-1]],i.push(tt);break;case 3:return!0}}return!0},"parse")},O=(function(){var T={EOF:1,parseError:l(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:l(function(e,s){return this.yy=s||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:l(function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var s=e.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:l(function(e){var s=e.length,i=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var h=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===h.length?this.yylloc.first_column:0)+h[h.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(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:l(function(e){this.unput(this.match.slice(e))},"less"),pastInput:l(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l(function(){var e=this.pastInput(),s=new Array(e.length+1).join("-");return e+this.upcomingInput()+` +`+s+"^"},"showPosition"),test_match:l(function(e,s){var i,h,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),h=e[0].match(/(?:\r\n?|\n).*/g),h&&(this.yylineno+=h.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:h?h[h.length-1].length-h[h.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var r in f)this[r]=f[r];return!1}return!1},"test_match"),next:l(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,s,i,h;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),r=0;rs[0].length)){if(s=i,h=r,this.options.backtrack_lexer){if(e=this.test_match(i,f[r]),e!==!1)return e;if(this._backtrack){s=!1;continue}else return!1}else if(!this.options.flex)break}return s?(e=this.test_match(s,f[h]),e!==!1?e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:l(function(){var s=this.next();return s||this.lex()},"lex"),begin:l(function(s){this.conditionStack.push(s)},"begin"),popState:l(function(){var s=this.conditionStack.length-1;return s>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:l(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:l(function(s){return s=this.conditionStack.length-1-Math.abs(s||0),s>=0?this.conditionStack[s]:"INITIAL"},"topState"),pushState:l(function(s){this.begin(s)},"pushState"),stateStackSize:l(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:l(function(s,i,h,f){switch(h){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return T})();D.lexer=O;function E(){this.yy={}}return l(E,"Parser"),E.prototype=D,D.Parser=E,new E})();Q.parser=Q;var bt=Q,xt=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{l(this,"IshikawaDB")}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,yt()}getRoot(){return this.root}addNode(t,d){const n=ft.sanitizeText(d,lt());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],et(n);return}this.baseLevel??=t;let a=t-this.baseLevel+1;for(a<=0&&(a=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=a;)this.stack.pop();const o=this.stack[this.stack.length-1].node,y={text:n,children:[]};o.children.push(y),this.stack.push({level:a,node:y})}getAccTitle(){return pt()}setAccTitle(t){gt(t)}getAccDescription(){return kt()}setAccDescription(t){mt(t)}getDiagramTitle(){return wt()}setDiagramTitle(t){et(t)}},vt=14,F=250,St=30,$t=60,Et=5,ot=82*Math.PI/180,it=Math.cos(ot),st=Math.sin(ot),nt=l((t,d,n)=>{const a=t.node().getBBox(),o=a.width+d*2,y=a.height+d*2;_t(t,y,o,n),t.attr("viewBox",`${a.x-d} ${a.y-d} ${o} ${y}`)},"applyPaddedViewBox"),At=l((t,d,n,a)=>{const y=a.db.getRoot();if(!y)return;const p=lt(),{look:u,handDrawnSeed:m,themeVariables:c}=p,k=ct(p.fontSize)[0]??vt,g=u==="handDrawn",_=y.children??[],x=p.ishikawa?.diagramPadding??20,D=p.ishikawa?.useMaxWidth??!1,O=ut(d),E=O.append("g").attr("class","ishikawa"),T=g?dt.svg(O.node()):void 0,e=T?{roughSvg:T,seed:m??0,lineColor:c?.lineColor??"#333",fillColor:c?.mainBkg??"#fff"}:void 0,s=`ishikawa-arrow-${d}`;g||E.append("defs").append("marker").attr("id",s).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let i=0,h=F;const f=g?void 0:j(E,i,h,i,h,"ishikawa-spine");if(It(E,i,h,y.text,k,e),!_.length){g&&j(E,i,h,i,h,"ishikawa-spine",e),nt(O,x,D);return}i-=20;const r=_.filter((S,N)=>N%2===0),v=_.filter((S,N)=>N%2===1),w=at(r),I=at(v),$=w.total+I.total;let L=F,A=F;if($>0){const S=F*2,N=F*.3;L=Math.max(N,S*(w.total/$)),A=Math.max(N,S*(I.total/$))}const C=k*2;L=Math.max(L,w.max*C),A=Math.max(A,I.max*C),h=Math.max(L,F),f&&f.attr("y1",h).attr("y2",h),E.select(".ishikawa-head-group").attr("transform",`translate(0,${h})`);const b=Math.ceil(_.length/2);for(let S=0;SMath.min(R,H.getBBox().x),1/0)}if(g)j(E,i,h,0,h,"ishikawa-spine",e);else{f.attr("x1",i);const S=`url(#${s})`;E.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",S)}nt(O,x,D)},"draw"),at=l(t=>{const d=l(n=>n.children.reduce((a,o)=>a+1+d(o),0),"countDescendants");return t.reduce((n,a)=>{const o=d(a);return n.total+=o,n.max=Math.max(n.max,o),n},{total:0,max:0})},"sideStats"),It=l((t,d,n,a,o,y)=>{const p=Math.max(6,Math.floor(110/(o*.6))),u=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${d},${n})`),m=Z(u,ht(a,p),0,0,"ishikawa-head-label","start",o),c=m.node().getBBox(),k=Math.max(60,c.width+6),g=Math.max(40,c.height*2+40),_=`M 0 ${-g/2} L 0 ${g/2} Q ${k*2.4} 0 0 ${-g/2} Z`;if(y){const x=y.roughSvg.path(_,{roughness:1.5,seed:y.seed,fill:y.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:y.lineColor,strokeWidth:2});u.insert(()=>x,":first-child").attr("class","ishikawa-head")}else u.insert("path",":first-child").attr("class","ishikawa-head").attr("d",_);m.attr("transform",`translate(${(k-c.width)/2-c.x+3},${-c.y-c.height/2})`)},"drawHead"),Lt=l((t,d)=>{const n=[],a=[],o=l((y,p,u)=>{const m=d===-1?[...y].reverse():y;for(const c of m){const k=n.length,g=c.children??[];n.push({depth:u,text:ht(c.text,15),parentIndex:p,childCount:g.length}),u%2===0?(a.push(k),g.length&&o(g,k,u+1)):(g.length&&o(g,k,u+1),a.push(k))}},"walk");return o(t,-1,2),{entries:n,yOrder:a}},"flattenTree"),Tt=l((t,d,n,a,o,y,p)=>{const u=t.append("g").attr("class","ishikawa-label-group"),c=Z(u,d,n,a+11*o,"ishikawa-label cause","middle",y).node().getBBox();if(p){const k=p.roughSvg.rectangle(c.x-20,c.y-2,c.width+40,c.height+4,{roughness:1.5,seed:p.seed,fill:p.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:p.lineColor,strokeWidth:2});u.insert(()=>k,":first-child").attr("class","ishikawa-label-box")}else u.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",c.x-20).attr("y",c.y-2).attr("width",c.width+40).attr("height",c.height+4)},"drawCauseLabel"),K=l((t,d,n,a,o,y)=>{const p=Math.sqrt(a*a+o*o);if(p===0)return;const u=a/p,m=o/p,c=6,k=-m*c,g=u*c,_=d,x=n,D=`M ${_} ${x} L ${_-u*c*2+k} ${x-m*c*2+g} L ${_-u*c*2-k} ${x-m*c*2-g} Z`,O=y.roughSvg.path(D,{roughness:1,seed:y.seed,fill:y.lineColor,fillStyle:"solid",stroke:y.lineColor,strokeWidth:1});t.append(()=>O)},"drawArrowMarker"),Mt=l((t,d,n,a,o,y,p,u)=>{const m=d.children??[],c=y*(m.length?1:.2),k=-it*c,g=st*c*o,_=n+k,x=a+g;if(j(t,n,a,_,x,"ishikawa-branch",u),u&&K(t,n,a,n-_,a-x,u),Tt(t,d.text,_,x,o,p,u),!m.length)return;const{entries:D,yOrder:O}=Lt(m,o),E=D.length,T=new Array(E);for(const[f,r]of O.entries())T[r]=a+g*((f+1)/(E+1));const e=new Map;e.set(-1,{x0:n,y0:a,x1:_,y1:x,childCount:m.length,childrenDrawn:0});const s=-it,i=st*o,h=o<0?"ishikawa-label up":"ishikawa-label down";for(const[f,r]of D.entries()){const v=T[f],w=e.get(r.parentIndex),I=t.append("g").attr("class","ishikawa-sub-group");let $=0,L=0,A=0;if(r.depth%2===0){const C=w.y1-w.y0;$=rt(w.x0,w.x1,C?(v-w.y0)/C:.5),L=v,A=$-(r.childCount>0?$t+r.childCount*Et:St),j(I,$,v,A,v,"ishikawa-sub-branch",u),u&&K(I,$,v,1,0,u),Z(I,r.text,A,v,"ishikawa-label align","end",p)}else{const C=w.childrenDrawn++;$=rt(w.x0,w.x1,(w.childCount-C)/(w.childCount+1)),L=w.y0,A=$+s*((v-L)/i),j(I,$,L,A,v,"ishikawa-sub-branch",u),u&&K(I,$,L,$-A,L-v,u),Z(I,r.text,A,v,h,"end",p)}r.childCount>0&&e.set(f,{x0:$,y0:L,x1:A,y1:v,childCount:r.childCount,childrenDrawn:0})}},"drawBranch"),Nt=l(t=>t.split(/|\n/),"splitLines"),ht=l((t,d)=>{if(t.length<=d)return t;const n=[];for(const a of t.split(/\s+/)){const o=n.length-1;o>=0&&n[o].length+1+a.length<=d?n[o]+=" "+a:n.push(a)}return n.join(` +`)},"wrapText"),Z=l((t,d,n,a,o,y,p)=>{const u=Nt(d),m=p*1.05,c=t.append("text").attr("class",o).attr("text-anchor",y).attr("x",n).attr("y",a-(u.length-1)*m/2);for(const[k,g]of u.entries())c.append("tspan").attr("x",n).attr("dy",k===0?0:m).text(g);return c},"drawMultilineText"),rt=l((t,d,n)=>t+(d-t)*n,"lerp"),j=l((t,d,n,a,o,y,p)=>{if(p){const u=p.roughSvg.line(d,n,a,o,{roughness:1.5,seed:p.seed,stroke:p.lineColor,strokeWidth:2});t.append(()=>u).attr("class",y);return}return t.append("line").attr("class",y).attr("x1",d).attr("y1",n).attr("x2",a).attr("y2",o)},"drawLine"),Pt={draw:At},Bt=l(t=>` +.ishikawa .ishikawa-spine, +.ishikawa .ishikawa-branch, +.ishikawa .ishikawa-sub-branch { + stroke: ${t.lineColor}; + stroke-width: 2; + fill: none; +} + +.ishikawa .ishikawa-sub-branch { + stroke-width: 1; +} + +.ishikawa .ishikawa-arrow { + fill: ${t.lineColor}; +} + +.ishikawa .ishikawa-head { + fill: ${t.mainBkg}; + stroke: ${t.lineColor}; + stroke-width: 2; +} + +.ishikawa .ishikawa-label-box { + fill: ${t.mainBkg}; + stroke: ${t.lineColor}; + stroke-width: 2; +} + +.ishikawa text { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + fill: ${t.textColor}; +} + +.ishikawa .ishikawa-head-label { + font-weight: 600; + text-anchor: middle; + dominant-baseline: middle; + font-size: 14px; +} + +.ishikawa .ishikawa-label { + text-anchor: end; +} + +.ishikawa .ishikawa-label.cause { + text-anchor: middle; + dominant-baseline: middle; +} + +.ishikawa .ishikawa-label.align { + text-anchor: end; + dominant-baseline: middle; +} + +.ishikawa .ishikawa-label.up { + dominant-baseline: baseline; +} + +.ishikawa .ishikawa-label.down { + dominant-baseline: hanging; +} +`,"getStyles"),Dt=Bt,Vt={parser:bt,get db(){return new xt},renderer:Pt,styles:Dt};export{Vt as diagram}; diff --git a/_astro/journeyDiagram-JHISSGLW.D-GNXEdA.js b/_astro/journeyDiagram-JHISSGLW.D-GNXEdA.js new file mode 100644 index 0000000..abdb85d --- /dev/null +++ b/_astro/journeyDiagram-JHISSGLW.D-GNXEdA.js @@ -0,0 +1,139 @@ +import{g as gt}from"./chunk-FMBD7UC4.B9yPs07s.js";import{a as mt,g as lt,h as xt,d as kt}from"./chunk-ND2GUHAM.CiUMUSja.js";import{g as _t,s as vt,a as bt,b as wt,q as Tt,p as St,_ as s,c as R,d as X,e as $t,z as Mt}from"./mermaid.core.Ci_VGkOG.js";import{d as it}from"./arc.BTyyZ9t0.js";import"./preload-helper.DK3iz7C1.js";var U=(function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(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:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),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:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,z;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var H="";z=[];for(N in v[A])this.terminals_[N]&&N>yt&&z.push("'"+this.terminals_[N]+"'");_.showPosition?H="Parse error on line "+(C+1)+`: +`+_.showPosition()+` +Expecting `+z.join(", ")+", got '"+(this.terminals_[b]||b)+"'":H="Parse error on line "+(C+1)+": Unexpected "+(b==D?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(H,{text:_.match,token:this.terminals_[b]||b,line:_.yylineno,loc:Y,expected:z})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(T[0]){case 1:l.push(b),d.push(_.yytext),c.push(_.yylloc),l.push(T[1]),b=null,Q=_.yyleng,k=_.yytext,C=_.yylineno,Y=_.yylloc;break;case 2:if(M=this.productions_[T[1]][1],F.$=d[d.length-M],F._$={first_line:c[c.length-(M||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(M||1)].first_column,last_column:c[c.length-1].last_column},ft&&(F._$.range=[c[c.length-(M||1)].range[0],c[c.length-1].range[1]]),q=this.performAction.apply(F,[k,Q,C,I.yy,T[1],d,c].concat(dt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),d=d.slice(0,-1*M),c=c.slice(0,-1*M)),l.push(this.productions_[T[1]][0]),d.push(F.$),c.push(F._$),et=v[l[l.length-2]][l[l.length-1]],l.push(et);break;case 3:return!0}}return!0},"parse")},m=(function(){var h={EOF:1,parseError:s(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:s(function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var n=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var 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),l.length-1&&(this.yylineno-=l.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(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:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+n+"^"},"showPosition"),test_match:s(function(r,n){var l,y,d;if(this.options.backtrack_lexer&&(d={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(d.yylloc.range=this.yylloc.range.slice(0))),y=r[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+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],l=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var c in d)this[c]=d[c];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,n,l,y;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),c=0;cn[0].length)){if(n=l,y=c,this.options.backtrack_lexer){if(r=this.test_match(l,d[c]),r!==!1)return r;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(r=this.test_match(n,d[y]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var n=this.next();return n||this.lex()},"lex"),begin:s(function(n){this.conditionStack.push(n)},"begin"),popState:s(function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(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:s(function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:s(function(n){this.begin(n)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(n,l,y,d){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;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return h})();g.lexer=m;function x(){this.yy={}}return s(x,"Parser"),x.prototype=g,g.Parser=x,new x})();U.parser=U;var Et=U,V="",J=[],L=[],B=[],Ct=s(function(){J.length=0,L.length=0,V="",B.length=0,Mt()},"clear"),Pt=s(function(t){V=t,J.push(t)},"addSection"),It=s(function(){return J},"getSections"),At=s(function(){let t=rt();const e=100;let a=0;for(;!t&&a{a.people&&t.push(...a.people)}),[...new Set(t)].sort()},"updateActors"),Vt=s(function(t,e){const a=e.substr(1).split(":");let f=0,i=[];a.length===1?(f=Number(a[0]),i=[]):(f=Number(a[0]),i=a[1].split(","));const u=i.map(o=>o.trim()),p={section:V,type:V,people:u,task:t,score:f};B.push(p)},"addTask"),Rt=s(function(t){const e={section:V,type:V,description:t,task:t,classes:[]};L.push(e)},"addTaskOrg"),rt=s(function(){const t=s(function(a){return B[a].processed},"compileTask");let e=!0;for(const[a,f]of B.entries())t(a),e=e&&f.processed;return e},"compileTasks"),Lt=s(function(){return Ft()},"getActors"),nt={getConfig:s(()=>R().journey,"getConfig"),clear:Ct,setDiagramTitle:St,getDiagramTitle:Tt,setAccTitle:wt,getAccTitle:bt,setAccDescription:vt,getAccDescription:_t,addSection:Pt,getSections:It,getTasks:At,addTask:Vt,addTaskOrg:Rt,getActors:Lt},Bt=s(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}`:""}; + } + ${gt()} +`,"getStyles"),jt=Bt,K=s(function(t,e){return kt(t,e)},"drawRect"),Nt=s(function(t,e){const f=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 u(g){const m=it().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);g.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}s(u,"smile");function p(g){const m=it().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);g.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}s(p,"sad");function o(g){g.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 s(o,"ambivalent"),e.score>3?u(i):e.score<3?p(i):o(i),f},"drawFace"),ot=s(function(t,e){const a=t.append("circle");return a.attr("cx",e.cx),a.attr("cy",e.cy),a.attr("class","actor-"+e.pos),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("r",e.r),a.class!==void 0&&a.attr("class",a.class),e.title!==void 0&&a.append("title").text(e.title),a},"drawCircle"),ct=s(function(t,e){return xt(t,e)},"drawText"),zt=s(function(t,e){function a(i,u,p,o,g){return i+","+u+" "+(i+p)+","+u+" "+(i+p)+","+(u+o-g)+" "+(i+p-g*1.2)+","+(u+o)+" "+i+","+(u+o)}s(a,"genPoints");const f=t.append("polygon");f.attr("points",a(e.x,e.y,50,20,7)),f.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,ct(t,e)},"drawLabel"),Wt=s(function(t,e,a){const f=t.append("g"),i=lt();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=a.width*e.taskCount+a.diagramMarginX*(e.taskCount-1),i.height=a.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,K(f,i),ht(a)(e.text,f,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},a,e.colour)},"drawSection"),Z=-1,Ot=s(function(t,e,a,f){const i=e.x+a.width/2,u=t.append("g");Z++,u.append("line").attr("id",f+"-task"+Z).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Nt(u,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=lt();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=a.width,o.height=a.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,K(u,o);let g=e.x+14;e.people.forEach(m=>{const x=e.actors[m].color,h={cx:g,cy:e.y,r:7,fill:x,stroke:"#000",title:m,pos:e.actors[m].position};ot(u,h),g+=10}),ht(a)(e.task,u,o.x,o.y,o.width,o.height,{class:"task"},a,e.colour)},"drawTask"),Yt=s(function(t,e){mt(t,e)},"drawBackgroundRect"),ht=(function(){function t(i,u,p,o,g,m,x,h){const r=u.append("text").attr("x",p+g/2).attr("y",o+m/2+5).style("font-color",h).style("text-anchor","middle").text(i);f(r,x)}s(t,"byText");function e(i,u,p,o,g,m,x,h,r){const{taskFontSize:n,taskFontFamily:l}=h,y=i.split(//gi);for(let d=0;d{const u=E[i].color,p={cx:20,cy:f,r:7,fill:u,stroke:"#000",pos:E[i].position};j.drawCircle(t,p);let o=t.append("text").attr("visibility","hidden").text(i);const g=o.node().getBoundingClientRect().width;o.remove();let m=[];if(g<=a)m=[i];else{const x=i.split(" ");let h="";o=t.append("text").attr("visibility","hidden"),x.forEach(r=>{const n=h?`${h} ${r}`:r;if(o.text(n),o.node().getBoundingClientRect().width>a){if(h&&m.push(h),h=r,o.text(r),o.node().getBoundingClientRect().width>a){let y="";for(const d of r)y+=d,o.text(y+"-"),o.node().getBoundingClientRect().width>a&&(m.push(y.slice(0,-1)+"-"),y=d);h=y}}else h=n}),h&&m.push(h),o.remove()}m.forEach((x,h)=>{const r={x:40,y:f+7+h*20,fill:"#666",text:x,textMargin:e.boxTextMargin??5},l=j.drawText(t,r).node().getBoundingClientRect().width;l>W&&l>e.leftMargin-l&&(W=l)}),f+=Math.max(20,m.length*20)})}s(ut,"drawActorLegend");var $=R().journey,P=0,Xt=s(function(t,e,a,f){const i=R(),u=i.journey.titleColor,p=i.journey.titleFontSize,o=i.journey.titleFontFamily,g=i.securityLevel;let m;g==="sandbox"&&(m=X("#i"+e));const x=g==="sandbox"?X(m.nodes()[0].contentDocument.body):X("body");S.init();const h=x.select("#"+e);j.initGraphics(h,e);const r=f.db.getTasks(),n=f.db.getDiagramTitle(),l=f.db.getActors();for(const C in E)delete E[C];let y=0;l.forEach(C=>{E[C]={color:$.actorColours[y%$.actorColours.length],position:y},y++}),ut(h),P=$.leftMargin+W,S.insert(0,0,P,Object.keys(E).length*50),Gt(h,r,0,e);const d=S.getBounds();n&&h.append("text").text(n).attr("x",P).attr("font-size",p).attr("font-weight","bold").attr("y",25).attr("fill",u).attr("font-family",o);const c=d.stopy-d.starty+2*$.diagramMarginY,v=P+d.stopx+2*$.diagramMarginX;$t(h,c,v,$.useMaxWidth),h.append("line").attr("x1",P).attr("y1",$.height*4).attr("x2",v-P-4).attr("y2",$.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const k=n?70:0;h.attr("viewBox",`${d.startx} -25 ${v} ${c+k}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",c+k+25)},"draw"),S={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:s(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:s(function(t,e,a,f){t[e]===void 0?t[e]=a:t[e]=f(a,t[e])},"updateVal"),updateBounds:s(function(t,e,a,f){const i=R().journey,u=this;let p=0;function o(g){return s(function(x){p++;const h=u.sequenceItems.length-p+1;u.updateVal(x,"starty",e-h*i.boxMargin,Math.min),u.updateVal(x,"stopy",f+h*i.boxMargin,Math.max),u.updateVal(S.data,"startx",t-h*i.boxMargin,Math.min),u.updateVal(S.data,"stopx",a+h*i.boxMargin,Math.max),g!=="activation"&&(u.updateVal(x,"startx",t-h*i.boxMargin,Math.min),u.updateVal(x,"stopx",a+h*i.boxMargin,Math.max),u.updateVal(S.data,"starty",e-h*i.boxMargin,Math.min),u.updateVal(S.data,"stopy",f+h*i.boxMargin,Math.max))},"updateItemBounds")}s(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:s(function(t,e,a,f){const i=Math.min(t,a),u=Math.max(t,a),p=Math.min(e,f),o=Math.max(e,f);this.updateVal(S.data,"startx",i,Math.min),this.updateVal(S.data,"starty",p,Math.min),this.updateVal(S.data,"stopx",u,Math.max),this.updateVal(S.data,"stopy",o,Math.max),this.updateBounds(i,p,u,o)},"insert"),bumpVerticalPos:s(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:s(function(){return this.verticalPos},"getVerticalPos"),getBounds:s(function(){return this.data},"getBounds")},G=$.sectionFills,st=$.sectionColours,Gt=s(function(t,e,a,f){const i=R().journey;let u="";const p=i.height*2+i.diagramMarginY,o=a+p;let g=0,m="#CCC",x="black",h=0;for(const[r,n]of e.entries()){if(u!==n.section){m=G[g%G.length],h=g%G.length,x=st[g%st.length];let y=0;const d=n.section;for(let v=r;v(E[d]&&(y[d]=E[d]),y),{});n.x=r*i.taskMargin+r*i.width+P,n.y=o,n.width=i.diagramMarginX,n.height=i.diagramMarginY,n.colour=x,n.fill=m,n.num=h,n.actors=l,j.drawTask(t,n,i,f),S.insert(n.x,n.y,n.x+n.width+i.taskMargin,450)}},"drawTasks"),at={setConf:Ht,draw:Xt},Dt={parser:Et,db:nt,renderer:at,styles:jt,init:s(t=>{at.setConf(t.journey),nt.clear()},"init")};export{Dt as diagram}; diff --git a/_astro/kanban-definition-UN3LZRKU.Pclr6b-W.js b/_astro/kanban-definition-UN3LZRKU.Pclr6b-W.js new file mode 100644 index 0000000..cdc62a6 --- /dev/null +++ b/_astro/kanban-definition-UN3LZRKU.Pclr6b-W.js @@ -0,0 +1,89 @@ +import{_ as o,l as te,c as H,I as fe,af as ye,ag as be,ah as me,Y as _e,G as Y,i as j,t as ke,J as Ee,V as Se,W as ce,X as le}from"./mermaid.core.Ci_VGkOG.js";import{g as Ne}from"./chunk-FMBD7UC4.B9yPs07s.js";import"./preload-helper.DK3iz7C1.js";var $=(function(){var e=o(function(O,i,n,r){for(n=n||{},r=O.length;r--;n[O[r]]=i);return n},"o"),h=[1,4],p=[1,13],s=[1,12],d=[1,15],_=[1,16],m=[1,20],l=[1,19],D=[6,7,8],I=[1,26],g=[1,24],w=[1,25],k=[6,7,11],F=[1,31],N=[6,7,11,24],V=[1,6,13,16,17,20,23],f=[1,35],A=[1,36],L=[1,6,7,11,13,16,17,20,23],M=[1,38],T={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(i,n,r,a,u,t,U){var c=t.length-1;switch(u){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: ",t[c-1].id),a.addNode(t[c-2].length,t[c-1].id,t[c-1].descr,t[c-1].type,t[c]);break;case 16:a.getLogger().info("Node: ",t[c].id),a.addNode(t[c-1].length,t[c].id,t[c].descr,t[c].type);break;case 17:a.getLogger().trace("Icon: ",t[c]),a.decorateNode({icon:t[c]});break;case 18:case 23:a.decorateNode({class:t[c]});break;case 19:a.getLogger().trace("SPACELIST");break;case 20:a.getLogger().trace("Node: ",t[c-1].id),a.addNode(0,t[c-1].id,t[c-1].descr,t[c-1].type,t[c]);break;case 21:a.getLogger().trace("Node: ",t[c].id),a.addNode(0,t[c].id,t[c].descr,t[c].type);break;case 22:a.decorateNode({icon:t[c]});break;case 27:a.getLogger().trace("node found ..",t[c-2]),this.$={id:t[c-1],descr:t[c-1],type:a.getType(t[c-2],t[c])};break;case 28:this.$={id:t[c],descr:t[c],type:0};break;case 29:a.getLogger().trace("node found ..",t[c-3]),this.$={id:t[c-3],descr:t[c-1],type:a.getType(t[c-2],t[c])};break;case 30:this.$=t[c-1]+t[c];break;case 31:this.$=t[c];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:p,7:[1,10],9:9,12:11,13:s,14:14,16:d,17:_,18:17,19:18,20:m,23:l},e(D,[2,3]),{1:[2,2]},e(D,[2,4]),e(D,[2,5]),{1:[2,6],6:p,12:21,13:s,14:14,16:d,17:_,18:17,19:18,20:m,23:l},{6:p,9:22,12:11,13:s,14:14,16:d,17:_,18:17,19:18,20:m,23:l},{6:I,7:g,10:23,11:w},e(k,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:m,23:l}),e(k,[2,19]),e(k,[2,21],{15:30,24:F}),e(k,[2,22]),e(k,[2,23]),e(N,[2,25]),e(N,[2,26]),e(N,[2,28],{20:[1,32]}),{21:[1,33]},{6:I,7:g,10:34,11:w},{1:[2,7],6:p,12:21,13:s,14:14,16:d,17:_,18:17,19:18,20:m,23:l},e(V,[2,14],{7:f,11:A}),e(L,[2,8]),e(L,[2,9]),e(L,[2,10]),e(k,[2,16],{15:37,24:F}),e(k,[2,17]),e(k,[2,18]),e(k,[2,20],{24:M}),e(N,[2,31]),{21:[1,39]},{22:[1,40]},e(V,[2,13],{7:f,11:A}),e(L,[2,11]),e(L,[2,12]),e(k,[2,15],{24:M}),e(N,[2,30]),{22:[1,41]},e(N,[2,27]),e(N,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(i,n){if(n.recoverable)this.trace(i);else{var r=new Error(i);throw r.hash=n,r}},"parseError"),parse:o(function(i){var n=this,r=[0],a=[],u=[null],t=[],U=this.table,c="",W=0,se=0,ue=2,re=1,ge=t.slice.call(arguments,1),b=Object.create(this.lexer),R={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(R.yy[J]=this.yy[J]);b.setInput(i,R.yy),R.yy.lexer=b,R.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var q=b.yylloc;t.push(q);var de=b.options&&b.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){r.length=r.length-2*S,u.length=u.length-S,t.length=t.length-S}o(pe,"popStack");function ae(){var S;return S=a.pop()||b.lex()||re,typeof S!="number"&&(S instanceof Array&&(a=S,S=a.pop()),S=n.symbols_[S]||S),S}o(ae,"lex");for(var E,P,x,Q,G={},z,C,oe,X;;){if(P=r[r.length-1],this.defaultActions[P]?x=this.defaultActions[P]:((E===null||typeof E>"u")&&(E=ae()),x=U[P]&&U[P][E]),typeof x>"u"||!x.length||!x[0]){var Z="";X=[];for(z in U[P])this.terminals_[z]&&z>ue&&X.push("'"+this.terminals_[z]+"'");b.showPosition?Z="Parse error on line "+(W+1)+`: +`+b.showPosition()+` +Expecting `+X.join(", ")+", got '"+(this.terminals_[E]||E)+"'":Z="Parse error on line "+(W+1)+": Unexpected "+(E==re?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(Z,{text:b.match,token:this.terminals_[E]||E,line:b.yylineno,loc:q,expected:X})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+E);switch(x[0]){case 1:r.push(E),u.push(b.yytext),t.push(b.yylloc),r.push(x[1]),E=null,se=b.yyleng,c=b.yytext,W=b.yylineno,q=b.yylloc;break;case 2:if(C=this.productions_[x[1]][1],G.$=u[u.length-C],G._$={first_line:t[t.length-(C||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(C||1)].first_column,last_column:t[t.length-1].last_column},de&&(G._$.range=[t[t.length-(C||1)].range[0],t[t.length-1].range[1]]),Q=this.performAction.apply(G,[c,se,W,R.yy,x[1],u,t].concat(ge)),typeof Q<"u")return Q;C&&(r=r.slice(0,-1*C*2),u=u.slice(0,-1*C),t=t.slice(0,-1*C)),r.push(this.productions_[x[1]][0]),u.push(G.$),t.push(G._$),oe=U[r[r.length-2]][r[r.length-1]],r.push(oe);break;case 3:return!0}}return!0},"parse")},K=(function(){var O={EOF:1,parseError:o(function(n,r){if(this.yy.parser)this.yy.parser.parseError(n,r);else throw new Error(n)},"parseError"),setInput:o(function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:o(function(i){var n=i.length,r=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var 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),r.length-1&&(this.yylineno-=r.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===a.length?this.yylloc.first_column:0)+a[a.length-r.length].length-r[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-n]),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(i){this.unput(this.match.slice(i))},"less"),pastInput:o(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+n+"^"},"showPosition"),test_match:o(function(i,n){var r,a,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),a=i[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+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],r=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var t in u)this[t]=u[t];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,n,r,a;this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),t=0;tn[0].length)){if(n=r,a=t,this.options.backtrack_lexer){if(i=this.test_match(r,u[t]),i!==!1)return i;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(i=this.test_match(n,u[a]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var n=this.next();return n||this.lex()},"lex"),begin:o(function(n){this.conditionStack.push(n)},"begin"),popState:o(function(){var n=this.conditionStack.length-1;return n>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(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:o(function(n){this.begin(n)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(n,r,a,u){switch(a){case 0:return this.pushState("shapeData"),r.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const t=/\n\s*/g;return r.yytext=r.yytext.replace(t,"
"),24;case 4:return 24;case 5:this.popState();break;case 6:return n.getLogger().trace("Found comment",r.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:n.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return n.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:n.getLogger().trace("end icon"),this.popState();break;case 16:return n.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return n.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return n.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return n.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:n.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return n.getLogger().trace("description:",r.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),n.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),n.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),n.getLogger().trace("node end ...",r.yytext),"NODE_DEND";case 36:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),n.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),n.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 41:return n.getLogger().trace("Long description:",r.yytext),21;case 42:return n.getLogger().trace("Long description:",r.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return O})();T.lexer=K;function B(){this.yy={}}return o(B,"Parser"),B.prototype=T,T.Parser=B,new B})();$.parser=$;var xe=$,v=[],ne=[],ee=0,ie={},ve=o(()=>{v=[],ne=[],ee=0,ie={}},"clear"),De=o(e=>{if(v.length===0)return null;const h=v[0].level;let p=null;for(let s=v.length-1;s>=0;s--)if(v[s].level===h&&!p&&(p=v[s]),v[s].levell.parentId===d.id);for(const l of m){const D={id:l.id,parentId:d.id,label:j(l.label??"",s),labelType:"markdown",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"]};h.push(D)}}return{nodes:h,edges:e,other:{},config:H()}},"getData"),Oe=o((e,h,p,s,d)=>{const _=H();let m=_.mindmap?.padding??Y.mindmap.padding;switch(s){case y.ROUNDED_RECT:case y.RECT:case y.HEXAGON:m*=2}const l={id:j(h,_)||"kbn"+ee++,level:e,label:j(p,_),width:_.mindmap?.maxNodeWidth??Y.mindmap.maxNodeWidth,padding:m,isGroup:!1};if(d!==void 0){let I;d.includes(` +`)?I=d+` +`:I=`{ +`+d+` +}`;const g=ke(I,{schema:Ee});if(g.shape&&(g.shape!==g.shape.toLowerCase()||g.shape.includes("_")))throw new Error(`No such shape: ${g.shape}. Shape names should be lowercase.`);g?.shape&&g.shape==="kanbanItem"&&(l.shape=g?.shape),g?.label&&(l.label=g?.label),g?.icon&&(l.icon=g?.icon.toString()),g?.assigned&&(l.assigned=g?.assigned.toString()),g?.ticket&&(l.ticket=g?.ticket.toString()),g?.priority&&(l.priority=g?.priority)}const D=De(e);D?l.parentId=D.id||"kbn"+ee++:ne.push(l),v.push(l)},"addNode"),y={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Ie=o((e,h)=>{switch(te.debug("In get type",e,h),e){case"[":return y.RECT;case"(":return h===")"?y.ROUNDED_RECT:y.CLOUD;case"((":return y.CIRCLE;case")":return y.CLOUD;case"))":return y.BANG;case"{{":return y.HEXAGON;default:return y.DEFAULT}},"getType"),Ce=o((e,h)=>{ie[e]=h},"setElementForId"),we=o(e=>{if(!e)return;const h=H(),p=v[v.length-1];e.icon&&(p.icon=j(e.icon,h)),e.class&&(p.cssClasses=j(e.class,h))},"decorateNode"),Ae=o(e=>{switch(e){case y.DEFAULT:return"no-border";case y.RECT:return"rect";case y.ROUNDED_RECT:return"rounded-rect";case y.CIRCLE:return"circle";case y.CLOUD:return"cloud";case y.BANG:return"bang";case y.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Te=o(()=>te,"getLogger"),Re=o(e=>ie[e],"getElementById"),Pe={clear:ve,addNode:Oe,getSections:he,getData:Le,nodeType:y,getType:Ie,setElementForId:Ce,decorateNode:we,type2Str:Ae,getLogger:Te,getElementById:Re},Ve=Pe,Be=o(async(e,h,p,s)=>{te.debug(`Rendering kanban diagram +`+e);const _=s.db.getData(),m=H();m.htmlLabels=!1;const l=fe(h);for(const f of _.nodes)f.domId=`${h}-${f.id}`;const D=l.append("g");D.attr("class","sections");const I=l.append("g");I.attr("class","items");const g=_.nodes.filter(f=>f.isGroup);let w=0;const k=10,F=[];let N=25;for(const f of g){const A=m?.kanban?.sectionWidth||200;w=w+1,f.x=A*w+(w-1)*k/2,f.width=A,f.y=0,f.height=A*3,f.rx=5,f.ry=5,f.cssClasses=f.cssClasses+" section-"+w;const L=await ye(D,f);N=Math.max(N,L?.labelBBox?.height),F.push(L)}let V=0;for(const f of g){const A=F[V];V=V+1;const L=m?.kanban?.sectionWidth||200,M=-L*3/2+N;let T=M;const K=_.nodes.filter(i=>i.parentId===f.id);for(const i of K){if(i.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");i.x=f.x,i.width=L-1.5*k;const r=(await be(I,i,{config:m})).node().getBBox();i.y=T+r.height/2,await me(i),T=i.y+r.height/2+k/2}const B=A.cluster.select("rect"),O=Math.max(T-M+3*k,50)+(N-25);B.attr("height",O)}_e(void 0,l,m.mindmap?.padding??Y.kanban.padding,m.mindmap?.useMaxWidth??Y.kanban.useMaxWidth)},"draw"),Ge={draw:Be},je=o(e=>{let h="";for(let s=0;se.darkMode?le(s,d):ce(s,d),"adjuster");for(let s=0;s` + .edge { + stroke-width: 3; + } + ${je(e)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${e.git0}; + } + .section-root text { + fill: ${e.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .cluster-label, .label { + color: ${e.textColor}; + fill: ${e.textColor}; + } + .kanban-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } + ${Ne()} +`,"getStyles"),Me=Fe,ze={db:Ve,renderer:Ge,parser:xe,styles:Me};export{ze as diagram}; diff --git a/_astro/katex.HP8lGamR.js b/_astro/katex.HP8lGamR.js new file mode 100644 index 0000000..baa1bbe --- /dev/null +++ b/_astro/katex.HP8lGamR.js @@ -0,0 +1,257 @@ +class S extends Error{constructor(e,t){var a="KaTeX parse error: "+e,i,s,u=t&&t.loc;if(u&&u.start<=u.end){var h=u.lexer.input;i=u.start,s=u.end,i===h.length?a+=" at end of input: ":a+=" at position "+(i+1)+": ";var c=h.slice(i,s).replace(/[^]/g,"$&̲"),v;i>15?v="…"+h.slice(i-15,i):v=h.slice(0,i);var p;s+15r.replace(Y1,"-$1").toLowerCase(),W1={"&":"&",">":">","<":"<",'"':""","'":"'"},j1=/[&><"']/g,i0=r=>String(r).replace(j1,e=>W1[e]),Ce=r=>r.type==="ordgroup"||r.type==="color"?r.body.length===1?Ce(r.body[0]):r:r.type==="font"?Ce(r.body):r,Z1=new Set(["mathord","textord","atom"]),D0=r=>Z1.has(Ce(r).type),K1=r=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(r);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},dt={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:r=>"#"+r},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:r=>Math.max(0,r),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:r=>Math.max(0,r),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:r=>Math.max(0,r),cli:"-e, --max-expand ",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};function J1(r){if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function Q1(r){if(r.default!==void 0)return r.default;var e=Array.isArray(r.type)?r.type[0]:r.type;return J1(e)}function _1(r,e,t,a){var i=t[e];r[e]=i!==void 0?a.processor?a.processor(i):i:Q1(a)}class Et{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t of Object.keys(dt)){var a=dt[t];a&&_1(this,t,e,a)}}reportNonstrict(e,t,a){var i=this.strict;if(typeof i=="function"&&(i=i(e,t,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new S("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var i=this.strict;if(typeof i=="function")try{i=i(e,t,a)}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': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var t=K1(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}}class F0{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return w0[ea[this.id]]}sub(){return w0[ta[this.id]]}fracNum(){return w0[ra[this.id]]}fracDen(){return w0[aa[this.id]]}cramp(){return w0[ia[this.id]]}text(){return w0[na[this.id]]}isTight(){return this.size>=2}}var Rt=0,qe=1,_0=2,B0=3,me=4,p0=5,ee=6,l0=7,w0=[new F0(Rt,0,!1),new F0(qe,0,!0),new F0(_0,1,!1),new F0(B0,1,!0),new F0(me,2,!1),new F0(p0,2,!0),new F0(ee,3,!1),new F0(l0,3,!0)],ea=[me,p0,me,p0,ee,l0,ee,l0],ta=[p0,p0,p0,p0,l0,l0,l0,l0],ra=[_0,B0,me,p0,ee,l0,ee,l0],aa=[B0,B0,p0,p0,l0,l0,l0,l0],ia=[qe,qe,B0,B0,p0,p0,l0,l0],na=[Rt,qe,_0,B0,_0,B0,_0,B0],N={DISPLAY:w0[Rt],TEXT:w0[_0],SCRIPT:w0[me],SCRIPTSCRIPT:w0[ee]},ft=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function sa(r){for(var e=0;e=i[0]&&r<=i[1])return t.name}return null}var De=[];ft.forEach(r=>r.blocks.forEach(e=>De.push(...e)));function Gr(r){for(var e=0;e=De[e]&&r<=De[e+1])return!0;return!1}var r0=r=>r+" "+r,Q0=80,la=function(e,t){return"M95,"+(622+e+t)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+e/2.075+" -"+e+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+e)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},ua=function(e,t){return"M263,"+(601+e+t)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+e/2.084+" -"+e+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+e)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},oa=function(e,t){return"M983 "+(10+e+t)+` +l`+e/3.13+" -"+e+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},ha=function(e,t){return"M424,"+(2398+e+t)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+e)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+t+` +h400000v`+(40+e)+"h-400000z"},ma=function(e,t){return"M473,"+(2713+e+t)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"},ca=function(e){var t=e/2;return"M400000 "+e+" H0 L"+t+" 0 l65 45 L145 "+(e-80)+" H400000z"},da=function(e,t,a){var i=a-54-t-e;return"M702 "+(e+t)+"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 `+t+"H400000v"+(40+e)+"H742z"},fa=function(e,t,a){t=1e3*t;var i="";switch(e){case"sqrtMain":i=la(t,Q0);break;case"sqrtSize1":i=ua(t,Q0);break;case"sqrtSize2":i=oa(t,Q0);break;case"sqrtSize3":i=ha(t,Q0);break;case"sqrtSize4":i=ma(t,Q0);break;case"sqrtTall":i=da(t,Q0,a)}return i},va=function(e,t){switch(e){case"⎜":return r0("M291 0 H417 V"+t+" H291z");case"∣":return r0("M145 0 H188 V"+t+" H145z");case"∥":return r0("M145 0 H188 V"+t+" H145z")+r0("M367 0 H410 V"+t+" H367z");case"⎟":return r0("M457 0 H583 V"+t+" H457z");case"⎢":return r0("M319 0 H403 V"+t+" H319z");case"⎥":return r0("M263 0 H347 V"+t+" H263z");case"⎪":return r0("M384 0 H504 V"+t+" H384z");case"⏐":return r0("M312 0 H355 V"+t+" H312z");case"‖":return r0("M257 0 H300 V"+t+" H257z")+r0("M478 0 H521 V"+t+" H478z");default:return""}},ar={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:r0("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:r0("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:r0("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:r0("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:r0("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:r0("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:r0("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:r0("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},pa=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v1759 v84 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+t+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z +M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v602 h84z +M403 1759 V0 H319 V1759 v`+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v602 h84z +M347 1759 V0 h-84 V1759 v`+t+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};function ga(r){return"toText"in r}class ae{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t{if(ga(e))return e.toText();throw new Error("Expected MathDomNode with toText, got "+e.constructor.name)}).join("")}}var vt={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},ba={ex:!0,em:!0,mu:!0},Ur=function(e){return typeof e!="string"&&(e=e.unit),e in vt||e in ba||e==="ex"},K=function(e,t){var a;if(e.unit in vt)a=vt[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")a=t.fontMetrics().cssEmPerMu;else{var i;if(t.style.isTight()?i=t.havingStyle(t.style.text()):i=t,e.unit==="ex")a=i.fontMetrics().xHeight;else if(e.unit==="em")a=i.fontMetrics().quad;else throw new S("Invalid unit: '"+e.unit+"'");i!==t&&(a*=i.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*a,t.maxSize)},A=function(e){return+e.toFixed(4)+"em"},L0=function(e){return e.filter(t=>t).join(" ")},It=function(e){var t="";for(var a of Object.keys(e)){var i=e[a];i!==void 0&&(t+=$1(a)+":"+i+";")}return t},Vr=function(e,t,a){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},t){t.style.isTight()&&this.classes.push("mtight");var i=t.getColor();i&&(this.style.color=i)}},Xr=function(e){var t=document.createElement(e);t.className=L0(this.classes),Object.assign(t.style,this.style);for(var a of Object.keys(this.attributes))t.setAttribute(a,this.attributes[a]);for(var i=0;i/=\x00-\x1f]/,Yr=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+i0(L0(this.classes))+'"');var a=It(this.style);a&&(t+=' style="'+i0(a)+'"');for(var i of Object.keys(this.attributes)){if(ya.test(i))throw new S("Invalid attribute name '"+i+"'");t+=" "+i+'="'+i0(this.attributes[i])+'"'}t+=">";for(var s=0;s",t};class ie{constructor(e,t,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,Vr.call(this,e,a,i),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return Xr.call(this,"span")}toMarkup(){return Yr.call(this,"span")}}class Fe{constructor(e,t,a,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,Vr.call(this,t,i),this.children=a||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return Xr.call(this,"a")}toMarkup(){return Yr.call(this,"a")}}class xa{constructor(e,t,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=a}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");return e.src=this.src,e.alt=this.alt,e.className="mord",Object.assign(e.style,this.style),e}toMarkup(){var e=''+i0(this.alt)+'0&&(t=document.createElement("span"),t.style.marginRight=A(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=L0(this.classes)),Object.keys(this.style).length>0&&(t=t||document.createElement("span"),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="0&&(a+="margin-right:"+A(this.italic)+";"),a+=It(this.style),a&&(e=!0,t+=' style="'+i0(a)+'"');var i=i0(this.text);return e?(t+=">",t+=i,t+="",t):i}}class C0{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var a of Object.keys(this.attributes))t.setAttribute(a,this.attributes[a]);for(var i=0;i':''}}class pt{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var a of Object.keys(this.attributes))t.setAttribute(a,this.attributes[a]);return t}toMarkup(){var e=" but got "+String(r)+".")}var za=r=>r instanceof ie||r instanceof Fe||r instanceof ae,k0={"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]}},we={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]},ir={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function Aa(r,e){k0[r]=e}function Nt(r,e,t){if(!k0[e])throw new Error("Font metrics not found for font: "+e+".");var a=r.charCodeAt(0),i=k0[e][a];if(!i&&r[0]in ir&&(a=ir[r[0]].charCodeAt(0),i=k0[e][a]),!i&&t==="text"&&Gr(a)&&(i=k0[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Je={};function Ma(r){var e;if(r>=5?e=0:r>=3?e=1:e=2,!Je[e]){var t=Je[e]={cssEmPerMu:we.quad[e]/18};for(var a in we)we.hasOwnProperty(a)&&(t[a]=we[a][e])}return Je[e]}var W={math:{},text:{}};function n(r,e,t,a,i,s){W[r][i]={font:e,group:t,replace:a},s&&a&&(W[r][a]=W[r][i])}var l="math",w="text",o="main",d="ams",j="accent-token",D="bin",u0="close",ne="inner",E="mathord",t0="op-token",f0="open",de="punct",f="rel",q0="spacing",g="textord";n(l,o,f,"≡","\\equiv",!0);n(l,o,f,"≺","\\prec",!0);n(l,o,f,"≻","\\succ",!0);n(l,o,f,"∼","\\sim",!0);n(l,o,f,"⊥","\\perp");n(l,o,f,"⪯","\\preceq",!0);n(l,o,f,"⪰","\\succeq",!0);n(l,o,f,"≃","\\simeq",!0);n(l,o,f,"∣","\\mid",!0);n(l,o,f,"≪","\\ll",!0);n(l,o,f,"≫","\\gg",!0);n(l,o,f,"≍","\\asymp",!0);n(l,o,f,"∥","\\parallel");n(l,o,f,"⋈","\\bowtie",!0);n(l,o,f,"⌣","\\smile",!0);n(l,o,f,"⊑","\\sqsubseteq",!0);n(l,o,f,"⊒","\\sqsupseteq",!0);n(l,o,f,"≐","\\doteq",!0);n(l,o,f,"⌢","\\frown",!0);n(l,o,f,"∋","\\ni",!0);n(l,o,f,"∝","\\propto",!0);n(l,o,f,"⊢","\\vdash",!0);n(l,o,f,"⊣","\\dashv",!0);n(l,o,f,"∋","\\owns");n(l,o,de,".","\\ldotp");n(l,o,de,"⋅","\\cdotp");n(l,o,de,"⋅","·");n(w,o,g,"⋅","·");n(l,o,g,"#","\\#");n(w,o,g,"#","\\#");n(l,o,g,"&","\\&");n(w,o,g,"&","\\&");n(l,o,g,"ℵ","\\aleph",!0);n(l,o,g,"∀","\\forall",!0);n(l,o,g,"ℏ","\\hbar",!0);n(l,o,g,"∃","\\exists",!0);n(l,o,g,"∇","\\nabla",!0);n(l,o,g,"♭","\\flat",!0);n(l,o,g,"ℓ","\\ell",!0);n(l,o,g,"♮","\\natural",!0);n(l,o,g,"♣","\\clubsuit",!0);n(l,o,g,"℘","\\wp",!0);n(l,o,g,"♯","\\sharp",!0);n(l,o,g,"♢","\\diamondsuit",!0);n(l,o,g,"ℜ","\\Re",!0);n(l,o,g,"♡","\\heartsuit",!0);n(l,o,g,"ℑ","\\Im",!0);n(l,o,g,"♠","\\spadesuit",!0);n(l,o,g,"§","\\S",!0);n(w,o,g,"§","\\S");n(l,o,g,"¶","\\P",!0);n(w,o,g,"¶","\\P");n(l,o,g,"†","\\dag");n(w,o,g,"†","\\dag");n(w,o,g,"†","\\textdagger");n(l,o,g,"‡","\\ddag");n(w,o,g,"‡","\\ddag");n(w,o,g,"‡","\\textdaggerdbl");n(l,o,u0,"⎱","\\rmoustache",!0);n(l,o,f0,"⎰","\\lmoustache",!0);n(l,o,u0,"⟯","\\rgroup",!0);n(l,o,f0,"⟮","\\lgroup",!0);n(l,o,D,"∓","\\mp",!0);n(l,o,D,"⊖","\\ominus",!0);n(l,o,D,"⊎","\\uplus",!0);n(l,o,D,"⊓","\\sqcap",!0);n(l,o,D,"∗","\\ast");n(l,o,D,"⊔","\\sqcup",!0);n(l,o,D,"◯","\\bigcirc",!0);n(l,o,D,"∙","\\bullet",!0);n(l,o,D,"‡","\\ddagger");n(l,o,D,"≀","\\wr",!0);n(l,o,D,"⨿","\\amalg");n(l,o,D,"&","\\And");n(l,o,f,"⟵","\\longleftarrow",!0);n(l,o,f,"⇐","\\Leftarrow",!0);n(l,o,f,"⟸","\\Longleftarrow",!0);n(l,o,f,"⟶","\\longrightarrow",!0);n(l,o,f,"⇒","\\Rightarrow",!0);n(l,o,f,"⟹","\\Longrightarrow",!0);n(l,o,f,"↔","\\leftrightarrow",!0);n(l,o,f,"⟷","\\longleftrightarrow",!0);n(l,o,f,"⇔","\\Leftrightarrow",!0);n(l,o,f,"⟺","\\Longleftrightarrow",!0);n(l,o,f,"↦","\\mapsto",!0);n(l,o,f,"⟼","\\longmapsto",!0);n(l,o,f,"↗","\\nearrow",!0);n(l,o,f,"↩","\\hookleftarrow",!0);n(l,o,f,"↪","\\hookrightarrow",!0);n(l,o,f,"↘","\\searrow",!0);n(l,o,f,"↼","\\leftharpoonup",!0);n(l,o,f,"⇀","\\rightharpoonup",!0);n(l,o,f,"↙","\\swarrow",!0);n(l,o,f,"↽","\\leftharpoondown",!0);n(l,o,f,"⇁","\\rightharpoondown",!0);n(l,o,f,"↖","\\nwarrow",!0);n(l,o,f,"⇌","\\rightleftharpoons",!0);n(l,d,f,"≮","\\nless",!0);n(l,d,f,"","\\@nleqslant");n(l,d,f,"","\\@nleqq");n(l,d,f,"⪇","\\lneq",!0);n(l,d,f,"≨","\\lneqq",!0);n(l,d,f,"","\\@lvertneqq");n(l,d,f,"⋦","\\lnsim",!0);n(l,d,f,"⪉","\\lnapprox",!0);n(l,d,f,"⊀","\\nprec",!0);n(l,d,f,"⋠","\\npreceq",!0);n(l,d,f,"⋨","\\precnsim",!0);n(l,d,f,"⪹","\\precnapprox",!0);n(l,d,f,"≁","\\nsim",!0);n(l,d,f,"","\\@nshortmid");n(l,d,f,"∤","\\nmid",!0);n(l,d,f,"⊬","\\nvdash",!0);n(l,d,f,"⊭","\\nvDash",!0);n(l,d,f,"⋪","\\ntriangleleft");n(l,d,f,"⋬","\\ntrianglelefteq",!0);n(l,d,f,"⊊","\\subsetneq",!0);n(l,d,f,"","\\@varsubsetneq");n(l,d,f,"⫋","\\subsetneqq",!0);n(l,d,f,"","\\@varsubsetneqq");n(l,d,f,"≯","\\ngtr",!0);n(l,d,f,"","\\@ngeqslant");n(l,d,f,"","\\@ngeqq");n(l,d,f,"⪈","\\gneq",!0);n(l,d,f,"≩","\\gneqq",!0);n(l,d,f,"","\\@gvertneqq");n(l,d,f,"⋧","\\gnsim",!0);n(l,d,f,"⪊","\\gnapprox",!0);n(l,d,f,"⊁","\\nsucc",!0);n(l,d,f,"⋡","\\nsucceq",!0);n(l,d,f,"⋩","\\succnsim",!0);n(l,d,f,"⪺","\\succnapprox",!0);n(l,d,f,"≆","\\ncong",!0);n(l,d,f,"","\\@nshortparallel");n(l,d,f,"∦","\\nparallel",!0);n(l,d,f,"⊯","\\nVDash",!0);n(l,d,f,"⋫","\\ntriangleright");n(l,d,f,"⋭","\\ntrianglerighteq",!0);n(l,d,f,"","\\@nsupseteqq");n(l,d,f,"⊋","\\supsetneq",!0);n(l,d,f,"","\\@varsupsetneq");n(l,d,f,"⫌","\\supsetneqq",!0);n(l,d,f,"","\\@varsupsetneqq");n(l,d,f,"⊮","\\nVdash",!0);n(l,d,f,"⪵","\\precneqq",!0);n(l,d,f,"⪶","\\succneqq",!0);n(l,d,f,"","\\@nsubseteqq");n(l,d,D,"⊴","\\unlhd");n(l,d,D,"⊵","\\unrhd");n(l,d,f,"↚","\\nleftarrow",!0);n(l,d,f,"↛","\\nrightarrow",!0);n(l,d,f,"⇍","\\nLeftarrow",!0);n(l,d,f,"⇏","\\nRightarrow",!0);n(l,d,f,"↮","\\nleftrightarrow",!0);n(l,d,f,"⇎","\\nLeftrightarrow",!0);n(l,d,f,"△","\\vartriangle");n(l,d,g,"ℏ","\\hslash");n(l,d,g,"▽","\\triangledown");n(l,d,g,"◊","\\lozenge");n(l,d,g,"Ⓢ","\\circledS");n(l,d,g,"®","\\circledR");n(w,d,g,"®","\\circledR");n(l,d,g,"∡","\\measuredangle",!0);n(l,d,g,"∄","\\nexists");n(l,d,g,"℧","\\mho");n(l,d,g,"Ⅎ","\\Finv",!0);n(l,d,g,"⅁","\\Game",!0);n(l,d,g,"‵","\\backprime");n(l,d,g,"▲","\\blacktriangle");n(l,d,g,"▼","\\blacktriangledown");n(l,d,g,"■","\\blacksquare");n(l,d,g,"⧫","\\blacklozenge");n(l,d,g,"★","\\bigstar");n(l,d,g,"∢","\\sphericalangle",!0);n(l,d,g,"∁","\\complement",!0);n(l,d,g,"ð","\\eth",!0);n(w,o,g,"ð","ð");n(l,d,g,"╱","\\diagup");n(l,d,g,"╲","\\diagdown");n(l,d,g,"□","\\square");n(l,d,g,"□","\\Box");n(l,d,g,"◊","\\Diamond");n(l,d,g,"¥","\\yen",!0);n(w,d,g,"¥","\\yen",!0);n(l,d,g,"✓","\\checkmark",!0);n(w,d,g,"✓","\\checkmark");n(l,d,g,"ℶ","\\beth",!0);n(l,d,g,"ℸ","\\daleth",!0);n(l,d,g,"ℷ","\\gimel",!0);n(l,d,g,"ϝ","\\digamma",!0);n(l,d,g,"ϰ","\\varkappa");n(l,d,f0,"┌","\\@ulcorner",!0);n(l,d,u0,"┐","\\@urcorner",!0);n(l,d,f0,"└","\\@llcorner",!0);n(l,d,u0,"┘","\\@lrcorner",!0);n(l,d,f,"≦","\\leqq",!0);n(l,d,f,"⩽","\\leqslant",!0);n(l,d,f,"⪕","\\eqslantless",!0);n(l,d,f,"≲","\\lesssim",!0);n(l,d,f,"⪅","\\lessapprox",!0);n(l,d,f,"≊","\\approxeq",!0);n(l,d,D,"⋖","\\lessdot");n(l,d,f,"⋘","\\lll",!0);n(l,d,f,"≶","\\lessgtr",!0);n(l,d,f,"⋚","\\lesseqgtr",!0);n(l,d,f,"⪋","\\lesseqqgtr",!0);n(l,d,f,"≑","\\doteqdot");n(l,d,f,"≓","\\risingdotseq",!0);n(l,d,f,"≒","\\fallingdotseq",!0);n(l,d,f,"∽","\\backsim",!0);n(l,d,f,"⋍","\\backsimeq",!0);n(l,d,f,"⫅","\\subseteqq",!0);n(l,d,f,"⋐","\\Subset",!0);n(l,d,f,"⊏","\\sqsubset",!0);n(l,d,f,"≼","\\preccurlyeq",!0);n(l,d,f,"⋞","\\curlyeqprec",!0);n(l,d,f,"≾","\\precsim",!0);n(l,d,f,"⪷","\\precapprox",!0);n(l,d,f,"⊲","\\vartriangleleft");n(l,d,f,"⊴","\\trianglelefteq");n(l,d,f,"⊨","\\vDash",!0);n(l,d,f,"⊪","\\Vvdash",!0);n(l,d,f,"⌣","\\smallsmile");n(l,d,f,"⌢","\\smallfrown");n(l,d,f,"≏","\\bumpeq",!0);n(l,d,f,"≎","\\Bumpeq",!0);n(l,d,f,"≧","\\geqq",!0);n(l,d,f,"⩾","\\geqslant",!0);n(l,d,f,"⪖","\\eqslantgtr",!0);n(l,d,f,"≳","\\gtrsim",!0);n(l,d,f,"⪆","\\gtrapprox",!0);n(l,d,D,"⋗","\\gtrdot");n(l,d,f,"⋙","\\ggg",!0);n(l,d,f,"≷","\\gtrless",!0);n(l,d,f,"⋛","\\gtreqless",!0);n(l,d,f,"⪌","\\gtreqqless",!0);n(l,d,f,"≖","\\eqcirc",!0);n(l,d,f,"≗","\\circeq",!0);n(l,d,f,"≜","\\triangleq",!0);n(l,d,f,"∼","\\thicksim");n(l,d,f,"≈","\\thickapprox");n(l,d,f,"⫆","\\supseteqq",!0);n(l,d,f,"⋑","\\Supset",!0);n(l,d,f,"⊐","\\sqsupset",!0);n(l,d,f,"≽","\\succcurlyeq",!0);n(l,d,f,"⋟","\\curlyeqsucc",!0);n(l,d,f,"≿","\\succsim",!0);n(l,d,f,"⪸","\\succapprox",!0);n(l,d,f,"⊳","\\vartriangleright");n(l,d,f,"⊵","\\trianglerighteq");n(l,d,f,"⊩","\\Vdash",!0);n(l,d,f,"∣","\\shortmid");n(l,d,f,"∥","\\shortparallel");n(l,d,f,"≬","\\between",!0);n(l,d,f,"⋔","\\pitchfork",!0);n(l,d,f,"∝","\\varpropto");n(l,d,f,"◀","\\blacktriangleleft");n(l,d,f,"∴","\\therefore",!0);n(l,d,f,"∍","\\backepsilon");n(l,d,f,"▶","\\blacktriangleright");n(l,d,f,"∵","\\because",!0);n(l,d,f,"⋘","\\llless");n(l,d,f,"⋙","\\gggtr");n(l,d,D,"⊲","\\lhd");n(l,d,D,"⊳","\\rhd");n(l,d,f,"≂","\\eqsim",!0);n(l,o,f,"⋈","\\Join");n(l,d,f,"≑","\\Doteq",!0);n(l,d,D,"∔","\\dotplus",!0);n(l,d,D,"∖","\\smallsetminus");n(l,d,D,"⋒","\\Cap",!0);n(l,d,D,"⋓","\\Cup",!0);n(l,d,D,"⩞","\\doublebarwedge",!0);n(l,d,D,"⊟","\\boxminus",!0);n(l,d,D,"⊞","\\boxplus",!0);n(l,d,D,"⋇","\\divideontimes",!0);n(l,d,D,"⋉","\\ltimes",!0);n(l,d,D,"⋊","\\rtimes",!0);n(l,d,D,"⋋","\\leftthreetimes",!0);n(l,d,D,"⋌","\\rightthreetimes",!0);n(l,d,D,"⋏","\\curlywedge",!0);n(l,d,D,"⋎","\\curlyvee",!0);n(l,d,D,"⊝","\\circleddash",!0);n(l,d,D,"⊛","\\circledast",!0);n(l,d,D,"⋅","\\centerdot");n(l,d,D,"⊺","\\intercal",!0);n(l,d,D,"⋒","\\doublecap");n(l,d,D,"⋓","\\doublecup");n(l,d,D,"⊠","\\boxtimes",!0);n(l,d,f,"⇢","\\dashrightarrow",!0);n(l,d,f,"⇠","\\dashleftarrow",!0);n(l,d,f,"⇇","\\leftleftarrows",!0);n(l,d,f,"⇆","\\leftrightarrows",!0);n(l,d,f,"⇚","\\Lleftarrow",!0);n(l,d,f,"↞","\\twoheadleftarrow",!0);n(l,d,f,"↢","\\leftarrowtail",!0);n(l,d,f,"↫","\\looparrowleft",!0);n(l,d,f,"⇋","\\leftrightharpoons",!0);n(l,d,f,"↶","\\curvearrowleft",!0);n(l,d,f,"↺","\\circlearrowleft",!0);n(l,d,f,"↰","\\Lsh",!0);n(l,d,f,"⇈","\\upuparrows",!0);n(l,d,f,"↿","\\upharpoonleft",!0);n(l,d,f,"⇃","\\downharpoonleft",!0);n(l,o,f,"⊶","\\origof",!0);n(l,o,f,"⊷","\\imageof",!0);n(l,d,f,"⊸","\\multimap",!0);n(l,d,f,"↭","\\leftrightsquigarrow",!0);n(l,d,f,"⇉","\\rightrightarrows",!0);n(l,d,f,"⇄","\\rightleftarrows",!0);n(l,d,f,"↠","\\twoheadrightarrow",!0);n(l,d,f,"↣","\\rightarrowtail",!0);n(l,d,f,"↬","\\looparrowright",!0);n(l,d,f,"↷","\\curvearrowright",!0);n(l,d,f,"↻","\\circlearrowright",!0);n(l,d,f,"↱","\\Rsh",!0);n(l,d,f,"⇊","\\downdownarrows",!0);n(l,d,f,"↾","\\upharpoonright",!0);n(l,d,f,"⇂","\\downharpoonright",!0);n(l,d,f,"⇝","\\rightsquigarrow",!0);n(l,d,f,"⇝","\\leadsto");n(l,d,f,"⇛","\\Rrightarrow",!0);n(l,d,f,"↾","\\restriction");n(l,o,g,"‘","`");n(l,o,g,"$","\\$");n(w,o,g,"$","\\$");n(w,o,g,"$","\\textdollar");n(l,o,g,"%","\\%");n(w,o,g,"%","\\%");n(l,o,g,"_","\\_");n(w,o,g,"_","\\_");n(w,o,g,"_","\\textunderscore");n(l,o,g,"∠","\\angle",!0);n(l,o,g,"∞","\\infty",!0);n(l,o,g,"′","\\prime");n(l,o,g,"△","\\triangle");n(l,o,g,"Γ","\\Gamma",!0);n(l,o,g,"Δ","\\Delta",!0);n(l,o,g,"Θ","\\Theta",!0);n(l,o,g,"Λ","\\Lambda",!0);n(l,o,g,"Ξ","\\Xi",!0);n(l,o,g,"Π","\\Pi",!0);n(l,o,g,"Σ","\\Sigma",!0);n(l,o,g,"Υ","\\Upsilon",!0);n(l,o,g,"Φ","\\Phi",!0);n(l,o,g,"Ψ","\\Psi",!0);n(l,o,g,"Ω","\\Omega",!0);n(l,o,g,"A","Α");n(l,o,g,"B","Β");n(l,o,g,"E","Ε");n(l,o,g,"Z","Ζ");n(l,o,g,"H","Η");n(l,o,g,"I","Ι");n(l,o,g,"K","Κ");n(l,o,g,"M","Μ");n(l,o,g,"N","Ν");n(l,o,g,"O","Ο");n(l,o,g,"P","Ρ");n(l,o,g,"T","Τ");n(l,o,g,"X","Χ");n(l,o,g,"¬","\\neg",!0);n(l,o,g,"¬","\\lnot");n(l,o,g,"⊤","\\top");n(l,o,g,"⊥","\\bot");n(l,o,g,"∅","\\emptyset");n(l,d,g,"∅","\\varnothing");n(l,o,E,"α","\\alpha",!0);n(l,o,E,"β","\\beta",!0);n(l,o,E,"γ","\\gamma",!0);n(l,o,E,"δ","\\delta",!0);n(l,o,E,"ϵ","\\epsilon",!0);n(l,o,E,"ζ","\\zeta",!0);n(l,o,E,"η","\\eta",!0);n(l,o,E,"θ","\\theta",!0);n(l,o,E,"ι","\\iota",!0);n(l,o,E,"κ","\\kappa",!0);n(l,o,E,"λ","\\lambda",!0);n(l,o,E,"μ","\\mu",!0);n(l,o,E,"ν","\\nu",!0);n(l,o,E,"ξ","\\xi",!0);n(l,o,E,"ο","\\omicron",!0);n(l,o,E,"π","\\pi",!0);n(l,o,E,"ρ","\\rho",!0);n(l,o,E,"σ","\\sigma",!0);n(l,o,E,"τ","\\tau",!0);n(l,o,E,"υ","\\upsilon",!0);n(l,o,E,"ϕ","\\phi",!0);n(l,o,E,"χ","\\chi",!0);n(l,o,E,"ψ","\\psi",!0);n(l,o,E,"ω","\\omega",!0);n(l,o,E,"ε","\\varepsilon",!0);n(l,o,E,"ϑ","\\vartheta",!0);n(l,o,E,"ϖ","\\varpi",!0);n(l,o,E,"ϱ","\\varrho",!0);n(l,o,E,"ς","\\varsigma",!0);n(l,o,E,"φ","\\varphi",!0);n(l,o,D,"∗","*",!0);n(l,o,D,"+","+");n(l,o,D,"−","-",!0);n(l,o,D,"⋅","\\cdot",!0);n(l,o,D,"∘","\\circ",!0);n(l,o,D,"÷","\\div",!0);n(l,o,D,"±","\\pm",!0);n(l,o,D,"×","\\times",!0);n(l,o,D,"∩","\\cap",!0);n(l,o,D,"∪","\\cup",!0);n(l,o,D,"∖","\\setminus",!0);n(l,o,D,"∧","\\land");n(l,o,D,"∨","\\lor");n(l,o,D,"∧","\\wedge",!0);n(l,o,D,"∨","\\vee",!0);n(l,o,g,"√","\\surd");n(l,o,f0,"⟨","\\langle",!0);n(l,o,f0,"∣","\\lvert");n(l,o,f0,"∥","\\lVert");n(l,o,u0,"?","?");n(l,o,u0,"!","!");n(l,o,u0,"⟩","\\rangle",!0);n(l,o,u0,"∣","\\rvert");n(l,o,u0,"∥","\\rVert");n(l,o,f,"=","=");n(l,o,f,":",":");n(l,o,f,"≈","\\approx",!0);n(l,o,f,"≅","\\cong",!0);n(l,o,f,"≥","\\ge");n(l,o,f,"≥","\\geq",!0);n(l,o,f,"←","\\gets");n(l,o,f,">","\\gt",!0);n(l,o,f,"∈","\\in",!0);n(l,o,f,"","\\@not");n(l,o,f,"⊂","\\subset",!0);n(l,o,f,"⊃","\\supset",!0);n(l,o,f,"⊆","\\subseteq",!0);n(l,o,f,"⊇","\\supseteq",!0);n(l,d,f,"⊈","\\nsubseteq",!0);n(l,d,f,"⊉","\\nsupseteq",!0);n(l,o,f,"⊨","\\models");n(l,o,f,"←","\\leftarrow",!0);n(l,o,f,"≤","\\le");n(l,o,f,"≤","\\leq",!0);n(l,o,f,"<","\\lt",!0);n(l,o,f,"→","\\rightarrow",!0);n(l,o,f,"→","\\to");n(l,d,f,"≱","\\ngeq",!0);n(l,d,f,"≰","\\nleq",!0);n(l,o,q0," ","\\ ");n(l,o,q0," ","\\space");n(l,o,q0," ","\\nobreakspace");n(w,o,q0," ","\\ ");n(w,o,q0," "," ");n(w,o,q0," ","\\space");n(w,o,q0," ","\\nobreakspace");n(l,o,q0,"","\\nobreak");n(l,o,q0,"","\\allowbreak");n(l,o,de,",",",");n(l,o,de,";",";");n(l,d,D,"⊼","\\barwedge",!0);n(l,d,D,"⊻","\\veebar",!0);n(l,o,D,"⊙","\\odot",!0);n(l,o,D,"⊕","\\oplus",!0);n(l,o,D,"⊗","\\otimes",!0);n(l,o,g,"∂","\\partial",!0);n(l,o,D,"⊘","\\oslash",!0);n(l,d,D,"⊚","\\circledcirc",!0);n(l,d,D,"⊡","\\boxdot",!0);n(l,o,D,"△","\\bigtriangleup");n(l,o,D,"▽","\\bigtriangledown");n(l,o,D,"†","\\dagger");n(l,o,D,"⋄","\\diamond");n(l,o,D,"⋆","\\star");n(l,o,D,"◃","\\triangleleft");n(l,o,D,"▹","\\triangleright");n(l,o,f0,"{","\\{");n(w,o,g,"{","\\{");n(w,o,g,"{","\\textbraceleft");n(l,o,u0,"}","\\}");n(w,o,g,"}","\\}");n(w,o,g,"}","\\textbraceright");n(l,o,f0,"{","\\lbrace");n(l,o,u0,"}","\\rbrace");n(l,o,f0,"[","\\lbrack",!0);n(w,o,g,"[","\\lbrack",!0);n(l,o,u0,"]","\\rbrack",!0);n(w,o,g,"]","\\rbrack",!0);n(l,o,f0,"(","\\lparen",!0);n(l,o,u0,")","\\rparen",!0);n(w,o,g,"<","\\textless",!0);n(w,o,g,">","\\textgreater",!0);n(l,o,f0,"⌊","\\lfloor",!0);n(l,o,u0,"⌋","\\rfloor",!0);n(l,o,f0,"⌈","\\lceil",!0);n(l,o,u0,"⌉","\\rceil",!0);n(l,o,g,"\\","\\backslash");n(l,o,g,"∣","|");n(l,o,g,"∣","\\vert");n(w,o,g,"|","\\textbar",!0);n(l,o,g,"∥","\\|");n(l,o,g,"∥","\\Vert");n(w,o,g,"∥","\\textbardbl");n(w,o,g,"~","\\textasciitilde");n(w,o,g,"\\","\\textbackslash");n(w,o,g,"^","\\textasciicircum");n(l,o,f,"↑","\\uparrow",!0);n(l,o,f,"⇑","\\Uparrow",!0);n(l,o,f,"↓","\\downarrow",!0);n(l,o,f,"⇓","\\Downarrow",!0);n(l,o,f,"↕","\\updownarrow",!0);n(l,o,f,"⇕","\\Updownarrow",!0);n(l,o,t0,"∐","\\coprod");n(l,o,t0,"⋁","\\bigvee");n(l,o,t0,"⋀","\\bigwedge");n(l,o,t0,"⨄","\\biguplus");n(l,o,t0,"⋂","\\bigcap");n(l,o,t0,"⋃","\\bigcup");n(l,o,t0,"∫","\\int");n(l,o,t0,"∫","\\intop");n(l,o,t0,"∬","\\iint");n(l,o,t0,"∭","\\iiint");n(l,o,t0,"∏","\\prod");n(l,o,t0,"∑","\\sum");n(l,o,t0,"⨂","\\bigotimes");n(l,o,t0,"⨁","\\bigoplus");n(l,o,t0,"⨀","\\bigodot");n(l,o,t0,"∮","\\oint");n(l,o,t0,"∯","\\oiint");n(l,o,t0,"∰","\\oiiint");n(l,o,t0,"⨆","\\bigsqcup");n(l,o,t0,"∫","\\smallint");n(w,o,ne,"…","\\textellipsis");n(l,o,ne,"…","\\mathellipsis");n(w,o,ne,"…","\\ldots",!0);n(l,o,ne,"…","\\ldots",!0);n(l,o,ne,"⋯","\\@cdots",!0);n(l,o,ne,"⋱","\\ddots",!0);n(l,o,g,"⋮","\\varvdots");n(w,o,g,"⋮","\\varvdots");n(l,o,j,"ˊ","\\acute");n(l,o,j,"ˋ","\\grave");n(l,o,j,"¨","\\ddot");n(l,o,j,"~","\\tilde");n(l,o,j,"ˉ","\\bar");n(l,o,j,"˘","\\breve");n(l,o,j,"ˇ","\\check");n(l,o,j,"^","\\hat");n(l,o,j,"⃗","\\vec");n(l,o,j,"˙","\\dot");n(l,o,j,"˚","\\mathring");n(l,o,E,"","\\@imath");n(l,o,E,"","\\@jmath");n(l,o,g,"ı","ı");n(l,o,g,"ȷ","ȷ");n(w,o,g,"ı","\\i",!0);n(w,o,g,"ȷ","\\j",!0);n(w,o,g,"ß","\\ss",!0);n(w,o,g,"æ","\\ae",!0);n(w,o,g,"œ","\\oe",!0);n(w,o,g,"ø","\\o",!0);n(w,o,g,"Æ","\\AE",!0);n(w,o,g,"Œ","\\OE",!0);n(w,o,g,"Ø","\\O",!0);n(w,o,j,"ˊ","\\'");n(w,o,j,"ˋ","\\`");n(w,o,j,"ˆ","\\^");n(w,o,j,"˜","\\~");n(w,o,j,"ˉ","\\=");n(w,o,j,"˘","\\u");n(w,o,j,"˙","\\.");n(w,o,j,"¸","\\c");n(w,o,j,"˚","\\r");n(w,o,j,"ˇ","\\v");n(w,o,j,"¨",'\\"');n(w,o,j,"˝","\\H");n(w,o,j,"◯","\\textcircled");var $r={"--":!0,"---":!0,"``":!0,"''":!0};n(w,o,g,"–","--",!0);n(w,o,g,"–","\\textendash");n(w,o,g,"—","---",!0);n(w,o,g,"—","\\textemdash");n(w,o,g,"‘","`",!0);n(w,o,g,"‘","\\textquoteleft");n(w,o,g,"’","'",!0);n(w,o,g,"’","\\textquoteright");n(w,o,g,"“","``",!0);n(w,o,g,"“","\\textquotedblleft");n(w,o,g,"”","''",!0);n(w,o,g,"”","\\textquotedblright");n(l,o,g,"°","\\degree",!0);n(w,o,g,"°","\\degree");n(w,o,g,"°","\\textdegree",!0);n(l,o,g,"£","\\pounds");n(l,o,g,"£","\\mathsterling",!0);n(w,o,g,"£","\\pounds");n(w,o,g,"£","\\textsterling",!0);n(l,d,g,"✠","\\maltese");n(w,d,g,"✠","\\maltese");var nr='0123456789/@."';for(var Qe=0;Qe{var e=r.charCodeAt(0),t=r.charCodeAt(1),a=(e-55296)*1024+(t-56320)+65536;if(119808<=a&&a<120484){var i=Math.floor((a-119808)/26);return vr[i]}else if(120782<=a&&a<=120831){var s=Math.floor((a-120782)/10);return Ba[s]}else{if(a===120485||a===120486)return vr[0];if(120486{if(L0(r.classes)!==L0(e.classes)||r.skew!==e.skew||r.maxFontSize!==e.maxFontSize||r.italic!==0&&r.hasClass("mathnormal"))return!1;if(r.classes.length===1){var t=r.classes[0];if(t==="mbin"||t==="mord")return!1}for(var a of Object.keys(r.style))if(r.style[a]!==e.style[a])return!1;for(var i of Object.keys(e.style))if(r.style[i]!==e.style[i])return!1;return!0},Wr=r=>{for(var e=0;et&&(t=u.height),u.depth>a&&(a=u.depth),u.maxFontSize>i&&(i=u.maxFontSize)}e.height=t,e.depth=a,e.maxFontSize=i},k=function(e,t,a,i){var s=new ie(e,t,a,i);return Ht(s),s},G0=(r,e,t,a)=>new ie(r,e,t,a),te=function(e,t,a){var i=k([e],[],t);return i.height=Math.max(a||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),i.style.borderBottomWidth=A(i.height),i.maxFontSize=1,i},Ea=function(e,t,a,i){var s=new Fe(e,t,a,i);return Ht(s),s},E0=function(e){var t=new ae(e);return Ht(t),t},re=function(e,t){return e instanceof ae?k([],[e],t):e},Ra=function(e){if(e.positionType==="individualShift"){for(var t=e.children,a=[t[0]],i=-t[0].shift-t[0].elem.depth,s=i,u=1;u{var t=k(["mspace"],[],e),a=K(r,e);return t.style.marginRight=A(a),t},ze=(r,e,t)=>{var a,i;switch(r){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=r}return e==="textbf"&&t==="textit"?i="BoldItalic":e==="textbf"?i="Bold":t==="textit"?i="Italic":i="Regular",a+"-"+i},kt={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"}},Zr={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Kr=function(e,t){var[a,i,s]=Zr[e],u=new P0(a),h=new C0([u],{width:A(i),height:A(s),style:"width:"+A(i),viewBox:"0 0 "+1e3*i+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),c=G0(["overlay"],[h],t);return c.height=s,c.style.height=A(s),c.style.width=A(i),c},Z={number:3,unit:"mu"},Y0={number:4,unit:"mu"},M0={number:5,unit:"mu"},Ia={mord:{mop:Z,mbin:Y0,mrel:M0,minner:Z},mop:{mord:Z,mop:Z,mrel:M0,minner:Z},mbin:{mord:Y0,mop:Y0,mopen:Y0,minner:Y0},mrel:{mord:M0,mop:M0,mopen:M0,minner:M0},mopen:{},mclose:{mop:Z,mbin:Y0,mrel:M0,minner:Z},mpunct:{mord:Z,mop:Z,mrel:M0,mopen:Z,mclose:Z,mpunct:Z,minner:Z},minner:{mord:Z,mop:Z,mbin:Y0,mrel:M0,mopen:Z,mpunct:Z,minner:Z}},Na={mord:{mop:Z},mop:{mord:Z,mop:Z},mbin:{},mrel:{},mopen:{},mclose:{mop:Z},mpunct:{},minner:{mop:Z}},Jr={},Re={},Ie={};function B(r){for(var{type:e,names:t,props:a,handler:i,htmlBuilder:s,mathmlBuilder:u}=r,h={type:e,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:i},c=0;c{var q=M.classes[0],C=T.classes[0];q==="mbin"&&Ha.has(C)?M.classes[0]="mord":C==="mbin"&&Fa.has(q)&&(T.classes[0]="mord")},{node:b},x,y),St(s,(T,M)=>{var q,C,R=At(M),F=At(T),L=R&&F?T.hasClass("mtight")?(q=Na[R])==null?void 0:q[F]:(C=Ia[R])==null?void 0:C[F]:null;if(L)return jr(L,v)},{node:b},x,y),s},St=function(e,t,a,i,s){i&&e.push(i);for(var u=0;ux=>{e.splice(b+1,0,x),u++})(u)}i&&e.pop()},Qr=function(e){return e instanceof ae||e instanceof Fe||e instanceof ie&&e.hasClass("enclosing")?e:null},zt=function(e,t){var a=Qr(e);if(a){var i=a.children;if(i.length){if(t==="right")return zt(i[i.length-1],"right");if(t==="left")return zt(i[0],"left")}}return e},At=function(e,t){if(!e)return null;t&&(e=zt(e,t));var a=e.classes[0];return La[a]||null},ce=function(e,t){var a=["nulldelimiter"].concat(e.baseSizingClasses());return k(t.concat(a))},X=function(e,t,a){if(!e)return k();if(Re[e.type]){var i=Re[e.type](e,t);if(a&&t.size!==a.size){i=k(t.sizingClasses(a),[i],t);var s=t.sizeMultiplier/a.sizeMultiplier;i.height*=s,i.depth*=s}return i}else throw new S("Got group of unknown type: '"+e.type+"'")};function Ae(r,e){var t=k(["base"],r,e),a=k(["strut"]);return a.style.height=A(t.height+t.depth),t.depth&&(a.style.verticalAlign=A(-t.depth)),t.children.unshift(a),t}function Mt(r,e){var t=null;r.length===1&&r[0].type==="tag"&&(t=r[0].tag,r=r[0].body);var a=a0(r,e,"root"),i;a.length===2&&a[1].hasClass("tag")&&(i=a.pop());for(var s=[],u=[],h=0;h0&&(s.push(Ae(u,e)),u=[]),s.push(a[h]));u.length>0&&s.push(Ae(u,e));var v;t?(v=Ae(a0(t,e,!0),e),v.classes=["tag"],s.push(v)):i&&s.push(i);var p=k(["katex-html"],s);if(p.setAttribute("aria-hidden","true"),v){var b=v.children[0];b.style.height=A(p.height+p.depth),p.depth&&(b.style.verticalAlign=A(-p.depth))}return p}function _r(r){return new ae(r)}class z{constructor(e,t,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=a||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=L0(this.classes));for(var a=0;a0&&(e+=' class ="'+i0(L0(this.classes))+'"'),e+=">";for(var a=0;a",e}toText(){return this.children.map(e=>e.toText()).join("")}}class e0{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return i0(this.toText())}toText(){return this.text}}class e1{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",A(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var Pa=new Set(["\\imath","\\jmath"]),Ga=new Set(["mrow","mtable"]),g0=function(e,t,a){return W[t][e]&&W[t][e].replace&&e.charCodeAt(0)!==55349&&!($r.hasOwnProperty(e)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(e=W[t][e].replace),new e0(e)},Ot=function(e){return e.length===1?e[0]:new z("mrow",e)},Ua={mathit:"italic",boldsymbol:r=>r.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},Lt=(r,e)=>{if(r.mode==="text"){if(e.fontFamily==="texttt")return"monospace";if(e.fontFamily==="textsf")return e.fontShape==="textit"&&e.fontWeight==="textbf"?"sans-serif-bold-italic":e.fontShape==="textit"?"sans-serif-italic":e.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(e.fontShape==="textit"&&e.fontWeight==="textbf")return"bold-italic";if(e.fontShape==="textit")return"italic";if(e.fontWeight==="textbf")return"bold"}var t=e.font;if(!t||t==="mathnormal")return null;var a=r.mode,i=Ua[t];if(i)return typeof i=="function"?i(r):i;var s=r.text;if(Pa.has(s))return null;if(W[a][s]){var u=W[a][s].replace;u&&(s=u)}var h=kt[t].fontName;return Nt(s,h,a)?kt[t].variant:null};function rt(r){if(!r)return!1;if(r.type==="mi"&&r.children.length===1){var e=r.children[0];return e instanceof e0&&e.text==="."}else if(r.type==="mo"&&r.children.length===1&&r.getAttribute("separator")==="true"&&r.getAttribute("lspace")==="0em"&&r.getAttribute("rspace")==="0em"){var t=r.children[0];return t instanceof e0&&t.text===","}else return!1}var v0=function(e,t,a){if(e.length===1){var i=$(e[0],t);return a&&i instanceof z&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var s=[],u,h=0;h=1&&(u.type==="mn"||rt(u))){var v=c.children[0];v instanceof z&&v.type==="mn"&&(v.children=[...u.children,...v.children],s.pop())}else if(u.type==="mi"&&u.children.length===1){var p=u.children[0];if(p instanceof e0&&p.text==="̸"&&(c.type==="mo"||c.type==="mi"||c.type==="mn")){var b=c.children[0];b instanceof e0&&b.text.length>0&&(b.text=b.text.slice(0,1)+"̸"+b.text.slice(1),s.pop())}}}s.push(c),u=c}return s},U0=function(e,t,a){return Ot(v0(e,t,a))},$=function(e,t){if(!e)return new z("mrow");if(Ie[e.type])return Ie[e.type](e,t);throw new S("Got group of unknown type: '"+e.type+"'")};function pr(r,e,t,a,i){var s=v0(r,t),u;s.length===1&&s[0]instanceof z&&Ga.has(s[0].type)?u=s[0]:u=new z("mrow",s);var h=new z("annotation",[new e0(e)]);h.setAttribute("encoding","application/x-tex");var c=new z("semantics",[u,h]),v=new z("math",[c]);v.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&v.setAttribute("display","block");var p=i?"katex":"katex-mathml";return k([p],[v])}var Va=[[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]],gr=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],br=function(e,t){return t.size<2?e:Va[e-1][t.size-1]};class T0{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||T0.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=gr[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(t,e),new T0(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:br(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:gr[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=br(T0.BASESIZE,e);return this.size===t&&this.textSize===T0.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==T0.BASESIZE?["sizing","reset-size"+this.size,"size"+T0.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Ma(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}T0.BASESIZE=6;var t1=function(e){return new T0({style:e.displayMode?N.DISPLAY:N.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},r1=function(e,t){if(t.displayMode){var a=["katex-display"];t.leqno&&a.push("leqno"),t.fleqn&&a.push("fleqn"),e=k(a,[e])}return e},Xa=function(e,t,a){var i=t1(a),s;if(a.output==="mathml")return pr(e,t,i,a.displayMode,!0);if(a.output==="html"){var u=Mt(e,i);s=k(["katex"],[u])}else{var h=pr(e,t,i,a.displayMode,!1),c=Mt(e,i);s=k(["katex"],[h,c])}return r1(s,a)},Ya=function(e,t,a){var i=t1(a),s=Mt(e,i),u=k(["katex"],[s]);return r1(u,a)},$a={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},Le=function(e){var t=new z("mo",[new e0($a[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Wa={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},ja=new Set(["widehat","widecheck","widetilde","utilde"]),Pe=function(e,t){function a(){var h=4e5,c=e.label.slice(1);if(ja.has(c)&&"base"in e){var v=e.base.type==="ordgroup"?e.base.body.length:1,p,b,x;if(v>5)c==="widehat"||c==="widecheck"?(p=420,h=2364,x=.42,b=c+"4"):(p=312,h=2340,x=.34,b="tilde4");else{var y=[1,1,2,2,3,3][v];c==="widehat"||c==="widecheck"?(h=[0,1062,2364,2364,2364][y],p=[0,239,300,360,420][y],x=[0,.24,.3,.3,.36,.42][y],b=c+y):(h=[0,600,1033,2339,2340][y],p=[0,260,286,306,312][y],x=[0,.26,.286,.3,.306,.34][y],b="tilde"+y)}var T=new P0(b),M=new C0([T],{width:"100%",height:A(x),viewBox:"0 0 "+h+" "+p,preserveAspectRatio:"none"});return{span:G0([],[M],t),minWidth:0,height:x}}else{var q=[],C=Wa[c];if(!C)throw new Error('No SVG data for "'+c+'".');var[R,F,L]=C,O=L/1e3,P=R.length,G,Y;if(P===1){if(C.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+c+'".');G=["hide-tail"],Y=[C[3]]}else if(P===2)G=["halfarrow-left","halfarrow-right"],Y=["xMinYMin","xMaxYMin"];else if(P===3)G=["brace-left","brace-center","brace-right"],Y=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+P+" children.");for(var U=0;U0&&(i.style.minWidth=A(s)),i},Za=function(e,t,a,i,s){var u,h=e.height+e.depth+a+i;if(/fbox|color|angl/.test(t)){if(u=k(["stretchy",t],[],s),t==="fbox"){var c=s.color&&s.getColor();c&&(u.style.borderColor=c)}}else{var v=[];/^[bx]cancel$/.test(t)&&v.push(new pt({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&v.push(new pt({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var p=new C0(v,{width:"100%",height:A(h)});u=G0([],[p],s)}return u.height=h,u.style.height=A(h),u},Ka={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Ja={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function Qa(r){return r in Ka}function H(r,e){if(!r||r.type!==e)throw new Error("Expected node of type "+e+", but got "+(r?"node of type "+r.type:String(r)));return r}function Ge(r){var e=Ue(r);if(!e)throw new Error("Expected node of symbol group type, but got "+(r?"node of type "+r.type:String(r)));return e}function Ue(r){return r&&(r.type==="atom"||Ja.hasOwnProperty(r.type))?r:null}var a1=r=>{if(r instanceof d0)return r;if(za(r)&&r.children.length===1)return a1(r.children[0])},Pt=(r,e)=>{var t,a,i;r&&r.type==="supsub"?(a=H(r.base,"accent"),t=a.base,r.base=t,i=Sa(X(r,e)),r.base=a):(a=H(r,"accent"),t=a.base);var s=X(t,e.havingCrampedStyle()),u=a.isShifty&&D0(t),h=0;if(u){var c,v;h=(c=(v=a1(s))==null?void 0:v.skew)!=null?c:0}var p=a.label==="\\c",b=p?s.height+s.depth:Math.min(s.height,e.fontMetrics().xHeight),x;if(a.isStretchy)x=Pe(a,e),x=V({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:x,wrapperClasses:["svg-align"],wrapperStyle:h>0?{width:"calc(100% - "+A(2*h)+")",marginLeft:A(2*h)}:void 0}]});else{var y,T;a.label==="\\vec"?(y=Kr("vec",e),T=Zr.vec[1]):(y=Oe({mode:a.mode,text:a.label},e,"textord"),y=ka(y),y.italic=0,T=y.width,p&&(b+=y.depth)),x=k(["accent-body"],[y]);var M=a.label==="\\textcircled";M&&(x.classes.push("accent-full"),b=s.height);var q=h;M||(q-=T/2),x.style.left=A(q),a.label==="\\textcircled"&&(x.style.top=".2em"),x=V({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-b},{type:"elem",elem:x}]})}var C=k(["mord","accent"],[x],e);return i?(i.children[0]=C,i.height=Math.max(C.height,i.height),i.classes[0]="mord",i):C},i1=(r,e)=>{var t=r.isStretchy?Le(r.label):new z("mo",[g0(r.label,r.mode)]),a=new z("mover",[$(r.base,e),t]);return a.setAttribute("accent","true"),a},_a=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(r=>"\\"+r).join("|"));B({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(r,e)=>{var t=Ne(e[0]),a=!_a.test(r.funcName),i=!a||r.funcName==="\\widehat"||r.funcName==="\\widetilde"||r.funcName==="\\widecheck";return{type:"accent",mode:r.parser.mode,label:r.funcName,isStretchy:a,isShifty:i,base:t}},htmlBuilder:Pt,mathmlBuilder:i1});B({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(r,e)=>{var t=e[0],a=r.parser.mode;return a==="math"&&(r.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+r.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:r.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:Pt,mathmlBuilder:i1});B({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,i=e[0];return{type:"accentUnder",mode:t.mode,label:a,base:i}},htmlBuilder:(r,e)=>{var t=X(r.base,e),a=Pe(r,e),i=r.label==="\\utilde"?.12:0,s=V({positionType:"top",positionData:t.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:t}]});return k(["mord","accentunder"],[s],e)},mathmlBuilder:(r,e)=>{var t=Le(r.label),a=new z("munder",[$(r.base,e),t]);return a.setAttribute("accentunder","true"),a}});var Me=r=>{var e=new z("mpadded",r?[r]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};B({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a,funcName:i}=r;return{type:"xArrow",mode:a.mode,label:i,body:e[0],below:t[0]}},htmlBuilder(r,e){var t=e.style,a=e.havingStyle(t.sup()),i=re(X(r.body,a,e),e),s=r.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(s+"-arrow-pad");var u;r.below&&(a=e.havingStyle(t.sub()),u=re(X(r.below,a,e),e),u.classes.push(s+"-arrow-pad"));var h=Pe(r,e),c=-e.fontMetrics().axisHeight+.5*h.height,v=-e.fontMetrics().axisHeight-.5*h.height-.111;(i.depth>.25||r.label==="\\xleftequilibrium")&&(v-=i.depth);var p;if(u){var b=-e.fontMetrics().axisHeight+u.height+.5*h.height+.111;p=V({positionType:"individualShift",children:[{type:"elem",elem:i,shift:v},{type:"elem",elem:h,shift:c,wrapperClasses:["svg-align"]},{type:"elem",elem:u,shift:b}]})}else p=V({positionType:"individualShift",children:[{type:"elem",elem:i,shift:v},{type:"elem",elem:h,shift:c,wrapperClasses:["svg-align"]}]});return k(["mrel","x-arrow"],[p],e)},mathmlBuilder(r,e){var t=Le(r.label);t.setAttribute("minsize",r.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(r.body){var i=Me($(r.body,e));if(r.below){var s=Me($(r.below,e));a=new z("munderover",[t,s,i])}else a=new z("mover",[t,i])}else if(r.below){var u=Me($(r.below,e));a=new z("munder",[t,u])}else a=Me(),a=new z("mover",[t,a]);return a}});function n1(r,e){var t=a0(r.body,e,!0);return k([r.mclass],t,e)}function s1(r,e){var t,a=v0(r.body,e);return r.mclass==="minner"?t=new z("mpadded",a):r.mclass==="mord"?r.isCharacterBox?(t=a[0],t.type="mi"):t=new z("mi",a):(r.isCharacterBox?(t=a[0],t.type="mo"):t=new z("mo",a),r.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):r.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):r.mclass==="mopen"||r.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):r.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}B({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(r,e){var{parser:t,funcName:a}=r,i=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+a.slice(5),body:_(i),isCharacterBox:D0(i)}},htmlBuilder:n1,mathmlBuilder:s1});var Ve=r=>{var e=r.type==="ordgroup"&&r.body.length?r.body[0]:r;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};B({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(r,e){var{parser:t}=r;return{type:"mclass",mode:t.mode,mclass:Ve(e[0]),body:_(e[1]),isCharacterBox:D0(e[1])}}});B({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(r,e){var{parser:t,funcName:a}=r,i=e[1],s=e[0],u;a!=="\\stackrel"?u=Ve(i):u="mrel";var h={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:_(i)},c={type:"supsub",mode:s.mode,base:h,sup:a==="\\underset"?null:s,sub:a==="\\underset"?s:null};return{type:"mclass",mode:t.mode,mclass:u,body:[c],isCharacterBox:D0(c)}},htmlBuilder:n1,mathmlBuilder:s1});B({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"pmb",mode:t.mode,mclass:Ve(e[0]),body:_(e[0])}},htmlBuilder(r,e){var t=a0(r.body,e,!0),a=k([r.mclass],t,e);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(r,e){var t=v0(r.body,e),a=new z("mstyle",t);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var e4={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},yr=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),xr=r=>r.type==="textord"&&r.text==="@",t4=(r,e)=>(r.type==="mathord"||r.type==="atom")&&r.text===e;function r4(r,e,t){var a=e4[r];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(a,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=t.callFunction("\\\\cdleft",[e[0]],[]),s={type:"atom",text:a,mode:"math",family:"rel"},u=t.callFunction("\\Big",[s],[]),h=t.callFunction("\\\\cdright",[e[1]],[]),c={type:"ordgroup",mode:"math",body:[i,u,h]};return t.callFunction("\\\\cdparent",[c],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var v={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[v],[])}default:return{type:"textord",text:" ",mode:"math"}}}function a4(r){var e=[];for(r.gullet.beginGroup(),r.gullet.macros.set("\\cr","\\\\\\relax"),r.gullet.beginGroup();;){e.push(r.parseExpression(!1,"\\\\")),r.gullet.endGroup(),r.gullet.beginGroup();var t=r.fetch().text;if(t==="&"||t==="\\\\")r.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new S("Expected \\\\ or \\cr or \\end",r.nextToken)}for(var a=[],i=[a],s=0;sAV".includes(v))for(var b=0;b<2;b++){for(var x=!0,y=c+1;yAV=|." after @',u[c]);var T=r4(v,p,r),M={type:"styling",body:[T],mode:"math",style:"display",resetFont:!0};a.push(M),h=yr()}s%2===0?a.push(h):a.shift(),a=[],i.push(a)}r.gullet.endGroup(),r.gullet.endGroup();var q=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:q,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}B({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"cdlabel",mode:t.mode,side:a.slice(4),label:e[0]}},htmlBuilder(r,e){var t=e.havingStyle(e.style.sup()),a=re(X(r.label,t,e),e);return a.classes.push("cd-label-"+r.side),a.style.bottom=A(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(r,e){var t=new z("mrow",[$(r.label,e)]);return t=new z("mpadded",[t]),t.setAttribute("width","0"),r.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new z("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});B({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(r,e){var{parser:t}=r;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(r,e){var t=re(X(r.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(r,e){return new z("mrow",[$(r.fragment,e)])}});B({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(r,e){for(var{parser:t}=r,a=H(e[0],"ordgroup"),i=a.body,s="",u=0;u=1114111)throw new S("\\@char with invalid code point "+s);return c<=65535?v=String.fromCharCode(c):(c-=65536,v=String.fromCharCode((c>>10)+55296,(c&1023)+56320)),{type:"textord",mode:t.mode,text:v}}});var l1=(r,e)=>{var t=a0(r.body,e.withColor(r.color),!1);return E0(t)},u1=(r,e)=>{var t=v0(r.body,e.withColor(r.color)),a=new z("mstyle",t);return a.setAttribute("mathcolor",r.color),a};B({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(r,e){var{parser:t}=r,a=H(e[0],"color-token").color,i=e[1];return{type:"color",mode:t.mode,color:a,body:_(i)}},htmlBuilder:l1,mathmlBuilder:u1});B({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(r,e){var{parser:t,breakOnTokenText:a}=r,i=H(e[0],"color-token").color;t.gullet.macros.set("\\current@color",i);var s=t.parseExpression(!0,a);return{type:"color",mode:t.mode,color:i,body:s}},htmlBuilder:l1,mathmlBuilder:u1});B({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(r,e,t){var{parser:a}=r,i=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,s=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:s,size:i&&H(i,"size").value}},htmlBuilder(r,e){var t=k(["mspace"],[],e);return r.newLine&&(t.classes.push("newline"),r.size&&(t.style.marginTop=A(K(r.size,e)))),t},mathmlBuilder(r,e){var t=new z("mspace");return r.newLine&&(t.setAttribute("linebreak","newline"),r.size&&t.setAttribute("height",A(K(r.size,e)))),t}});var Tt={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},o1=r=>{var e=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new S("Expected a control sequence",r);return e},i4=r=>{var e=r.gullet.popToken();return e.text==="="&&(e=r.gullet.popToken(),e.text===" "&&(e=r.gullet.popToken())),e},h1=(r,e,t,a)=>{var i=r.gullet.macros.get(t.text);i==null&&(t.noexpand=!0,i={tokens:[t],numArgs:0,unexpandable:!r.gullet.isExpandable(t.text)}),r.gullet.macros.set(e,i,a)};B({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e,funcName:t}=r;e.consumeSpaces();var a=e.fetch();if(Tt[a.text])return(t==="\\global"||t==="\\\\globallong")&&(a.text=Tt[a.text]),H(e.parseFunction(),"internal");throw new S("Invalid token after macro prefix",a)}});B({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=e.gullet.popToken(),i=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new S("Expected a control sequence",a);for(var s=0,u,h=[[]];e.gullet.future().text!=="{";)if(a=e.gullet.popToken(),a.text==="#"){if(e.gullet.future().text==="{"){u=e.gullet.future(),h[s].push("{");break}if(a=e.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new S('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==s+1)throw new S('Argument number "'+a.text+'" out of order');s++,h.push([])}else{if(a.text==="EOF")throw new S("Expected a macro definition");h[s].push(a.text)}var{tokens:c}=e.gullet.consumeArg();return u&&c.unshift(u),(t==="\\edef"||t==="\\xdef")&&(c=e.gullet.expandTokens(c),c.reverse()),e.gullet.macros.set(i,{tokens:c,numArgs:s,delimiters:h},t===Tt[t]),{type:"internal",mode:e.mode}}});B({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=o1(e.gullet.popToken());e.gullet.consumeSpaces();var i=i4(e);return h1(e,a,i,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});B({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=o1(e.gullet.popToken()),i=e.gullet.popToken(),s=e.gullet.popToken();return h1(e,a,s,t==="\\\\globalfuture"),e.gullet.pushToken(s),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var oe=function(e,t,a){var i=W.math[e]&&W.math[e].replace,s=Nt(i||e,t,a);if(!s)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return s},Gt=function(e,t,a,i){var s=a.havingBaseStyle(t),u=k(i.concat(s.sizingClasses(a)),[e],a),h=s.sizeMultiplier/a.sizeMultiplier;return u.height*=h,u.depth*=h,u.maxFontSize=s.sizeMultiplier,u},m1=function(e,t,a){var i=t.havingBaseStyle(a),s=(1-t.sizeMultiplier/i.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=A(s),e.height-=s,e.depth+=s},n4=function(e,t,a,i,s,u){var h=s0(e,"Main-Regular",s,i),c=Gt(h,t,i,u);return m1(c,i,t),c},s4=function(e,t,a,i){return s0(e,"Size"+t+"-Regular",a,i)},c1=function(e,t,a,i,s,u){var h=s4(e,t,s,i),c=Gt(k(["delimsizing","size"+t],[h],i),N.TEXT,i,u);return a&&m1(c,i,N.TEXT),c},at=function(e,t,a){var i;t==="Size1-Regular"?i="delim-size1":i="delim-size4";var s=k(["delimsizinginner",i],[k([],[s0(e,t,a)])]);return{type:"elem",elem:s}},it=function(e,t,a){var i=k0["Size4-Regular"][e.charCodeAt(0)]?k0["Size4-Regular"][e.charCodeAt(0)][4]:k0["Size1-Regular"][e.charCodeAt(0)][4],s=new P0("inner",va(e,Math.round(1e3*t))),u=new C0([s],{width:A(i),height:A(t),style:"width:"+A(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),h=G0([],[u],a);return h.height=t,h.style.height=A(t),h.style.width=A(i),{type:"elem",elem:h}},Bt=.008,Te={type:"kern",size:-1*Bt},l4=new Set(["|","\\lvert","\\rvert","\\vert"]),u4=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),d1=function(e,t,a,i,s,u){var h,c,v,p,b="",x=0;h=v=p=e,c=null;var y="Size1-Regular";e==="\\uparrow"?v=p="⏐":e==="\\Uparrow"?v=p="‖":e==="\\downarrow"?h=v="⏐":e==="\\Downarrow"?h=v="‖":e==="\\updownarrow"?(h="\\uparrow",v="⏐",p="\\downarrow"):e==="\\Updownarrow"?(h="\\Uparrow",v="‖",p="\\Downarrow"):l4.has(e)?(v="∣",b="vert",x=333):u4.has(e)?(v="∥",b="doublevert",x=556):e==="["||e==="\\lbrack"?(h="⎡",v="⎢",p="⎣",y="Size4-Regular",b="lbrack",x=667):e==="]"||e==="\\rbrack"?(h="⎤",v="⎥",p="⎦",y="Size4-Regular",b="rbrack",x=667):e==="\\lfloor"||e==="⌊"?(v=h="⎢",p="⎣",y="Size4-Regular",b="lfloor",x=667):e==="\\lceil"||e==="⌈"?(h="⎡",v=p="⎢",y="Size4-Regular",b="lceil",x=667):e==="\\rfloor"||e==="⌋"?(v=h="⎥",p="⎦",y="Size4-Regular",b="rfloor",x=667):e==="\\rceil"||e==="⌉"?(h="⎤",v=p="⎥",y="Size4-Regular",b="rceil",x=667):e==="("||e==="\\lparen"?(h="⎛",v="⎜",p="⎝",y="Size4-Regular",b="lparen",x=875):e===")"||e==="\\rparen"?(h="⎞",v="⎟",p="⎠",y="Size4-Regular",b="rparen",x=875):e==="\\{"||e==="\\lbrace"?(h="⎧",c="⎨",p="⎩",v="⎪",y="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(h="⎫",c="⎬",p="⎭",v="⎪",y="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(h="⎧",p="⎩",v="⎪",y="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(h="⎫",p="⎭",v="⎪",y="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(h="⎧",p="⎭",v="⎪",y="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(h="⎫",p="⎩",v="⎪",y="Size4-Regular");var T=oe(h,y,s),M=T.height+T.depth,q=oe(v,y,s),C=q.height+q.depth,R=oe(p,y,s),F=R.height+R.depth,L=0,O=1;if(c!==null){var P=oe(c,y,s);L=P.height+P.depth,O=2}var G=M+F+L,Y=Math.max(0,Math.ceil((t-G)/(O*C))),U=G+Y*O*C,o0=i.fontMetrics().axisHeight;a&&(o0*=i.sizeMultiplier);var m0=U/2-o0,Q=[];if(b.length>0){var le=U-M-F,x0=Math.round(U*1e3),b0=pa(b,Math.round(le*1e3)),R0=new P0(b,b0),j0=A(x/1e3),Z0=A(x0/1e3),Ze=new C0([R0],{width:j0,height:Z0,viewBox:"0 0 "+x+" "+x0}),I0=G0([],[Ze],i);I0.height=x0/1e3,I0.style.width=j0,I0.style.height=Z0,Q.push({type:"elem",elem:I0})}else{if(Q.push(at(p,y,s)),Q.push(Te),c===null){var N0=U-M-F+2*Bt;Q.push(it(v,N0,i))}else{var ue=(U-M-F-L)/2+2*Bt;Q.push(it(v,ue,i)),Q.push(Te),Q.push(at(c,y,s)),Q.push(Te),Q.push(it(v,ue,i))}Q.push(Te),Q.push(at(h,y,s))}var y0=i.havingBaseStyle(N.TEXT),ve=V({positionType:"bottom",positionData:m0,children:Q});return Gt(k(["delimsizing","mult"],[ve],y0),N.TEXT,i,u)},nt=80,st=.08,lt=function(e,t,a,i,s){var u=fa(e,i,a),h=new P0(e,u),c=new C0([h],{width:"400em",height:A(t),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return G0(["hide-tail"],[c],s)},o4=function(e,t){var a=t.havingBaseSizing(),i=b1("\\surd",e*a.sizeMultiplier,g1,a),s=a.sizeMultiplier,u=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),h,c,v,p,b;return i.type==="small"?(p=1e3+1e3*u+nt,e<1?s=1:e<1.4&&(s=.7),c=(1+u+st)/s,v=(1+u)/s,h=lt("sqrtMain",c,p,u,t),h.style.minWidth="0.853em",b=.833/s):i.type==="large"?(p=(1e3+nt)*he[i.size],v=(he[i.size]+u)/s,c=(he[i.size]+u+st)/s,h=lt("sqrtSize"+i.size,c,p,u,t),h.style.minWidth="1.02em",b=1/s):(c=e+u+st,v=e+u,p=Math.floor(1e3*e+u)+nt,h=lt("sqrtTall",c,p,u,t),h.style.minWidth="0.742em",b=1.056),h.height=v,h.style.height=A(c),{span:h,advanceWidth:b,ruleWidth:(t.fontMetrics().sqrtRuleThickness+u)*s}},f1=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),h4=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),v1=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),he=[0,1.2,1.8,2.4,3],p1=function(e,t,a,i,s){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),f1.has(e)||v1.has(e))return c1(e,t,!1,a,i,s);if(h4.has(e))return d1(e,he[t],!1,a,i,s);throw new S("Illegal delimiter: '"+e+"'")},m4=[{type:"small",style:N.SCRIPTSCRIPT},{type:"small",style:N.SCRIPT},{type:"small",style:N.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],c4=[{type:"small",style:N.SCRIPTSCRIPT},{type:"small",style:N.SCRIPT},{type:"small",style:N.TEXT},{type:"stack"}],g1=[{type:"small",style:N.SCRIPTSCRIPT},{type:"small",style:N.SCRIPT},{type:"small",style:N.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],d4=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var t=e.type;throw new Error("Add support for delim type '"+t+"' here.")},b1=function(e,t,a,i){for(var s=Math.min(2,3-i.style.size),u=s;ut)return h}return a[a.length-1]},Ct=function(e,t,a,i,s,u){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var h;v1.has(e)?h=m4:f1.has(e)?h=g1:h=c4;var c=b1(e,t,h,i);return c.type==="small"?n4(e,c.style,a,i,s,u):c.type==="large"?c1(e,c.size,a,i,s,u):d1(e,t,a,i,s,u)},ut=function(e,t,a,i,s,u){var h=i.fontMetrics().axisHeight*i.sizeMultiplier,c=901,v=5/i.fontMetrics().ptPerEm,p=Math.max(t-h,a+h),b=Math.max(p/500*c,2*p-v);return Ct(e,b,!0,i,s,u)},wr={"\\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}},f4=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function kr(r){return"isMiddle"in r}function Xe(r,e){var t=Ue(r);if(t&&f4.has(t.text))return t;throw t?new S("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",r):new S("Invalid delimiter type '"+r.type+"'",r)}B({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(r,e)=>{var t=Xe(e[0],r);return{type:"delimsizing",mode:r.parser.mode,size:wr[r.funcName].size,mclass:wr[r.funcName].mclass,delim:t.text}},htmlBuilder:(r,e)=>r.delim==="."?k([r.mclass]):p1(r.delim,r.size,e,r.mode,[r.mclass]),mathmlBuilder:r=>{var e=[];r.delim!=="."&&e.push(g0(r.delim,r.mode));var t=new z("mo",e);r.mclass==="mopen"||r.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var a=A(he[r.size]);return t.setAttribute("minsize",a),t.setAttribute("maxsize",a),t}});function Sr(r){if(!r.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}B({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=r.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new S("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:r.parser.mode,delim:Xe(e[0],r).text,color:t}}});B({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Xe(e[0],r),a=r.parser;++a.leftrightDepth;var i=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var s=H(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:i,left:t.text,right:s.delim,rightColor:s.color}},htmlBuilder:(r,e)=>{Sr(r);for(var t=a0(r.body,e,!0,["mopen","mclose"]),a=0,i=0,s=!1,u=0;u{Sr(r);var t=v0(r.body,e);if(r.left!=="."){var a=new z("mo",[g0(r.left,r.mode)]);a.setAttribute("fence","true"),t.unshift(a)}if(r.right!=="."){var i=new z("mo",[g0(r.right,r.mode)]);i.setAttribute("fence","true"),r.rightColor&&i.setAttribute("mathcolor",r.rightColor),t.push(i)}return Ot(t)}});B({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Xe(e[0],r);if(!r.parser.leftrightDepth)throw new S("\\middle without preceding \\left",t);return{type:"middle",mode:r.parser.mode,delim:t.text}},htmlBuilder:(r,e)=>{var t;return r.delim==="."?t=ce(e,[]):(t=p1(r.delim,1,e,r.mode,[]),t.isMiddle={delim:r.delim,options:e}),t},mathmlBuilder:(r,e)=>{var t=r.delim==="\\vert"||r.delim==="|"?g0("|","text"):g0(r.delim,r.mode),a=new z("mo",[t]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var Ye=(r,e)=>{var t=re(X(r.body,e),e),a=r.label.slice(1),i=e.sizeMultiplier,s,u,h=D0(r.body);if(a==="sout")s=k(["stretchy","sout"]),s.height=e.fontMetrics().defaultRuleThickness/i,u=-.5*e.fontMetrics().xHeight;else if(a==="phase"){var c=K({number:.6,unit:"pt"},e),v=K({number:.35,unit:"ex"},e),p=e.havingBaseSizing();i=i/p.sizeMultiplier;var b=t.height+t.depth+c+v;t.style.paddingLeft=A(b/2+c);var x=Math.floor(1e3*b*i),y=ca(x),T=new C0([new P0("phase",y)],{width:"400em",height:A(x/1e3),viewBox:"0 0 400000 "+x,preserveAspectRatio:"xMinYMin slice"});s=G0(["hide-tail"],[T],e),s.style.height=A(b),u=t.depth+c+v}else{/cancel/.test(a)?h||t.classes.push("cancel-pad"):a==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var M,q,C=0;/box/.test(a)?(C=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),M=e.fontMetrics().fboxsep+(a==="colorbox"?0:C),q=M):a==="angl"?(C=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),M=4*C,q=Math.max(0,.25-t.depth)):(M=h?.2:0,q=M),s=Za(t,a,M,q,e),/fbox|boxed|fcolorbox/.test(a)?(s.style.borderStyle="solid",s.style.borderWidth=A(C)):a==="angl"&&C!==.049&&(s.style.borderTopWidth=A(C),s.style.borderRightWidth=A(C)),u=t.depth+q,r.backgroundColor&&(s.style.backgroundColor=r.backgroundColor,r.borderColor&&(s.style.borderColor=r.borderColor))}var R;if(r.backgroundColor)R=V({positionType:"individualShift",children:[{type:"elem",elem:s,shift:u},{type:"elem",elem:t,shift:0}]});else{var F=/cancel|phase/.test(a)?["svg-align"]:[];R=V({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:s,shift:u,wrapperClasses:F}]})}return/cancel/.test(a)&&(R.height=t.height,R.depth=t.depth),/cancel/.test(a)&&!h?k(["mord","cancel-lap"],[R],e):k(["mord"],[R],e)},$e=(r,e)=>{var t,a=new z(r.label.includes("colorbox")?"mpadded":"menclose",[$(r.body,e)]);switch(r.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*t+"pt"),a.setAttribute("height","+"+2*t+"pt"),a.setAttribute("lspace",t+"pt"),a.setAttribute("voffset",t+"pt"),r.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+A(i)+" solid "+r.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return r.backgroundColor&&a.setAttribute("mathbackground",r.backgroundColor),a};B({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","hbox"]},handler(r,e,t){var{parser:a,funcName:i}=r,s=H(e[0],"color-token").color,u=e[1];return{type:"enclose",mode:a.mode,label:i,backgroundColor:s,body:u}},htmlBuilder:Ye,mathmlBuilder:$e});B({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"]},handler(r,e,t){var{parser:a,funcName:i}=r,s=H(e[0],"color-token").color,u=H(e[1],"color-token").color,h=e[2];return{type:"enclose",mode:a.mode,label:i,backgroundColor:u,borderColor:s,body:h}},htmlBuilder:Ye,mathmlBuilder:$e});B({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});B({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r,i=e[0];return{type:"enclose",mode:t.mode,label:a,body:i}},htmlBuilder:Ye,mathmlBuilder:$e});B({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r;t.mode==="math"&&t.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:t.mode,label:a,body:i}},htmlBuilder:Ye,mathmlBuilder:$e});B({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var y1={};function S0(r){for(var{type:e,names:t,props:a,handler:i,htmlBuilder:s,mathmlBuilder:u}=r,h={type:e,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},c=0;c{var e=r.parser.settings;if(!e.displayMode)throw new S("{"+r.envName+"} can be used only in display mode.")},v4=new Set(["gather","gather*"]);function Ut(r){if(!r.includes("ed"))return!r.includes("*")}function V0(r,e,t){var{hskipBeforeAndAfter:a,addJot:i,cols:s,arraystretch:u,colSeparationType:h,autoTag:c,singleRow:v,emptySingleRow:p,maxNumCols:b,leqno:x}=e;if(r.gullet.beginGroup(),v||r.gullet.macros.set("\\cr","\\\\\\relax"),!u){var y=r.gullet.expandMacroAsText("\\arraystretch");if(y==null)u=1;else if(u=parseFloat(y),!u||u<0)throw new S("Invalid \\arraystretch: "+y)}r.gullet.beginGroup();var T=[],M=[T],q=[],C=[],R=c!=null?[]:void 0;function F(){c&&r.gullet.macros.set("\\@eqnsw","1",!0)}function L(){R&&(r.gullet.macros.get("\\df@tag")?(R.push(r.subparse([new c0("\\df@tag")])),r.gullet.macros.set("\\df@tag",void 0,!0)):R.push(!!c&&r.gullet.macros.get("\\@eqnsw")==="1"))}for(F(),C.push(zr(r));;){var O=r.parseExpression(!1,v?"\\end":"\\\\");r.gullet.endGroup(),r.gullet.beginGroup();var P={type:"ordgroup",mode:r.mode,body:O};t&&(P={type:"styling",mode:r.mode,style:t,resetFont:!0,body:[P]}),T.push(P);var G=r.fetch().text;if(G==="&"){if(b&&T.length===b){if(v||h)throw new S("Too many tab characters: &",r.nextToken);r.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}r.consume()}else if(G==="\\end"){L(),T.length===1&&P.type==="styling"&&P.body.length===1&&P.body[0].type==="ordgroup"&&P.body[0].body.length===0&&(M.length>1||!p)&&M.pop(),C.length0&&(F+=.25),v.push({pos:F,isDashed:ye[xe]})}for(L(u[0]),a=0;a0&&(m0+=R,Gye))for(a=0;a=h)){var J0=void 0;if(i>0||e.hskipBeforeAndAfter){var Kt,Jt;J0=(Kt=(Jt=y0)==null?void 0:Jt.pregap)!=null?Kt:x,J0!==0&&(b0=k(["arraycolsep"],[]),b0.style.width=A(J0),x0.push(b0))}var Qt=[];for(a=0;a0){for(var G1=te("hline",t,p),U1=te("hdashline",t,p),Ke=[{type:"elem",elem:be,shift:0}];v.length>0;){var tr=v.pop(),rr=tr.pos-Q;tr.isDashed?Ke.push({type:"elem",elem:U1,shift:rr}):Ke.push({type:"elem",elem:G1,shift:rr})}be=V({positionType:"individualShift",children:Ke})}if(j0.length===0)return k(["mord"],[be],t);var V1=V({positionType:"individualShift",children:j0}),X1=k(["tag"],[V1],t);return E0([be,X1])},p4={c:"center ",l:"left ",r:"right "},A0=function(e,t){for(var a=[],i=new z("mtd",[],["mtr-glue"]),s=new z("mtd",[],["mml-eqn-num"]),u=0;u0){var T=e.cols,M="",q=!1,C=0,R=T.length;T[0].type==="separator"&&(x+="top ",C=1),T[T.length-1].type==="separator"&&(x+="bottom ",R-=1);for(var F=C;F0?"left ":"",x+=U[U.length-1].length>0?"right ":"";for(var o0=1;o00&&y&&(q=1),a[T]={type:"align",align:M,pregap:q,postgap:0}}return u.colSeparationType=y?"align":"alignat",u};S0({type:"array",names:["array","darray"],props:{numArgs:1},handler(r,e){var t=Ue(e[0]),a=t?[e[0]]:H(e[0],"ordgroup").body,i=a.map(function(u){var h=Ge(u),c=h.text;if("lcr".includes(c))return{type:"align",align:c};if(c==="|")return{type:"separator",separator:"|"};if(c===":")return{type:"separator",separator:":"};throw new S("Unknown column alignment: "+c,u)}),s={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return V0(r.parser,s,Vt(r.envName))},htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(r){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[r.envName.replace("*","")],t="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(r.envName.charAt(r.envName.length-1)==="*"){var i=r.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),t=i.fetch().text,!"lcr".includes(t))throw new S("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:t}]}}var s=V0(r.parser,a,Vt(r.envName)),u=Math.max(0,...s.body.map(h=>h.length));return s.cols=new Array(u).fill({type:"align",align:t}),e?{type:"leftright",mode:r.mode,body:[s],left:e[0],right:e[1],rightColor:void 0}:s},htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(r){var e={arraystretch:.5},t=V0(r.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["subarray"],props:{numArgs:1},handler(r,e){var t=Ue(e[0]),a=t?[e[0]]:H(e[0],"ordgroup").body,i=a.map(function(h){var c=Ge(h),v=c.text;if("lc".includes(v))return{type:"align",align:v};throw new S("Unknown column alignment: "+v,h)});if(i.length>1)throw new S("{subarray} can contain only one column");var s={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},u=V0(r.parser,s,"script");if(u.body.length>0&&u.body[0].length>1)throw new S("{subarray} can contain only one column");return u},htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(r){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=V0(r.parser,e,Vt(r.envName));return{type:"leftright",mode:r.mode,body:[t],left:r.envName.includes("r")?".":"\\{",right:r.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:w1,htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(r){v4.has(r.envName)&&We(r);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Ut(r.envName),emptySingleRow:!0,leqno:r.parser.settings.leqno};return V0(r.parser,e,"display")},htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:w1,htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(r){We(r);var e={autoTag:Ut(r.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:r.parser.settings.leqno};return V0(r.parser,e,"display")},htmlBuilder:z0,mathmlBuilder:A0});S0({type:"array",names:["CD"],props:{numArgs:0},handler(r){return We(r),a4(r.parser)},htmlBuilder:z0,mathmlBuilder:A0});m("\\nonumber","\\gdef\\@eqnsw{0}");m("\\notag","\\nonumber");B({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(r,e){throw new S(r.funcName+" valid only within array environment")}});var Ar=y1;B({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(r,e){var{parser:t,funcName:a}=r,i=e[0];if(i.type!=="ordgroup")throw new S("Invalid environment name",i);for(var s="",u=0;u{var t=r.font,a=e.withFont(t);return X(r.body,a)},S1=(r,e)=>{var t=r.font,a=e.withFont(t);return $(r.body,a)},Mr={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};B({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,i=Ne(e[0]),s=a;return s in Mr&&(s=Mr[s]),{type:"font",mode:t.mode,font:s.slice(1),body:i}},htmlBuilder:k1,mathmlBuilder:S1});B({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"mclass",mode:t.mode,mclass:Ve(a),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:a}],isCharacterBox:D0(a)}}});B({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,breakOnTokenText:i}=r,{mode:s}=t,u=t.parseExpression(!0,i);return{type:"font",mode:s,font:"math"+a.slice(1),body:{type:"ordgroup",mode:t.mode,body:u}}},htmlBuilder:k1,mathmlBuilder:S1});var g4=(r,e)=>{var t=e.style,a=t.fracNum(),i=t.fracDen(),s;s=e.havingStyle(a);var u=X(r.numer,s,e);if(r.continued){var h=8.5/e.fontMetrics().ptPerEm,c=3.5/e.fontMetrics().ptPerEm;u.height=u.height0?T=3*x:T=7*x,M=e.fontMetrics().denom1):(b>0?(y=e.fontMetrics().num2,T=x):(y=e.fontMetrics().num3,T=3*x),M=e.fontMetrics().denom2);var q;if(p){var R=e.fontMetrics().axisHeight;y-u.depth-(R+.5*b){var t=new z("mfrac",[$(r.numer,e),$(r.denom,e)]);if(!r.hasBarLine)t.setAttribute("linethickness","0px");else if(r.barSize){var a=K(r.barSize,e);t.setAttribute("linethickness",A(a))}if(r.leftDelim!=null||r.rightDelim!=null){var i=[];if(r.leftDelim!=null){var s=new z("mo",[new e0(r.leftDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}if(i.push(t),r.rightDelim!=null){var u=new z("mo",[new e0(r.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),i.push(u)}return Ot(i)}return t},z1=(r,e)=>{if(!e)return r;var t={type:"styling",mode:r.mode,style:e,body:[r]};return t};B({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,i=e[0],s=e[1],u,h=null,c=null;switch(a){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":u=!0;break;case"\\\\atopfrac":u=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":u=!1,h="(",c=")";break;case"\\\\bracefrac":u=!1,h="\\{",c="\\}";break;case"\\\\brackfrac":u=!1,h="[",c="]";break;default:throw new Error("Unrecognized genfrac command")}var v=a==="\\cfrac",p=null;return v||a.startsWith("\\d")?p="display":a.startsWith("\\t")&&(p="text"),z1({type:"genfrac",mode:t.mode,numer:i,denom:s,continued:v,hasBarLine:u,leftDelim:h,rightDelim:c,barSize:null},p)},htmlBuilder:g4,mathmlBuilder:b4});B({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(r){var{parser:e,funcName:t,token:a}=r,i;switch(t){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:a}}});var Tr=["display","text","script","scriptscript"],Br=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};B({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(r,e){var{parser:t}=r,a=e[4],i=e[5],s=Ne(e[0]),u=s.type==="atom"&&s.family==="open"?Br(s.text):null,h=Ne(e[1]),c=h.type==="atom"&&h.family==="close"?Br(h.text):null,v=H(e[2],"size"),p,b=null;v.isBlank?p=!0:(b=v.value,p=b.number>0);var x=null,y=e[3];if(y.type==="ordgroup"){if(y.body.length>0){var T=H(y.body[0],"textord");x=Tr[Number(T.text)]}}else y=H(y,"textord"),x=Tr[Number(y.text)];return z1({type:"genfrac",mode:t.mode,numer:a,denom:i,continued:!1,hasBarLine:p,barSize:b,leftDelim:u,rightDelim:c},x)}});B({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(r,e){var{parser:t,funcName:a,token:i}=r;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:H(e[0],"size").value,token:i}}});B({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(r,e)=>{var{parser:t,funcName:a}=r,i=e[0],s=H(e[1],"infix").size;if(!s)throw new Error("\\\\abovefrac expected size, but got "+String(s));var u=e[2],h=s.number>0;return{type:"genfrac",mode:t.mode,numer:i,denom:u,continued:!1,hasBarLine:h,barSize:s,leftDelim:null,rightDelim:null}}});var A1=(r,e)=>{var t=e.style,a,i;r.type==="supsub"?(a=r.sup?X(r.sup,e.havingStyle(t.sup()),e):X(r.sub,e.havingStyle(t.sub()),e),i=H(r.base,"horizBrace")):i=H(r,"horizBrace");var s=X(i.base,e.havingBaseStyle(N.DISPLAY)),u=Pe(i,e),h;if(i.isOver?h=V({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:u,wrapperClasses:["svg-align"]}]}):h=V({positionType:"bottom",positionData:s.depth+.1+u.height,children:[{type:"elem",elem:u,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:s}]}),a){var c=k(["minner",i.isOver?"mover":"munder"],[h],e);i.isOver?h=V({positionType:"firstBaseline",children:[{type:"elem",elem:c},{type:"kern",size:.2},{type:"elem",elem:a}]}):h=V({positionType:"bottom",positionData:c.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:c}]})}return k(["minner",i.isOver?"mover":"munder"],[h],e)},y4=(r,e)=>{var t=Le(r.label);return new z(r.isOver?"mover":"munder",[$(r.base,e),t])};B({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"horizBrace",mode:t.mode,label:a,isOver:a.includes("\\over"),base:e[0]}},htmlBuilder:A1,mathmlBuilder:y4});B({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[1],i=H(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:t.mode,href:i,body:_(a)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(r,e)=>{var t=a0(r.body,e,!1);return Ea(r.href,[],t,e)},mathmlBuilder:(r,e)=>{var t=U0(r.body,e);return t instanceof z||(t=new z("mrow",[t])),t.setAttribute("href",r.href),t}});B({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=H(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:a}))return t.formatUnsupportedCmd("\\url");for(var i=[],s=0;s{var{parser:t,funcName:a,token:i}=r,s=H(e[0],"raw").string,u=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var h,c={};switch(a){case"\\htmlClass":c.class=s,h={command:"\\htmlClass",class:s};break;case"\\htmlId":c.id=s,h={command:"\\htmlId",id:s};break;case"\\htmlStyle":c.style=s,h={command:"\\htmlStyle",style:s};break;case"\\htmlData":{for(var v=s.split(","),p=0;p{var t=a0(r.body,e,!1),a=["enclosing"];r.attributes.class&&a.push(...r.attributes.class.trim().split(/\s+/));var i=k(a,t,e);for(var s in r.attributes)s!=="class"&&r.attributes.hasOwnProperty(s)&&i.setAttribute(s,r.attributes[s]);return i},mathmlBuilder:(r,e)=>U0(r.body,e)});B({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"htmlmathml",mode:t.mode,html:_(e[0]),mathml:_(e[1])}},htmlBuilder:(r,e)=>{var t=a0(r.html,e,!1);return E0(t)},mathmlBuilder:(r,e)=>U0(r.mathml,e)});var ot=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new S("Invalid size: '"+e+"' in \\includegraphics");var a={number:+(t[1]+t[2]),unit:t[3]};if(!Ur(a))throw new S("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};B({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(r,e,t)=>{var{parser:a}=r,i={number:0,unit:"em"},s={number:.9,unit:"em"},u={number:0,unit:"em"},h="";if(t[0])for(var c=H(t[0],"raw").string,v=c.split(","),p=0;p{var t=K(r.height,e),a=0;r.totalheight.number>0&&(a=K(r.totalheight,e)-t);var i=0;r.width.number>0&&(i=K(r.width,e));var s={height:A(t+a)};i>0&&(s.width=A(i)),a>0&&(s.verticalAlign=A(-a));var u=new xa(r.src,r.alt,s);return u.height=t,u.depth=a,u},mathmlBuilder:(r,e)=>{var t=new z("mglyph",[]);t.setAttribute("alt",r.alt);var a=K(r.height,e),i=0;if(r.totalheight.number>0&&(i=K(r.totalheight,e)-a,t.setAttribute("valign",A(-i))),t.setAttribute("height",A(a+i)),r.width.number>0){var s=K(r.width,e);t.setAttribute("width",A(s))}return t.setAttribute("src",r.src),t}});B({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,i=H(e[0],"size");if(t.settings.strict){var s=a[1]==="m",u=i.value.unit==="mu";s?(u||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+i.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):u&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:i.value}},htmlBuilder(r,e){return jr(r.dimension,e)},mathmlBuilder(r,e){var t=K(r.dimension,e);return new e1(t)}});B({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,i=e[0];return{type:"lap",mode:t.mode,alignment:a.slice(5),body:i}},htmlBuilder:(r,e)=>{var t;r.alignment==="clap"?(t=k([],[X(r.body,e)]),t=k(["inner"],[t],e)):t=k(["inner"],[X(r.body,e)]);var a=k(["fix"],[]),i=k([r.alignment],[t,a],e),s=k(["strut"]);return s.style.height=A(i.height+i.depth),i.depth&&(s.style.verticalAlign=A(-i.depth)),i.children.unshift(s),i=k(["thinbox"],[i],e),k(["mord","vbox"],[i],e)},mathmlBuilder:(r,e)=>{var t=new z("mpadded",[$(r.body,e)]);if(r.alignment!=="rlap"){var a=r.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",a+"width")}return t.setAttribute("width","0px"),t}});B({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){var{funcName:t,parser:a}=r,i=a.mode;a.switchMode("math");var s=t==="\\("?"\\)":"$",u=a.parseExpression(!1,s);return a.expect(s),a.switchMode(i),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:u}}});B({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){throw new S("Mismatched "+r.funcName)}});var Cr=(r,e)=>{switch(e.style.size){case N.DISPLAY.size:return r.display;case N.TEXT.size:return r.text;case N.SCRIPT.size:return r.script;case N.SCRIPTSCRIPT.size:return r.scriptscript;default:return r.text}};B({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"mathchoice",mode:t.mode,display:_(e[0]),text:_(e[1]),script:_(e[2]),scriptscript:_(e[3])}},htmlBuilder:(r,e)=>{var t=Cr(r,e),a=a0(t,e,!1);return E0(a)},mathmlBuilder:(r,e)=>{var t=Cr(r,e);return U0(t,e)}});var M1=(r,e,t,a,i,s,u)=>{r=k([],[r]);var h=t&&D0(t),c,v;if(e){var p=X(e,a.havingStyle(i.sup()),a);v={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-p.depth)}}if(t){var b=X(t,a.havingStyle(i.sub()),a);c={elem:b,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-b.height)}}var x;if(v&&c){var y=a.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+r.depth+u;x=V({positionType:"bottom",positionData:y,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:c.elem,marginLeft:A(-s)},{type:"kern",size:c.kern},{type:"elem",elem:r},{type:"kern",size:v.kern},{type:"elem",elem:v.elem,marginLeft:A(s)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else if(c){var T=r.height-u;x=V({positionType:"top",positionData:T,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:c.elem,marginLeft:A(-s)},{type:"kern",size:c.kern},{type:"elem",elem:r}]})}else if(v){var M=r.depth+u;x=V({positionType:"bottom",positionData:M,children:[{type:"elem",elem:r},{type:"kern",size:v.kern},{type:"elem",elem:v.elem,marginLeft:A(s)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else return r;var q=[x];if(c&&s!==0&&!h){var C=k(["mspace"],[],a);C.style.marginRight=A(s),q.unshift(C)}return k(["mop","op-limits"],q,a)},T1=new Set(["\\smallint"]),se=(r,e)=>{var t,a,i=!1,s;r.type==="supsub"?(t=r.sup,a=r.sub,s=H(r.base,"op"),i=!0):s=H(r,"op");var u=e.style,h=!1;u.size===N.DISPLAY.size&&s.symbol&&!T1.has(s.name)&&(h=!0);var c,v;if(s.symbol){var p=h?"Size2-Regular":"Size1-Regular",b="";if((s.name==="\\oiint"||s.name==="\\oiiint")&&(b=s.name.slice(1),s.name=b==="oiint"?"\\iint":"\\iiint"),c=s0(s.name,p,"math",e,["mop","op-symbol",h?"large-op":"small-op"]),v=c.italic,b.length>0){var x=Kr(b+"Size"+(h?"2":"1"),e);c=V({positionType:"individualShift",children:[{type:"elem",elem:c,shift:0},{type:"elem",elem:x,shift:h?.08:0}]}),s.name="\\"+b,c.classes.unshift("mop"),c.italic=v}}else if(s.body){var y=a0(s.body,e,!0);y.length===1&&y[0]instanceof d0?(c=y[0],c.classes[0]="mop"):c=k(["mop"],y,e)}else{for(var T=[],M=1;M{var t;if(r.symbol)t=new z("mo",[g0(r.name,r.mode)]),T1.has(r.name)&&t.setAttribute("largeop","false");else if(r.body)t=new z("mo",v0(r.body,e));else{t=new z("mi",[new e0(r.name.slice(1))]);var a=new z("mo",[g0("⁡","text")]);r.parentIsSupSub?t=new z("mrow",[t,a]):t=_r([t,a])}return t},x4={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};B({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(r,e)=>{var{parser:t,funcName:a}=r,i=a;return i.length===1&&(i=x4[i]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:se,mathmlBuilder:fe});B({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:_(a)}},htmlBuilder:se,mathmlBuilder:fe});var w4={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};B({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:se,mathmlBuilder:fe});B({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:se,mathmlBuilder:fe});B({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(r){var{parser:e,funcName:t}=r,a=t;return a.length===1&&(a=w4[a]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:se,mathmlBuilder:fe});var B1=(r,e)=>{var t,a,i=!1,s;r.type==="supsub"?(t=r.sup,a=r.sub,s=H(r.base,"operatorname"),i=!0):s=H(r,"operatorname");var u;if(s.body.length>0){for(var h=s.body.map(b=>{var x="text"in b?b.text:void 0;return typeof x=="string"?{type:"textord",mode:b.mode,text:x}:b}),c=a0(h,e.withFont("mathrm"),!0),v=0;v{for(var t=v0(r.body,e.withFont("mathrm")),a=!0,i=0;ip.toText()).join("");t=[new e0(h)]}var c=new z("mi",t);c.setAttribute("mathvariant","normal");var v=new z("mo",[g0("⁡","text")]);return r.parentIsSupSub?new z("mrow",[c,v]):_r([c,v])};B({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,i=e[0];return{type:"operatorname",mode:t.mode,body:_(i),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:B1,mathmlBuilder:k4});m("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");W0({type:"ordgroup",htmlBuilder(r,e){return r.semisimple?E0(a0(r.body,e,!1)):k(["mord"],a0(r.body,e,!0),e)},mathmlBuilder(r,e){return U0(r.body,e,!0)}});B({type:"overline",names:["\\overline"],props:{numArgs:1},handler(r,e){var{parser:t}=r,a=e[0];return{type:"overline",mode:t.mode,body:a}},htmlBuilder(r,e){var t=X(r.body,e.havingCrampedStyle()),a=te("overline-line",e),i=e.fontMetrics().defaultRuleThickness,s=V({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*i},{type:"elem",elem:a},{type:"kern",size:i}]});return k(["mord","overline"],[s],e)},mathmlBuilder(r,e){var t=new z("mo",[new e0("‾")]);t.setAttribute("stretchy","true");var a=new z("mover",[$(r.body,e),t]);return a.setAttribute("accent","true"),a}});B({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"phantom",mode:t.mode,body:_(a)}},htmlBuilder:(r,e)=>{var t=a0(r.body,e.withPhantom(),!1);return E0(t)},mathmlBuilder:(r,e)=>{var t=v0(r.body,e);return new z("mphantom",t)}});m("\\hphantom","\\smash{\\phantom{#1}}");B({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"vphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=k(["inner"],[X(r.body,e.withPhantom())]),a=k(["fix"],[]);return k(["mord","rlap"],[t,a],e)},mathmlBuilder:(r,e)=>{var t=v0(_(r.body),e),a=new z("mphantom",t),i=new z("mpadded",[a]);return i.setAttribute("width","0px"),i}});B({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r,a=H(e[0],"size").value,i=e[1];return{type:"raisebox",mode:t.mode,dy:a,body:i}},htmlBuilder(r,e){var t=X(r.body,e),a=K(r.dy,e);return V({positionType:"shift",positionData:-a,children:[{type:"elem",elem:t}]})},mathmlBuilder(r,e){var t=new z("mpadded",[$(r.body,e)]),a=r.dy.number+r.dy.unit;return t.setAttribute("voffset",a),t}});B({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(r){var{parser:e}=r;return{type:"internal",mode:e.mode}}});B({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(r,e,t){var{parser:a}=r,i=t[0],s=H(e[0],"size"),u=H(e[1],"size");return{type:"rule",mode:a.mode,shift:i&&H(i,"size").value,width:s.value,height:u.value}},htmlBuilder(r,e){var t=k(["mord","rule"],[],e),a=K(r.width,e),i=K(r.height,e),s=r.shift?K(r.shift,e):0;return t.style.borderRightWidth=A(a),t.style.borderTopWidth=A(i),t.style.bottom=A(s),t.width=a,t.height=i+s,t.depth=-s,t.maxFontSize=i*1.125*e.sizeMultiplier,t},mathmlBuilder(r,e){var t=K(r.width,e),a=K(r.height,e),i=r.shift?K(r.shift,e):0,s=e.color&&e.getColor()||"black",u=new z("mspace");u.setAttribute("mathbackground",s),u.setAttribute("width",A(t)),u.setAttribute("height",A(a));var h=new z("mpadded",[u]);return i>=0?h.setAttribute("height",A(i)):(h.setAttribute("height",A(i)),h.setAttribute("depth",A(-i))),h.setAttribute("voffset",A(i)),h}});function C1(r,e,t){for(var a=a0(r,e,!1),i=e.sizeMultiplier/t.sizeMultiplier,s=0;s{var t=e.havingSize(r.size);return C1(r.body,t,e)};B({type:"sizing",names:Dr,props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{breakOnTokenText:t,funcName:a,parser:i}=r,s=i.parseExpression(!1,t);return{type:"sizing",mode:i.mode,size:Dr.indexOf(a)+1,body:s}},htmlBuilder:S4,mathmlBuilder:(r,e)=>{var t=e.havingSize(r.size),a=v0(r.body,t),i=new z("mstyle",a);return i.setAttribute("mathsize",A(t.sizeMultiplier)),i}});B({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(r,e,t)=>{var{parser:a}=r,i=!1,s=!1,u=t[0]&&H(t[0],"ordgroup");if(u)for(var h,c=0;c{var t=k([],[X(r.body,e)]);if(!r.smashHeight&&!r.smashDepth)return t;if(r.smashHeight&&(t.height=0),r.smashDepth&&(t.depth=0),r.smashHeight&&r.smashDepth)return k(["mord","smash"],[t],e);if(t.children)for(var a=0;a{var t=new z("mpadded",[$(r.body,e)]);return r.smashHeight&&t.setAttribute("height","0px"),r.smashDepth&&t.setAttribute("depth","0px"),t}});B({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a}=r,i=t[0],s=e[0];return{type:"sqrt",mode:a.mode,body:s,index:i}},htmlBuilder(r,e){var t=X(r.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=re(t,e);var a=e.fontMetrics(),i=a.defaultRuleThickness,s=i;e.style.idt.height+t.depth+u&&(u=(u+b-t.height-t.depth)/2);var x=c.height-t.height-u-v;t.style.paddingLeft=A(p);var y=V({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+x)},{type:"elem",elem:c},{type:"kern",size:v}]});if(r.index){var T=e.havingStyle(N.SCRIPTSCRIPT),M=X(r.index,T,e),q=.6*(y.height-y.depth),C=V({positionType:"shift",positionData:-q,children:[{type:"elem",elem:M}]}),R=k(["root"],[C]);return k(["mord","sqrt"],[R,y],e)}else return k(["mord","sqrt"],[y],e)},mathmlBuilder(r,e){var{body:t,index:a}=r;return a?new z("mroot",[$(t,e),$(a,e)]):new z("msqrt",[$(t,e)])}});var Dt={display:N.DISPLAY,text:N.TEXT,script:N.SCRIPT,scriptscript:N.SCRIPTSCRIPT};function z4(r){return r in Dt}B({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r,e){var{breakOnTokenText:t,funcName:a,parser:i}=r,s=i.parseExpression(!0,t),u=a.slice(1,a.length-5);if(!z4(u))throw new Error("Unknown style: "+u);return{type:"styling",mode:i.mode,style:u,body:s}},htmlBuilder(r,e){var t=Dt[r.style],a=e.havingStyle(t);return r.resetFont&&(a=a.withFont("")),C1(r.body,a,e)},mathmlBuilder(r,e){var t=Dt[r.style],a=e.havingStyle(t);r.resetFont&&(a=a.withFont(""));var i=v0(r.body,a),s=new z("mstyle",i),u={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},h=u[r.style];return s.setAttribute("scriptlevel",h[0]),s.setAttribute("displaystyle",h[1]),s}});var A4=function(e,t){var a=e.base;if(a)if(a.type==="op"){var i=a.limits&&(t.style.size===N.DISPLAY.size||a.alwaysHandleSupSub);return i?se:null}else if(a.type==="operatorname"){var s=a.alwaysHandleSupSub&&(t.style.size===N.DISPLAY.size||a.limits);return s?B1:null}else{if(a.type==="accent")return D0(a.base)?Pt:null;if(a.type==="horizBrace"){var u=!e.sub;return u===a.isOver?A1:null}else return null}else return null};W0({type:"supsub",htmlBuilder(r,e){var t=A4(r,e);if(t)return t(r,e);var{base:a,sup:i,sub:s}=r,u=X(a,e),h,c,v=e.fontMetrics(),p=0,b=0,x=a&&D0(a);if(i){var y=e.havingStyle(e.style.sup());h=X(i,y,e),x||(p=u.height-y.fontMetrics().supDrop*y.sizeMultiplier/e.sizeMultiplier)}if(s){var T=e.havingStyle(e.style.sub());c=X(s,T,e),x||(b=u.depth+T.fontMetrics().subDrop*T.sizeMultiplier/e.sizeMultiplier)}var M;e.style===N.DISPLAY?M=v.sup1:e.style.cramped?M=v.sup3:M=v.sup2;var q=e.sizeMultiplier,C=A(.5/v.ptPerEm/q),R=null;if(c){var F=r.base&&r.base.type==="op"&&r.base.name&&(r.base.name==="\\oiint"||r.base.name==="\\oiiint");if(u instanceof d0||F){var L;R=A(-((L=u.italic)!=null?L:0))}}var O;if(h&&c){p=Math.max(p,M,h.depth+.25*v.xHeight),b=Math.max(b,v.sub2);var P=v.defaultRuleThickness,G=4*P;if(p-h.depth-(c.height-b)0&&(p+=Y,b-=Y)}var U=[{type:"elem",elem:c,shift:b,marginRight:C,marginLeft:R},{type:"elem",elem:h,shift:-p,marginRight:C}];O=V({positionType:"individualShift",children:U})}else if(c){b=Math.max(b,v.sub1,c.height-.8*v.xHeight);var o0=[{type:"elem",elem:c,marginLeft:R,marginRight:C}];O=V({positionType:"shift",positionData:b,children:o0})}else if(h)p=Math.max(p,M,h.depth+.25*v.xHeight),O=V({positionType:"shift",positionData:-p,children:[{type:"elem",elem:h,marginRight:C}]});else throw new Error("supsub must have either sup or sub.");var m0=At(u,"right")||"mord";return k([m0],[u,k(["msupsub"],[O])],e)},mathmlBuilder(r,e){var t=!1,a,i;r.base&&r.base.type==="horizBrace"&&(i=!!r.sup,i===r.base.isOver&&(t=!0,a=r.base.isOver)),r.base&&(r.base.type==="op"||r.base.type==="operatorname")&&(r.base.parentIsSupSub=!0);var s=[$(r.base,e)];r.sub&&s.push($(r.sub,e)),r.sup&&s.push($(r.sup,e));var u;if(t)u=a?"mover":"munder";else if(r.sub)if(r.sup){var v=r.base;v&&v.type==="op"&&v.limits&&e.style===N.DISPLAY||v&&v.type==="operatorname"&&v.alwaysHandleSupSub&&(e.style===N.DISPLAY||v.limits)?u="munderover":u="msubsup"}else{var c=r.base;c&&c.type==="op"&&c.limits&&(e.style===N.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||e.style===N.DISPLAY)?u="munder":u="msub"}else{var h=r.base;h&&h.type==="op"&&h.limits&&(e.style===N.DISPLAY||h.alwaysHandleSupSub)||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(h.limits||e.style===N.DISPLAY)?u="mover":u="msup"}return new z(u,s)}});W0({type:"atom",htmlBuilder(r,e){return Ft(r.text,r.mode,e,["m"+r.family])},mathmlBuilder(r,e){var t=new z("mo",[g0(r.text,r.mode)]);if(r.family==="bin"){var a=Lt(r,e);a==="bold-italic"&&t.setAttribute("mathvariant",a)}else r.family==="punct"?t.setAttribute("separator","true"):(r.family==="open"||r.family==="close")&&t.setAttribute("stretchy","false");return t}});var D1={mi:"italic",mn:"normal",mtext:"normal"};W0({type:"mathord",htmlBuilder(r,e){return Oe(r,e,"mathord")},mathmlBuilder(r,e){var t=new z("mi",[g0(r.text,r.mode,e)]),a=Lt(r,e)||"italic";return a!==D1[t.type]&&t.setAttribute("mathvariant",a),t}});W0({type:"textord",htmlBuilder(r,e){return Oe(r,e,"textord")},mathmlBuilder(r,e){var t=g0(r.text,r.mode,e),a=Lt(r,e)||"normal",i;return r.mode==="text"?i=new z("mtext",[t]):/[0-9]/.test(r.text)?i=new z("mn",[t]):r.text==="\\prime"?i=new z("mo",[t]):i=new z("mi",[t]),a!==D1[i.type]&&i.setAttribute("mathvariant",a),i}});var ht={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},mt={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};W0({type:"spacing",htmlBuilder(r,e){if(mt.hasOwnProperty(r.text)){var t=mt[r.text].className||"";if(r.mode==="text"){var a=Oe(r,e,"textord");return a.classes.push(t),a}else return k(["mspace",t],[Ft(r.text,r.mode,e)],e)}else{if(ht.hasOwnProperty(r.text))return k(["mspace",ht[r.text]],[],e);throw new S('Unknown type of space "'+r.text+'"')}},mathmlBuilder(r,e){var t;if(mt.hasOwnProperty(r.text))t=new z("mtext",[new e0(" ")]);else{if(ht.hasOwnProperty(r.text))return new z("mspace");throw new S('Unknown type of space "'+r.text+'"')}return t}});var qr=()=>{var r=new z("mtd",[]);return r.setAttribute("width","50%"),r};W0({type:"tag",mathmlBuilder(r,e){var t=new z("mtable",[new z("mtr",[qr(),new z("mtd",[U0(r.body,e)]),qr(),new z("mtd",[U0(r.tag,e)])])]);return t.setAttribute("width","100%"),t}});var Er={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Rr={"\\textbf":"textbf","\\textmd":"textmd"},M4={"\\textit":"textit","\\textup":"textup"},Ir=(r,e)=>{var t=r.font;if(t){if(Er[t])return e.withTextFontFamily(Er[t]);if(Rr[t])return e.withTextFontWeight(Rr[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(M4[t])};B({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,i=e[0];return{type:"text",mode:t.mode,body:_(i),font:a}},htmlBuilder(r,e){var t=Ir(r,e),a=a0(r.body,t,!0);return k(["mord","text"],a,t)},mathmlBuilder(r,e){var t=Ir(r,e);return U0(r.body,t)}});B({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=X(r.body,e),a=te("underline-line",e),i=e.fontMetrics().defaultRuleThickness,s=V({positionType:"top",positionData:t.height,children:[{type:"kern",size:i},{type:"elem",elem:a},{type:"kern",size:3*i},{type:"elem",elem:t}]});return k(["mord","underline"],[s],e)},mathmlBuilder(r,e){var t=new z("mo",[new e0("‾")]);t.setAttribute("stretchy","true");var a=new z("munder",[$(r.body,e),t]);return a.setAttribute("accentunder","true"),a}});B({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=X(r.body,e),a=e.fontMetrics().axisHeight,i=.5*(t.height-a-(t.depth+a));return V({positionType:"shift",positionData:i,children:[{type:"elem",elem:t}]})},mathmlBuilder(r,e){var t=new z("mpadded",[$(r.body,e)],["vcenter"]);return new z("mrow",[t])}});B({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(r,e,t){throw new S("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(r,e){for(var t=Nr(r),a=[],i=e.havingStyle(e.style.text()),s=0;sr.body.replace(/ /g,r.star?"␣":" "),O0=Jr,q1=`[ \r + ]`,T4="\\\\[a-zA-Z@]+",B4="\\\\[^\uD800-\uDFFF]",C4="("+T4+")"+q1+"*",D4=`\\\\( +|[ \r ]+ +?)[ \r ]*`,qt="[̀-ͯ]",q4=new RegExp(qt+"+$"),E4="("+q1+"+)|"+(D4+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(qt+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(qt+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+C4)+("|"+B4+")");class Fr{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(E4,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new c0("EOF",new h0(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new S("Unexpected character: '"+e[t]+"'",new c0(e[t],new h0(this,t,t+1)));var i=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[i]===14){var s=e.indexOf(` +`,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new c0(i,new h0(this,t,this.tokenRegex.lastIndex))}}class R4{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new S("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,a){if(a===void 0&&(a=!1),a){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var s=this.undefStack[this.undefStack.length-1];s&&!s.hasOwnProperty(e)&&(s[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}}var I4=x1;m("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});m("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}});m("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}});m("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}});m("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});m("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");m("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var Hr={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};m("\\char",function(r){var e=r.popToken(),t,a=0;if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new S("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=Hr[e.text],a==null||a>=t)throw new S("Invalid base-"+t+" digit "+e.text);for(var i;(i=Hr[r.future().text])!=null&&i{var i=r.consumeArg().tokens;if(i.length!==1)throw new S("\\newcommand's first argument must be a macro name");var s=i[0].text,u=r.isDefined(s);if(u&&!e)throw new S("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!u&&!t)throw new S("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var h=0;if(i=r.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var c="",v=r.expandNextToken();v.text!=="]"&&v.text!=="EOF";)c+=v.text,v=r.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new S("Invalid number of arguments: "+c);h=parseInt(c),i=r.consumeArg().tokens}return u&&a||r.macros.set(s,{tokens:i,numArgs:h}),""};m("\\newcommand",r=>Xt(r,!1,!0,!1));m("\\renewcommand",r=>Xt(r,!0,!1,!1));m("\\providecommand",r=>Xt(r,!0,!0,!0));m("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});m("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});m("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),O0[t],W.math[t],W.text[t]),""});m("\\bgroup","{");m("\\egroup","}");m("~","\\nobreakspace");m("\\lq","`");m("\\rq","'");m("\\aa","\\r a");m("\\AA","\\r A");m("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");m("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");m("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");m("ℬ","\\mathscr{B}");m("ℰ","\\mathscr{E}");m("ℱ","\\mathscr{F}");m("ℋ","\\mathscr{H}");m("ℐ","\\mathscr{I}");m("ℒ","\\mathscr{L}");m("ℳ","\\mathscr{M}");m("ℛ","\\mathscr{R}");m("ℭ","\\mathfrak{C}");m("ℌ","\\mathfrak{H}");m("ℨ","\\mathfrak{Z}");m("\\Bbbk","\\Bbb{k}");m("\\llap","\\mathllap{\\textrm{#1}}");m("\\rlap","\\mathrlap{\\textrm{#1}}");m("\\clap","\\mathclap{\\textrm{#1}}");m("\\mathstrut","\\vphantom{(}");m("\\underbar","\\underline{\\text{#1}}");m("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');m("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");m("\\ne","\\neq");m("≠","\\neq");m("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");m("∉","\\notin");m("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");m("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");m("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");m("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");m("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");m("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");m("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");m("⟂","\\perp");m("‼","\\mathclose{!\\mkern-0.8mu!}");m("∌","\\notni");m("⌜","\\ulcorner");m("⌝","\\urcorner");m("⌞","\\llcorner");m("⌟","\\lrcorner");m("©","\\copyright");m("®","\\textregistered");m("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');m("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');m("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');m("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');m("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");m("⋮","\\vdots");m("\\varGamma","\\mathit{\\Gamma}");m("\\varDelta","\\mathit{\\Delta}");m("\\varTheta","\\mathit{\\Theta}");m("\\varLambda","\\mathit{\\Lambda}");m("\\varXi","\\mathit{\\Xi}");m("\\varPi","\\mathit{\\Pi}");m("\\varSigma","\\mathit{\\Sigma}");m("\\varUpsilon","\\mathit{\\Upsilon}");m("\\varPhi","\\mathit{\\Phi}");m("\\varPsi","\\mathit{\\Psi}");m("\\varOmega","\\mathit{\\Omega}");m("\\substack","\\begin{subarray}{c}#1\\end{subarray}");m("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");m("\\boxed","\\fbox{$\\displaystyle{#1}$}");m("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");m("\\implies","\\DOTSB\\;\\Longrightarrow\\;");m("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");m("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");m("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Or={",":"\\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"},N4=new Set(["bin","rel"]);m("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in Or?e=Or[t]:(t.slice(0,4)==="\\not"||t in W.math&&N4.has(W.math[t].group))&&(e="\\dotsb"),e});var Yt={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};m("\\dotso",function(r){var e=r.future().text;return e in Yt?"\\ldots\\,":"\\ldots"});m("\\dotsc",function(r){var e=r.future().text;return e in Yt&&e!==","?"\\ldots\\,":"\\ldots"});m("\\cdots",function(r){var e=r.future().text;return e in Yt?"\\@cdots\\,":"\\@cdots"});m("\\dotsb","\\cdots");m("\\dotsm","\\cdots");m("\\dotsi","\\!\\cdots");m("\\dotsx","\\ldots\\,");m("\\DOTSI","\\relax");m("\\DOTSB","\\relax");m("\\DOTSX","\\relax");m("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");m("\\,","\\tmspace+{3mu}{.1667em}");m("\\thinspace","\\,");m("\\>","\\mskip{4mu}");m("\\:","\\tmspace+{4mu}{.2222em}");m("\\medspace","\\:");m("\\;","\\tmspace+{5mu}{.2777em}");m("\\thickspace","\\;");m("\\!","\\tmspace-{3mu}{.1667em}");m("\\negthinspace","\\!");m("\\negmedspace","\\tmspace-{4mu}{.2222em}");m("\\negthickspace","\\tmspace-{5mu}{.277em}");m("\\enspace","\\kern.5em ");m("\\enskip","\\hskip.5em\\relax");m("\\quad","\\hskip1em\\relax");m("\\qquad","\\hskip2em\\relax");m("\\tag","\\@ifstar\\tag@literal\\tag@paren");m("\\tag@paren","\\tag@literal{({#1})}");m("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new S("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});m("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");m("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");m("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");m("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");m("\\newline","\\\\\\relax");m("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var E1=A(k0["Main-Regular"][84][1]-.7*k0["Main-Regular"][65][1]);m("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+E1+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");m("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+E1+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");m("\\hspace","\\@ifstar\\@hspacer\\@hspace");m("\\@hspace","\\hskip #1\\relax");m("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");m("\\ordinarycolon",":");m("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");m("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');m("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');m("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');m("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');m("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');m("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');m("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');m("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');m("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');m("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');m("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');m("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');m("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');m("∷","\\dblcolon");m("∹","\\eqcolon");m("≔","\\coloneqq");m("≕","\\eqqcolon");m("⩴","\\Coloneqq");m("\\ratio","\\vcentcolon");m("\\coloncolon","\\dblcolon");m("\\colonequals","\\coloneqq");m("\\coloncolonequals","\\Coloneqq");m("\\equalscolon","\\eqqcolon");m("\\equalscoloncolon","\\Eqqcolon");m("\\colonminus","\\coloneq");m("\\coloncolonminus","\\Coloneq");m("\\minuscolon","\\eqcolon");m("\\minuscoloncolon","\\Eqcolon");m("\\coloncolonapprox","\\Colonapprox");m("\\coloncolonsim","\\Colonsim");m("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");m("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");m("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");m("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");m("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");m("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");m("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");m("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");m("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");m("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");m("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");m("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");m("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");m("\\nleqq","\\html@mathml{\\@nleqq}{≰}");m("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");m("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");m("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");m("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");m("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");m("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");m("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");m("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");m("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");m("\\imath","\\html@mathml{\\@imath}{ı}");m("\\jmath","\\html@mathml{\\@jmath}{ȷ}");m("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");m("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");m("⟦","\\llbracket");m("⟧","\\rrbracket");m("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");m("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");m("⦃","\\lBrace");m("⦄","\\rBrace");m("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");m("⦵","\\minuso");m("\\darr","\\downarrow");m("\\dArr","\\Downarrow");m("\\Darr","\\Downarrow");m("\\lang","\\langle");m("\\rang","\\rangle");m("\\uarr","\\uparrow");m("\\uArr","\\Uparrow");m("\\Uarr","\\Uparrow");m("\\N","\\mathbb{N}");m("\\R","\\mathbb{R}");m("\\Z","\\mathbb{Z}");m("\\alef","\\aleph");m("\\alefsym","\\aleph");m("\\Alpha","\\mathrm{A}");m("\\Beta","\\mathrm{B}");m("\\bull","\\bullet");m("\\Chi","\\mathrm{X}");m("\\clubs","\\clubsuit");m("\\cnums","\\mathbb{C}");m("\\Complex","\\mathbb{C}");m("\\Dagger","\\ddagger");m("\\diamonds","\\diamondsuit");m("\\empty","\\emptyset");m("\\Epsilon","\\mathrm{E}");m("\\Eta","\\mathrm{H}");m("\\exist","\\exists");m("\\harr","\\leftrightarrow");m("\\hArr","\\Leftrightarrow");m("\\Harr","\\Leftrightarrow");m("\\hearts","\\heartsuit");m("\\image","\\Im");m("\\infin","\\infty");m("\\Iota","\\mathrm{I}");m("\\isin","\\in");m("\\Kappa","\\mathrm{K}");m("\\larr","\\leftarrow");m("\\lArr","\\Leftarrow");m("\\Larr","\\Leftarrow");m("\\lrarr","\\leftrightarrow");m("\\lrArr","\\Leftrightarrow");m("\\Lrarr","\\Leftrightarrow");m("\\Mu","\\mathrm{M}");m("\\natnums","\\mathbb{N}");m("\\Nu","\\mathrm{N}");m("\\Omicron","\\mathrm{O}");m("\\plusmn","\\pm");m("\\rarr","\\rightarrow");m("\\rArr","\\Rightarrow");m("\\Rarr","\\Rightarrow");m("\\real","\\Re");m("\\reals","\\mathbb{R}");m("\\Reals","\\mathbb{R}");m("\\Rho","\\mathrm{P}");m("\\sdot","\\cdot");m("\\sect","\\S");m("\\spades","\\spadesuit");m("\\sub","\\subset");m("\\sube","\\subseteq");m("\\supe","\\supseteq");m("\\Tau","\\mathrm{T}");m("\\thetasym","\\vartheta");m("\\weierp","\\wp");m("\\Zeta","\\mathrm{Z}");m("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");m("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");m("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");m("\\bra","\\mathinner{\\langle{#1}|}");m("\\ket","\\mathinner{|{#1}\\rangle}");m("\\braket","\\mathinner{\\langle{#1}\\rangle}");m("\\Bra","\\left\\langle#1\\right|");m("\\Ket","\\left|#1\\right\\rangle");var R1=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,i=e.consumeArg().tokens,s=e.consumeArg().tokens,u=e.macros.get("|"),h=e.macros.get("\\|");e.macros.beginGroup();var c=b=>x=>{r&&(x.macros.set("|",u),i.length&&x.macros.set("\\|",h));var y=b;if(!b&&i.length){var T=x.future();T.text==="|"&&(x.popToken(),y=!0)}return{tokens:y?i:a,numArgs:0}};e.macros.set("|",c(!1)),i.length&&e.macros.set("\\|",c(!0));var v=e.consumeArg().tokens,p=e.expandTokens([...s,...v,...t]);return e.macros.endGroup(),{tokens:p.reverse(),numArgs:0}};m("\\bra@ket",R1(!1));m("\\bra@set",R1(!0));m("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");m("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");m("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");m("\\angln","{\\angl n}");m("\\blue","\\textcolor{##6495ed}{#1}");m("\\orange","\\textcolor{##ffa500}{#1}");m("\\pink","\\textcolor{##ff00af}{#1}");m("\\red","\\textcolor{##df0030}{#1}");m("\\green","\\textcolor{##28ae7b}{#1}");m("\\gray","\\textcolor{gray}{#1}");m("\\purple","\\textcolor{##9d38bd}{#1}");m("\\blueA","\\textcolor{##ccfaff}{#1}");m("\\blueB","\\textcolor{##80f6ff}{#1}");m("\\blueC","\\textcolor{##63d9ea}{#1}");m("\\blueD","\\textcolor{##11accd}{#1}");m("\\blueE","\\textcolor{##0c7f99}{#1}");m("\\tealA","\\textcolor{##94fff5}{#1}");m("\\tealB","\\textcolor{##26edd5}{#1}");m("\\tealC","\\textcolor{##01d1c1}{#1}");m("\\tealD","\\textcolor{##01a995}{#1}");m("\\tealE","\\textcolor{##208170}{#1}");m("\\greenA","\\textcolor{##b6ffb0}{#1}");m("\\greenB","\\textcolor{##8af281}{#1}");m("\\greenC","\\textcolor{##74cf70}{#1}");m("\\greenD","\\textcolor{##1fab54}{#1}");m("\\greenE","\\textcolor{##0d923f}{#1}");m("\\goldA","\\textcolor{##ffd0a9}{#1}");m("\\goldB","\\textcolor{##ffbb71}{#1}");m("\\goldC","\\textcolor{##ff9c39}{#1}");m("\\goldD","\\textcolor{##e07d10}{#1}");m("\\goldE","\\textcolor{##a75a05}{#1}");m("\\redA","\\textcolor{##fca9a9}{#1}");m("\\redB","\\textcolor{##ff8482}{#1}");m("\\redC","\\textcolor{##f9685d}{#1}");m("\\redD","\\textcolor{##e84d39}{#1}");m("\\redE","\\textcolor{##bc2612}{#1}");m("\\maroonA","\\textcolor{##ffbde0}{#1}");m("\\maroonB","\\textcolor{##ff92c6}{#1}");m("\\maroonC","\\textcolor{##ed5fa6}{#1}");m("\\maroonD","\\textcolor{##ca337c}{#1}");m("\\maroonE","\\textcolor{##9e034e}{#1}");m("\\purpleA","\\textcolor{##ddd7ff}{#1}");m("\\purpleB","\\textcolor{##c6b9fc}{#1}");m("\\purpleC","\\textcolor{##aa87ff}{#1}");m("\\purpleD","\\textcolor{##7854ab}{#1}");m("\\purpleE","\\textcolor{##543b78}{#1}");m("\\mintA","\\textcolor{##f5f9e8}{#1}");m("\\mintB","\\textcolor{##edf2df}{#1}");m("\\mintC","\\textcolor{##e0e5cc}{#1}");m("\\grayA","\\textcolor{##f6f7f7}{#1}");m("\\grayB","\\textcolor{##f0f1f2}{#1}");m("\\grayC","\\textcolor{##e3e5e6}{#1}");m("\\grayD","\\textcolor{##d6d8da}{#1}");m("\\grayE","\\textcolor{##babec2}{#1}");m("\\grayF","\\textcolor{##888d93}{#1}");m("\\grayG","\\textcolor{##626569}{#1}");m("\\grayH","\\textcolor{##3b3e40}{#1}");m("\\grayI","\\textcolor{##21242c}{#1}");m("\\kaBlue","\\textcolor{##314453}{#1}");m("\\kaGreen","\\textcolor{##71B307}{#1}");var I1={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class F4{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new R4(I4,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new Fr(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:i,end:a}=this.consumeArg(["]"])}else({tokens:i,start:t,end:a}=this.consumeArg());return this.pushToken(new c0("EOF",a.loc)),this.pushTokens(i),new c0("",h0.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var i=this.future(),s,u=0,h=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++u;else if(s.text==="}"){if(--u,u===-1)throw new S("Extra }",s)}else if(s.text==="EOF")throw new S("Unexpected end of input in a macro argument, expected '"+(e&&a?e[h]:"}")+"'",s);if(e&&a)if((u===0||u===1&&e[h]==="{")&&s.text===e[h]){if(++h,h===e.length){t.splice(-h,h);break}}else h=0}while(u!==0||a);return i.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new S("The length of delimiters doesn't match the number of args!");for(var a=t[0],i=0;ithis.settings.maxExpand)throw new S("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,i=t.noexpand?null:this._getExpansion(a);if(i==null||e&&i.unexpandable){if(e&&i==null&&a[0]==="\\"&&!this.isDefined(a))throw new S("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var s=i.tokens,u=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){s=s.slice();for(var h=s.length-1;h>=0;--h){var c=s[h];if(c.text==="#"){if(h===0)throw new S("Incomplete placeholder at end of macro body",c);if(c=s[--h],c.text==="#")s.splice(h+1,1);else if(/^[1-9]$/.test(c.text))s.splice(h,2,...u[+c.text-1]);else throw new S("Not a valid argument number",c)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new c0(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),t.push(i)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var i=typeof t=="function"?t(this):t;if(typeof i=="string"){var s=0;if(i.includes("#"))for(var u=i.replace(/##/g,"");u.includes("#"+(s+1));)++s;for(var h=new Fr(i,this.settings),c=[],v=h.lex();v.text!=="EOF";)c.push(v),v=h.lex();c.reverse();var p={tokens:c,numArgs:s};return p}return i}isDefined(e){return this.macros.has(e)||O0.hasOwnProperty(e)||W.math.hasOwnProperty(e)||W.text.hasOwnProperty(e)||I1.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:O0.hasOwnProperty(e)&&!O0[e].primitive}}var Lr=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Be=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),ct={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Pr={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class je{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new F4(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new S("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new c0("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(je.endOfExpression.has(i.text)||t&&i.text===t||e&&O0[i.text]&&O0[i.text].infix)break;var s=this.parseAtom(t);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,i=0;i=128)this.settings.strict&&(Gr(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),u={type:"textord",mode:"text",loc:h0.range(e),text:t};else return null;if(this.consume(),s)for(var p=0;p1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,a&&S(r[0],r[1],a)&&(o=i<3?void 0:o,i=1),n=Object(n);++t2?n[2]:void 0;for(i&&S(n[0],n[1],i)&&(t=1);++r-1?i[o?n[a]:a]:void 0}}var Kt=Math.max;function Xt(e,n,r){var t=e==null?0:e.length;if(!t)return-1;var i=r==null?0:cr(r);return i<0&&(i=Kt(t+i,0)),Xn(e,C(n),i)}var be=qt(Xt);function wn(e,n){var r=-1,t=K(e)?Array(e.length):[];return Hn(e,function(i,o,a){t[++r]=n(i,o,a)}),t}function g(e,n){var r=N(e)?B:wn;return r(e,C(n))}function Ht(e,n){return e==null?e:Qe(e,en(n),P)}function zt(e,n){return e&&nn(e,en(n))}function Jt(e,n){return e>n}var Zt=Object.prototype,Qt=Zt.hasOwnProperty;function ei(e,n){return e!=null&&Qt.call(e,n)}function gn(e,n){return e!=null&&zn(e,n,ei)}function mn(e,n){return en||o&&a&&f&&!u&&!d||t&&a&&f||!r&&f||!i)return 1;if(!t&&!o&&!d&&e=u)return f;var d=r[t];return f*(d=="desc"?-1:1)}}return e.index-n.index}function oi(e,n,r){n.length?n=B(n,function(o){return N(o)?function(a){return tn(a,o.length===1?o[0]:o)}:o}):n=[he];var t=-1;n=B(n,le(C));var i=wn(e,function(o,a,u){var f=B(n,function(d){return d(o)});return{criteria:f,index:++t,value:o}});return ti(i,function(o,a){return ai(o,a,r)})}function ui(e,n){return ri(e,n,function(r,t){return Zn(e,t)})}var W=yr(function(e,n){return e==null?{}:ui(e,n)}),fi=Math.ceil,di=Math.max;function si(e,n,r,t){for(var i=-1,o=di(fi((n-e)/(r||1)),0),a=Array(o);o--;)a[++i]=e,e+=r;return a}function ci(e){return function(n,r,t){return t&&typeof t!="number"&&S(n,r,t)&&(r=t=void 0),n=G(n),r===void 0?(r=n,n=0):r=G(r),t=t===void 0?n1&&S(e,n[0],n[1])?n=[]:r>2&&S(n[0],n[1],n[2])&&(n=[n[0]]),oi(e,He(n),[])}),li=0;function me(e){var n=++li;return Qn(e)+n}function hi(e,n,r){for(var t=-1,i=e.length,o=n.length,a={};++t0;--u)if(a=n[u].dequeue(),a){t=t.concat(Q(e,n,r,a,!0));break}}}return t}function Q(e,n,r,t,i){var o=i?[]:void 0;return c(e.inEdges(t.v),function(a){var u=e.edge(a),f=e.node(a.v);i&&o.push({v:a.v,w:a.w}),f.out-=u,ue(n,r,f)}),c(e.outEdges(t.v),function(a){var u=e.edge(a),f=a.w,d=e.node(f);d.in-=u,ue(n,r,d)}),e.removeNode(t.v),o}function yi(e,n){var r=new E,t=0,i=0;c(e.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(e.edges(),function(u){var f=r.edge(u.v,u.w)||0,d=n(u),s=f+d;r.setEdge(u.v,u.w,s),i=Math.max(i,r.node(u.v).out+=d),t=Math.max(t,r.node(u.w).in+=d)});var o=_(i+t+3).map(function(){return new pi}),a=t+1;return c(r.nodes(),function(u){ue(o,a,r.node(u))}),{graph:r,buckets:o,zeroIdx:a}}function ue(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function xi(e){var n=e.graph().acyclicer==="greedy"?gi(e,r(e)):Oi(e);c(n,function(t){var i=e.edge(t);e.removeEdge(t),i.forwardName=t.name,i.reversed=!0,e.setEdge(t.w,t.v,i,me("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function Oi(e){var n=[],r={},t={};function i(o){Object.prototype.hasOwnProperty.call(t,o)||(t[o]=!0,r[o]=!0,c(e.outEdges(o),function(a){Object.prototype.hasOwnProperty.call(r,a.w)?n.push(a):i(a.w)}),delete r[o])}return c(e.nodes(),i),n}function Ei(e){c(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}function k(e,n,r,t){var i;do i=me(t);while(e.hasNode(i));return r.dummy=n,e.setNode(i,r),i}function Ti(e){var n=new E().setGraph(e.graph());return c(e.nodes(),function(r){n.setNode(r,e.node(r))}),c(e.edges(),function(r){var t=n.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);n.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),n}function yn(e){var n=new E({multigraph:e.isMultigraph()}).setGraph(e.graph());return c(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),c(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function Fe(e,n){var r=e.x,t=e.y,i=n.x-r,o=n.y-t,a=e.width/2,u=e.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var f,d;return Math.abs(o)*a>Math.abs(i)*u?(o<0&&(u=-u),f=u*i/o,d=u):(i<0&&(a=-a),f=a,d=a*o/i),{x:r+f,y:t+d}}function Z(e){var n=g(_(xn(e)+1),function(){return[]});return c(e.nodes(),function(r){var t=e.node(r),i=t.rank;x(i)||(n[i][t.order]=r)}),n}function Pi(e){var n=j(g(e.nodes(),function(r){return e.node(r).rank}));c(e.nodes(),function(r){var t=e.node(r);gn(t,"rank")&&(t.rank-=n)})}function Li(e){var n=j(g(e.nodes(),function(o){return e.node(o).rank})),r=[];c(e.nodes(),function(o){var a=e.node(o).rank-n;r[a]||(r[a]=[]),r[a].push(o)});var t=0,i=e.graph().nodeRankFactor;c(r,function(o,a){x(o)&&a%i!==0?--t:t&&c(o,function(u){e.node(u).rank+=t})})}function Be(e,n,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),k(e,"border",i,n)}function xn(e){return T(g(e.nodes(),function(n){var r=e.node(n).rank;if(!x(r))return r}))}function Ni(e,n){var r={lhs:[],rhs:[]};return c(e,function(t){n(t)?r.lhs.push(t):r.rhs.push(t)}),r}function Ii(e,n){return n()}function _i(e){function n(r){var t=e.children(r),i=e.node(r);if(t.length&&c(t,n),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;oa.lim&&(u=a,f=!0);var d=R(n.edges(),function(s){return f===Ye(e,e.node(s.v),u)&&f!==Ye(e,e.node(s.w),u)});return ge(d,function(s){return M(n,s)})}function Cn(e,n,r,t){var i=r.v,o=r.w;e.removeEdge(i,o),e.setEdge(t.v,t.w,{}),Oe(e),xe(e,n),Vi(e,n)}function Vi(e,n){var r=be(e.nodes(),function(i){return!n.node(i).parent}),t=Yi(e,r);t=t.slice(1),c(t,function(i){var o=e.node(i).parent,a=n.edge(i,o),u=!1;a||(a=n.edge(o,i),u=!0),n.node(i).rank=n.node(o).rank+(u?a.minlen:-a.minlen)})}function Wi(e,n,r){return e.hasEdge(n,r)}function Ye(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}function qi(e){switch(e.graph().ranker){case"network-simplex":Ue(e);break;case"tight-tree":Xi(e);break;case"longest-path":Ki(e);break;default:Ue(e)}}var Ki=ye;function Xi(e){ye(e),En(e)}function Ue(e){L(e)}function Hi(e){var n=k(e,"root",{},"_root"),r=zi(e),t=T(I(r))-1,i=2*t+1;e.graph().nestingRoot=n,c(e.edges(),function(a){e.edge(a).minlen*=i});var o=Ji(e)+1;c(e.children(),function(a){An(e,n,i,o,t,r,a)}),e.graph().nodeRankFactor=i}function An(e,n,r,t,i,o,a){var u=e.children(a);if(!u.length){a!==n&&e.setEdge(n,a,{weight:0,minlen:r});return}var f=Be(e,"_bt"),d=Be(e,"_bb"),s=e.node(a);e.setParent(f,a),s.borderTop=f,e.setParent(d,a),s.borderBottom=d,c(u,function(l){An(e,n,r,t,i,o,l);var h=e.node(l),v=h.borderTop?h.borderTop:l,p=h.borderBottom?h.borderBottom:l,w=h.borderTop?t:2*t,m=v!==p?1:i-o[a]+1;e.setEdge(f,v,{weight:w,minlen:m,nestingEdge:!0}),e.setEdge(p,d,{weight:w,minlen:m,nestingEdge:!0})}),e.parent(a)||e.setEdge(n,f,{weight:0,minlen:i+o[a]})}function zi(e){var n={};function r(t,i){var o=e.children(t);o&&o.length&&c(o,function(a){r(a,i+1)}),n[t]=i}return c(e.children(),function(t){r(t,1)}),n}function Ji(e){return X(e.edges(),function(n,r){return n+e.edge(r).weight},0)}function Zi(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,c(e.edges(),function(r){var t=e.edge(r);t.nestingEdge&&e.removeEdge(r)})}function Qi(e,n,r){var t={},i;c(r,function(o){for(var a=e.parent(o),u,f;a;){if(u=e.parent(a),u?(f=t[u],t[u]=a):(f=i,i=a),f&&f!==a){n.setEdge(f,a);return}a=u}})}function ea(e,n,r){var t=na(e),i=new E({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return e.node(o)});return c(e.nodes(),function(o){var a=e.node(o),u=e.parent(o);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(i.setNode(o),i.setParent(o,u||t),c(e[r](o),function(f){var d=f.v===o?f.w:f.v,s=i.edge(d,o),l=x(s)?0:s.weight;i.setEdge(d,o,{weight:e.edge(f).weight+l})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),i}function na(e){for(var n;e.hasNode(n=me("_root")););return n}function ra(e,n){for(var r=0,t=1;t0;)s%2&&(l+=u[s+1]),s=s-1>>1,u[s]+=d.weight;f+=d.weight*l})),f}function ia(e){var n={},r=R(e.nodes(),function(u){return!e.children(u).length}),t=T(g(r,function(u){return e.node(u).rank})),i=g(_(t+1),function(){return[]});function o(u){if(!gn(n,u)){n[u]=!0;var f=e.node(u);i[f.rank].push(u),c(e.successors(u),o)}}var a=F(r,function(u){return e.node(u).rank});return c(a,o),i}function aa(e,n){return g(n,function(r){var t=e.inEdges(r);if(t.length){var i=X(t,function(o,a){var u=e.edge(a),f=e.node(a.v);return{sum:o.sum+u.weight*f.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function oa(e,n){var r={};c(e,function(i,o){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};x(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),c(n.edges(),function(i){var o=r[i.v],a=r[i.w];!x(o)&&!x(a)&&(a.indegree++,o.out.push(r[i.w]))});var t=R(r,function(i){return!i.indegree});return ua(t)}function ua(e){var n=[];function r(o){return function(a){a.merged||(x(a.barycenter)||x(o.barycenter)||a.barycenter>=o.barycenter)&&fa(o,a)}}function t(o){return function(a){a.in.push(o),--a.indegree===0&&e.push(a)}}for(;e.length;){var i=e.pop();n.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return g(R(n,function(o){return!o.merged}),function(o){return W(o,["vs","i","barycenter","weight"])})}function fa(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}function da(e,n){var r=Ni(e,function(s){return Object.prototype.hasOwnProperty.call(s,"barycenter")}),t=r.lhs,i=F(r.rhs,function(s){return-s.i}),o=[],a=0,u=0,f=0;t.sort(sa(!!n)),f=Ve(o,i,f),c(t,function(s){f+=s.vs.length,o.push(s.vs),a+=s.barycenter*s.weight,u+=s.weight,f=Ve(o,i,f)});var d={vs:A(o)};return u&&(d.barycenter=a/u,d.weight=u),d}function Ve(e,n,r){for(var t;n.length&&(t=V(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function sa(e){return function(n,r){return n.barycenterr.barycenter?1:e?r.i-n.i:n.i-r.i}}function kn(e,n,r,t){var i=e.children(n),o=e.node(n),a=o?o.borderLeft:void 0,u=o?o.borderRight:void 0,f={};a&&(i=R(i,function(p){return p!==a&&p!==u}));var d=aa(e,i);c(d,function(p){if(e.children(p.v).length){var w=kn(e,p.v,r,t);f[p.v]=w,Object.prototype.hasOwnProperty.call(w,"barycenter")&&la(p,w)}});var s=oa(d,r);ca(s,f);var l=da(s,t);if(a&&(l.vs=A([a,l.vs,u]),e.predecessors(a).length)){var h=e.node(e.predecessors(a)[0]),v=e.node(e.predecessors(u)[0]);Object.prototype.hasOwnProperty.call(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+v.order)/(l.weight+2),l.weight+=2}return l}function ca(e,n){c(e,function(r){r.vs=A(r.vs.map(function(t){return n[t]?n[t].vs:t}))})}function la(e,n){x(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}function ha(e){var n=xn(e),r=We(e,_(1,n+1),"inEdges"),t=We(e,_(n-1,-1,-1),"outEdges"),i=ia(e);qe(e,i);for(var o=Number.POSITIVE_INFINITY,a,u=0,f=0;f<4;++u,++f){va(u%2?r:t,u%4>=2),i=Z(e);var d=ra(e,i);da||u>n[f].lim));for(d=f,f=t;(f=e.parent(f))!==d;)o.push(f);return{path:i.concat(o.reverse()),lca:d}}function wa(e){var n={},r=0;function t(i){var o=r;c(e.children(i),t),n[i]={low:o,lim:r++}}return c(e.children(),t),n}function ga(e,n){var r={};function t(i,o){var a=0,u=0,f=i.length,d=V(o);return c(o,function(s,l){var h=ya(e,s),v=h?e.node(h).order:f;(h||s===d)&&(c(o.slice(u,l+1),function(p){c(e.predecessors(p),function(w){var m=e.node(w),y=m.order;(yd)&&Sn(r,h,s)})})}function i(o,a){var u=-1,f,d=0;return c(a,function(s,l){if(e.node(s).dummy==="border"){var h=e.predecessors(s);h.length&&(f=e.node(h[0]).order,t(a,d,l,u,f),d=l,u=f)}t(a,d,a.length,f,o.length)}),a}return X(n,i),r}function ya(e,n){if(e.node(n).dummy)return be(e.predecessors(n),function(r){return e.node(r).dummy})}function Sn(e,n,r){if(n>r){var t=n;n=r,r=t}Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[n];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function xa(e,n,r){if(n>r){var t=n;n=r,r=t}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],r)}function Oa(e,n,r,t){var i={},o={},a={};return c(n,function(u){c(u,function(f,d){i[f]=f,o[f]=f,a[f]=d})}),c(n,function(u){var f=-1;c(u,function(d){var s=t(d);if(s.length){s=F(s,function(w){return a[w]});for(var l=(s.length-1)/2,h=Math.floor(l),v=Math.ceil(l);h<=v;++h){var p=s[h];o[d]===d&&f{var t=r(" buildLayoutGraph",()=>Ua(e));r(" runLayout",()=>Sa(t,r)),r(" updateInputGraph",()=>ja(e,t))})}function Sa(e,n){n(" makeSpaceForEdgeLabels",()=>Va(e)),n(" removeSelfEdges",()=>Qa(e)),n(" acyclic",()=>xi(e)),n(" nestingGraph.run",()=>Hi(e)),n(" rank",()=>qi(yn(e))),n(" injectEdgeLabelProxies",()=>Wa(e)),n(" removeEmptyRanks",()=>Li(e)),n(" nestingGraph.cleanup",()=>Zi(e)),n(" normalizeRanks",()=>Pi(e)),n(" assignRankMinMax",()=>qa(e)),n(" removeEdgeLabelProxies",()=>Ka(e)),n(" normalize.run",()=>ji(e)),n(" parentDummyChains",()=>pa(e)),n(" addBorderSegments",()=>_i(e)),n(" order",()=>ha(e)),n(" insertSelfEdges",()=>eo(e)),n(" adjustCoordinateSystem",()=>Ci(e)),n(" position",()=>Aa(e)),n(" positionSelfEdges",()=>no(e)),n(" removeBorderNodes",()=>Za(e)),n(" normalize.undo",()=>Ri(e)),n(" fixupEdgeLabelCoords",()=>za(e)),n(" undoCoordinateSystem",()=>Ai(e)),n(" translateGraph",()=>Xa(e)),n(" assignNodeIntersects",()=>Ha(e)),n(" reversePoints",()=>Ja(e)),n(" acyclic.undo",()=>Ei(e))}function ja(e,n){c(e.nodes(),function(r){var t=e.node(r),i=n.node(r);t&&(t.x=i.x,t.y=i.y,n.children(r).length&&(t.width=i.width,t.height=i.height))}),c(e.edges(),function(r){var t=e.edge(r),i=n.edge(r);t.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(t.x=i.x,t.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var Ma=["nodesep","edgesep","ranksep","marginx","marginy"],Ra={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},$a=["acyclicer","ranker","rankdir","align"],Fa=["width","height"],Ba={width:0,height:0},Ga=["minlen","weight","width","height","labeloffset"],Da={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Ya=["labelpos"];function Ua(e){var n=new E({multigraph:!0,compound:!0}),r=te(e.graph());return n.setGraph(oe({},Ra,re(r,Ma),W(r,$a))),c(e.nodes(),function(t){var i=te(e.node(t));n.setNode(t,Ut(re(i,Fa),Ba)),n.setParent(t,e.parent(t))}),c(e.edges(),function(t){var i=te(e.edge(t));n.setEdge(t,oe({},Da,re(i,Ga),W(i,Ya)))}),n}function Va(e){var n=e.graph();n.ranksep/=2,c(e.edges(),function(r){var t=e.edge(r);t.minlen*=2,t.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?t.width+=t.labeloffset:t.height+=t.labeloffset)})}function Wa(e){c(e.edges(),function(n){var r=e.edge(n);if(r.width&&r.height){var t=e.node(n.v),i=e.node(n.w),o={rank:(i.rank-t.rank)/2+t.rank,e:n};k(e,"edge-proxy",o,"_ep")}})}function qa(e){var n=0;c(e.nodes(),function(r){var t=e.node(r);t.borderTop&&(t.minRank=e.node(t.borderTop).rank,t.maxRank=e.node(t.borderBottom).rank,n=T(n,t.maxRank))}),e.graph().maxRank=n}function Ka(e){c(e.nodes(),function(n){var r=e.node(n);r.dummy==="edge-proxy"&&(e.edge(r.e).labelRank=r.rank,e.removeNode(n))})}function Xa(e){var n=Number.POSITIVE_INFINITY,r=0,t=Number.POSITIVE_INFINITY,i=0,o=e.graph(),a=o.marginx||0,u=o.marginy||0;function f(d){var s=d.x,l=d.y,h=d.width,v=d.height;n=Math.min(n,s-h/2),r=Math.max(r,s+h/2),t=Math.min(t,l-v/2),i=Math.max(i,l+v/2)}c(e.nodes(),function(d){f(e.node(d))}),c(e.edges(),function(d){var s=e.edge(d);Object.prototype.hasOwnProperty.call(s,"x")&&f(s)}),n-=a,t-=u,c(e.nodes(),function(d){var s=e.node(d);s.x-=n,s.y-=t}),c(e.edges(),function(d){var s=e.edge(d);c(s.points,function(l){l.x-=n,l.y-=t}),Object.prototype.hasOwnProperty.call(s,"x")&&(s.x-=n),Object.prototype.hasOwnProperty.call(s,"y")&&(s.y-=t)}),o.width=r-n+a,o.height=i-t+u}function Ha(e){c(e.edges(),function(n){var r=e.edge(n),t=e.node(n.v),i=e.node(n.w),o,a;r.points?(o=r.points[0],a=r.points[r.points.length-1]):(r.points=[],o=i,a=t),r.points.unshift(Fe(t,o)),r.points.push(Fe(i,a))})}function za(e){c(e.edges(),function(n){var r=e.edge(n);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 Ja(e){c(e.edges(),function(n){var r=e.edge(n);r.reversed&&r.points.reverse()})}function Za(e){c(e.nodes(),function(n){if(e.children(n).length){var r=e.node(n),t=e.node(r.borderTop),i=e.node(r.borderBottom),o=e.node(V(r.borderLeft)),a=e.node(V(r.borderRight));r.width=Math.abs(a.x-o.x),r.height=Math.abs(i.y-t.y),r.x=o.x+r.width/2,r.y=t.y+r.height/2}}),c(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}function Qa(e){c(e.edges(),function(n){if(n.v===n.w){var r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function eo(e){var n=Z(e);c(n,function(r){var t=0;c(r,function(i,o){var a=e.node(i);a.order=o+t,c(a.selfEdges,function(u){k(e,"selfedge",{width:u.label.width,height:u.label.height,rank:a.rank,order:o+ ++t,e:u.e,label:u.label},"_se")}),delete a.selfEdges})})}function no(e){c(e.nodes(),function(n){var r=e.node(n);if(r.dummy==="selfedge"){var t=e.node(r.e.v),i=t.x+t.width/2,o=t.y,a=r.x-i,u=t.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:i+2*a/3,y:o-u},{x:i+5*a/6,y:o-u},{x:i+a,y:o},{x:i+5*a/6,y:o+u},{x:i+2*a/3,y:o+u}],r.label.x=r.x,r.label.y=r.y}})}function re(e,n){return J(W(e,n),Number)}function te(e){var n={};return c(e,function(r,t){n[t.toLowerCase()]=r}),n}export{D as b,to as l,g as m}; diff --git a/_astro/linear.CNy4Dr2Q.js b/_astro/linear.CNy4Dr2Q.js new file mode 100644 index 0000000..afafe8a --- /dev/null +++ b/_astro/linear.CNy4Dr2Q.js @@ -0,0 +1 @@ +import{b8 as j,b9 as p,ba as w,bb as k,bc as q}from"./mermaid.core.Ci_VGkOG.js";import{i as D}from"./init.Gi6I4Gst.js";import{e as g,f as F,a as z,b as B}from"./defaultLocale.DX6XiGOO.js";function M(n,r){return n==null||r==null?NaN:nr?1:n>=r?0:NaN}function I(n,r){return n==null||r==null?NaN:rn?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===I?n:P,t=n,e=n);function u(o,c,i=0,h=o.length){if(i>>1;t(o[l],c)<0?i=l+1:h=l}while(i>>1;t(o[l],c)<=0?i=l+1:h=l}while(ii&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function P(){return 0}function V(n){return n===null?NaN:+n}const $=R(M),x=$.right;R(V).center;const O=Math.sqrt(50),T=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=O?10:f>=T?5:f>=C?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/ir&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*ir&&--c),c0))return[];if(n===r)return[n];const e=r=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;ir&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=U,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=G(n,r,t),f;switch(e=F(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=X(u,a))&&(e.precision=f),z(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=W(u))&&(e.precision=f-(e.type==="%")*2);break}}return B(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return E(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},D.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,G as t}; diff --git a/_astro/logo.DT6dGy45.png b/_astro/logo.DT6dGy45.png new file mode 100644 index 0000000000000000000000000000000000000000..93cab6b32b56689a72feed803d80527ecb2636be GIT binary patch literal 33069 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

iqrpI|C|Qg&ZFvHAb;q1@usr;(?|IajbHsA D$z4=+ literal 0 HcmV?d00001 diff --git a/_astro/mermaid.core.Ci_VGkOG.js b/_astro/mermaid.core.Ci_VGkOG.js new file mode 100644 index 0000000..ce8803d --- /dev/null +++ b/_astro/mermaid.core.Ci_VGkOG.js @@ -0,0 +1,309 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["_astro/dagre-BM42HDAG.7pHMEqVk.js","_astro/graph.-OzhPTMs.js","_astro/layout.owoKPs3z.js","_astro/preload-helper.DK3iz7C1.js","_astro/cose-bilkent-S5V4N54A.ClF2UM5N.js","_astro/cytoscape.esm.OyMbaexL.js","_astro/c4Diagram-AAUBKEIU.nat2XixZ.js","_astro/chunk-ND2GUHAM.CiUMUSja.js","_astro/flowDiagram-I6XJVG4X.ZcEysN7M.js","_astro/chunk-FMBD7UC4.B9yPs07s.js","_astro/chunk-55IACEB6.DaHeeVsF.js","_astro/chunk-2J33WTMH.HmvIJeR8.js","_astro/channel.DScn-k6R.js","_astro/erDiagram-TEJ5UH35.Bl77lVs6.js","_astro/gitGraphDiagram-PVQCEYII.DyQn-qRf.js","_astro/chunk-4BX2VUAB.Bj_lmsp3.js","_astro/chunk-QZHKN3VN.BmpnJiq_.js","_astro/wardley-L42UT6IY.BVigPHyG.js","_astro/ganttDiagram-6RSMTGT7.Coa5L4Se.js","_astro/linear.CNy4Dr2Q.js","_astro/init.Gi6I4Gst.js","_astro/defaultLocale.DX6XiGOO.js","_astro/infoDiagram-5YYISTIA.JmDa7qGc.js","_astro/pieDiagram-4H26LBE5.CucMMZF9.js","_astro/arc.BTyyZ9t0.js","_astro/ordinal.BYWQX77i.js","_astro/quadrantDiagram-W4KKPZXB.SWAq4o9k.js","_astro/xychartDiagram-2RQKCTM6.BSHZNS4L.js","_astro/requirementDiagram-4Y6WPE33.R4IghZp_.js","_astro/sequenceDiagram-3UESZ5HK.FEIwZiXY.js","_astro/classDiagram-4FO5ZUOK.OncdqZO7.js","_astro/chunk-727SXJPM.eyChSAdB.js","_astro/classDiagram-v2-Q7XG4LA2.OncdqZO7.js","_astro/stateDiagram-AJRCARHV.DkZFlJkF.js","_astro/chunk-AQP2D5EJ.B_aCHPyh.js","_astro/stateDiagram-v2-BHNVJYJU.CwbP98cE.js","_astro/journeyDiagram-JHISSGLW.D-GNXEdA.js","_astro/timeline-definition-PNZ67QCA.B-57br5T.js","_astro/mindmap-definition-RKZ34NQL.CkDyostU.js","_astro/kanban-definition-UN3LZRKU.Pclr6b-W.js","_astro/sankeyDiagram-5OEKKPKP.BntQo72i.js","_astro/diagram-LMA3HP47.B9YE20Dj.js","_astro/diagram-2AECGRRQ.MlUG08pO.js","_astro/blockDiagram-GPEHLZMM.DOD1tvWz.js","_astro/diagram-5GNKFQAL.CKqaQ_hH.js","_astro/architectureDiagram-3BPJPVTR.DScFG-O1.js","_astro/diagram-KO2AKTUF.4up6Ar1O.js","_astro/ishikawaDiagram-YF4QCWOH.Bq3509jq.js","_astro/vennDiagram-CIIHVFJN.DryuVqLC.js","_astro/diagram-OG6HWLK6.Gn5-3W5d.js","_astro/wardleyDiagram-YWT4CUSO.EXTTov1l.js"])))=>i.map(i=>d[i]); +import{_ as gt}from"./preload-helper.DK3iz7C1.js";function zm(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var bo={exports:{}},Hm=bo.exports,El;function Ym(){return El||(El=1,(function(e,t){(function(r,i){e.exports=i()})(Hm,(function(){var r=1e3,i=6e4,o=36e5,s="millisecond",a="second",n="minute",l="hour",c="day",h="week",d="month",f="quarter",u="year",g="date",m="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(I){var A=["th","st","nd","rd"],L=I%100;return"["+I+(A[(L-20)%10]||A[L]||A[0])+"]"}},k=function(I,A,L){var E=String(I);return!E||E.length>=A?I:""+Array(A+1-E.length).join(L)+I},w={s:k,z:function(I){var A=-I.utcOffset(),L=Math.abs(A),E=Math.floor(L/60),D=L%60;return(A<=0?"+":"-")+k(E,2,"0")+":"+k(D,2,"0")},m:function I(A,L){if(A.date()1)return I(Y[0])}else{var ht=A.name;_[ht]=A,D=ht}return!E&&D&&(S=D),D||!E&&S},O=function(I,A){if(B(I))return I.clone();var L=typeof A=="object"?A:{};return L.date=I,L.args=arguments,new H(L)},R=w;R.l=q,R.i=B,R.w=function(I,A){return O(I,{locale:A.$L,utc:A.$u,x:A.$x,$offset:A.$offset})};var H=(function(){function I(L){this.$L=q(L.locale,null,!0),this.parse(L),this.$x=this.$x||L.x||{},this[F]=!0}var A=I.prototype;return A.parse=function(L){this.$d=(function(E){var D=E.date,z=E.utc;if(D===null)return new Date(NaN);if(R.u(D))return new Date;if(D instanceof Date)return new Date(D);if(typeof D=="string"&&!/Z$/i.test(D)){var Y=D.match(y);if(Y){var ht=Y[2]-1||0,mt=(Y[7]||"0").substring(0,3);return z?new Date(Date.UTC(Y[1],ht,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,mt)):new Date(Y[1],ht,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,mt)}}return new Date(D)})(L),this.init()},A.init=function(){var L=this.$d;this.$y=L.getFullYear(),this.$M=L.getMonth(),this.$D=L.getDate(),this.$W=L.getDay(),this.$H=L.getHours(),this.$m=L.getMinutes(),this.$s=L.getSeconds(),this.$ms=L.getMilliseconds()},A.$utils=function(){return R},A.isValid=function(){return this.$d.toString()!==m},A.isSame=function(L,E){var D=O(L);return this.startOf(E)<=D&&D<=this.endOf(E)},A.isAfter=function(L,E){return O(L)fc(e,"name",{value:t,configurable:!0}),Gm=(e,t)=>{for(var r in t)fc(e,r,{get:t[r],enumerable:!0})},Re={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},N={trace:p((...e)=>{},"trace"),debug:p((...e)=>{},"debug"),info:p((...e)=>{},"info"),warn:p((...e)=>{},"warn"),error:p((...e)=>{},"error"),fatal:p((...e)=>{},"fatal")},cn=p(function(e="fatal"){let t=Re.fatal;typeof e=="string"?e.toLowerCase()in Re&&(t=Re[e]):typeof e=="number"&&(t=e),N.trace=()=>{},N.debug=()=>{},N.info=()=>{},N.warn=()=>{},N.error=()=>{},N.fatal=()=>{},t<=Re.fatal&&(N.fatal=console.error?console.error.bind(console,le("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",le("FATAL"))),t<=Re.error&&(N.error=console.error?console.error.bind(console,le("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",le("ERROR"))),t<=Re.warn&&(N.warn=console.warn?console.warn.bind(console,le("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",le("WARN"))),t<=Re.info&&(N.info=console.info?console.info.bind(console,le("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",le("INFO"))),t<=Re.debug&&(N.debug=console.debug?console.debug.bind(console,le("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",le("DEBUG"))),t<=Re.trace&&(N.trace=console.debug?console.debug.bind(console,le("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",le("TRACE")))},"setLogLevel"),le=p(e=>`%c${jm().format("ss.SSS")} : ${e} : `,"format");const ko={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:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const o=r<.5?r*(1+t):r+t-r*t,s=2*r-o;switch(i){case"r":return ko.hue2rgb(s,o,e+1/3)*255;case"g":return ko.hue2rgb(s,o,e)*255;case"b":return ko.hue2rgb(s,o,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const o=Math.max(e,t,r),s=Math.min(e,t,r),a=(o+s)/2;if(i==="l")return a*100;if(o===s)return 0;const n=o-s,l=a>.5?n/(2-o-s):n/(o+s);if(i==="s")return l*100;switch(o){case e:return((t-r)/n+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},Vm={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},ot={channel:ko,lang:Xm,unit:Vm},Ze={};for(let e=0;e<=255;e++)Ze[e]=ot.unit.dec2hex(e);const Ht={ALL:0,RGB:1,HSL:2};class Zm{constructor(){this.type=Ht.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=Ht.ALL}is(t){return this.type===t}}class Km{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new Zm}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=Ht.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:o}=t;r===void 0&&(t.h=ot.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=ot.channel.rgb2hsl(t,"s")),o===void 0&&(t.l=ot.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:o}=t;r===void 0&&(t.r=ot.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=ot.channel.hsl2rgb(t,"g")),o===void 0&&(t.b=ot.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(Ht.HSL)&&r!==void 0?r:(this._ensureHSL(),ot.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(Ht.HSL)&&r!==void 0?r:(this._ensureHSL(),ot.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(Ht.HSL)&&r!==void 0?r:(this._ensureHSL(),ot.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(Ht.RGB)&&r!==void 0?r:(this._ensureRGB(),ot.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(Ht.RGB)&&r!==void 0?r:(this._ensureRGB(),ot.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(Ht.RGB)&&r!==void 0?r:(this._ensureRGB(),ot.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(Ht.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(Ht.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(Ht.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(Ht.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(Ht.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(Ht.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const ds=new Km({r:0,g:0,b:0,a:0},"transparent"),jr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(jr.re);if(!t)return;const r=t[1],i=parseInt(r,16),o=r.length,s=o%4===0,a=o>4,n=a?1:17,l=a?8:4,c=s?0:-1,h=a?255:15;return ds.set({r:(i>>l*(c+3)&h)*n,g:(i>>l*(c+2)&h)*n,b:(i>>l*(c+1)&h)*n,a:s?(i&h)*n/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:o}=e;return o<1?`#${Ze[Math.round(t)]}${Ze[Math.round(r)]}${Ze[Math.round(i)]}${Ze[Math.round(o*255)]}`:`#${Ze[Math.round(t)]}${Ze[Math.round(r)]}${Ze[Math.round(i)]}`}},pr={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:e=>{const t=e.match(pr.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return ot.channel.clamp.h(parseFloat(r)*.9);case"rad":return ot.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return ot.channel.clamp.h(parseFloat(r)*360)}}return ot.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(pr.re);if(!r)return;const[,i,o,s,a,n]=r;return ds.set({h:pr._hue2deg(i),s:ot.channel.clamp.s(parseFloat(o)),l:ot.channel.clamp.l(parseFloat(s)),a:a?ot.channel.clamp.a(n?parseFloat(a)/100:parseFloat(a)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:o}=e;return o<1?`hsla(${ot.lang.round(t)}, ${ot.lang.round(r)}%, ${ot.lang.round(i)}%, ${o})`:`hsl(${ot.lang.round(t)}, ${ot.lang.round(r)}%, ${ot.lang.round(i)}%)`}},Bi={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:e=>{e=e.toLowerCase();const t=Bi.colors[e];if(t)return jr.parse(t)},stringify:e=>{const t=jr.stringify(e);for(const r in Bi.colors)if(Bi.colors[r]===t)return r}},Ci={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:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(Ci.re);if(!r)return;const[,i,o,s,a,n,l,c,h]=r;return ds.set({r:ot.channel.clamp.r(o?parseFloat(i)*2.55:parseFloat(i)),g:ot.channel.clamp.g(a?parseFloat(s)*2.55:parseFloat(s)),b:ot.channel.clamp.b(l?parseFloat(n)*2.55:parseFloat(n)),a:c?ot.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:o}=e;return o<1?`rgba(${ot.lang.round(t)}, ${ot.lang.round(r)}, ${ot.lang.round(i)}, ${ot.lang.round(o)})`:`rgb(${ot.lang.round(t)}, ${ot.lang.round(r)}, ${ot.lang.round(i)})`}},Ee={format:{keyword:Bi,hex:jr,rgb:Ci,rgba:Ci,hsl:pr,hsla:pr},parse:e=>{if(typeof e!="string")return e;const t=jr.parse(e)||Ci.parse(e)||pr.parse(e)||Bi.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Ht.HSL)||e.data.r===void 0?pr.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Ci.stringify(e):jr.stringify(e)},pc=(e,t)=>{const r=Ee.parse(e);for(const i in t)r[i]=ot.channel.clamp[i](t[i]);return Ee.stringify(r)},tr=(e,t,r=0,i=1)=>{if(typeof e!="number")return pc(e,{a:t});const o=ds.set({r:ot.channel.clamp.r(e),g:ot.channel.clamp.g(t),b:ot.channel.clamp.b(r),a:ot.channel.clamp.a(i)});return Ee.stringify(o)},Qm=e=>{const{r:t,g:r,b:i}=Ee.parse(e),o=.2126*ot.channel.toLinear(t)+.7152*ot.channel.toLinear(r)+.0722*ot.channel.toLinear(i);return ot.lang.round(o)},Jm=e=>Qm(e)>=.5,ke=e=>!Jm(e),gc=(e,t,r)=>{const i=Ee.parse(e),o=i[t],s=ot.channel.clamp[t](o+r);return o!==s&&(i[t]=s),Ee.stringify(i)},M=(e,t)=>gc(e,"l",t),$=(e,t)=>gc(e,"l",-t),x=(e,t)=>{const r=Ee.parse(e),i={};for(const o in t)t[o]&&(i[o]=r[o]+t[o]);return pc(e,i)},ty=(e,t,r=50)=>{const{r:i,g:o,b:s,a}=Ee.parse(e),{r:n,g:l,b:c,a:h}=Ee.parse(t),d=r/100,f=d*2-1,u=a-h,m=((f*u===-1?f:(f+u)/(1+f*u))+1)/2,y=1-m,C=i*m+n*y,b=o*m+l*y,k=s*m+c*y,w=a*d+h*(1-d);return tr(C,b,k,w)},v=(e,t=100)=>{const r=Ee.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,ty(r,e,t)};/*! @license DOMPurify 3.4.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.8/LICENSE */function Ml(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,i=Array(t);r2?i-2:0),s=2;s1?r-1:0),o=1;o"u"?null:Mt(BigInt.prototype.toString),Pl=typeof Symbol>"u"?null:Mt(Symbol.prototype.toString),Lt=Mt(Object.prototype.hasOwnProperty),ci=Mt(Object.prototype.toString),Nt=Mt(RegExp.prototype.test),Dr=py(TypeError);function Mt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o2&&arguments[2]!==void 0?arguments[2]:xi;if($l&&$l(e,null),!Xt(t))return e;let i=t.length;for(;i--;){let o=t[i];if(typeof o=="string"){const s=r(o);s!==o&&(ay(t)||(t[i]=s),o=s)}e[o]=!0}return e}function gy(e){for(let t=0;t/g),Ty=he(/\${[\w\W]*/g),wy=he(/^data-[\-\w.\u00B7-\uFFFF]+$/),Sy=he(/^aria-[\-\w]+$/),Hl=he(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),_y=he(/^(?:\w+script|data):/i),vy=he(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),By=he(/^html$/i),Ly=he(/^[a-z][.\w]*(-[.\w]+)+$/i),_e={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Fy=function(){return typeof window>"u"?null:window},Ay=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const o="data-tt-policy-suffix";r&&r.hasAttribute(o)&&(i=r.getAttribute(o));const s="dompurify"+(i?"#"+i:"");try{return t.createPolicy(s,{createHTML(a){return a},createScriptURL(a){return a}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Yl=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Cc(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Fy();const t=Q=>Cc(Q);if(t.version="3.4.8",t.removed=[],!e||!e.document||e.document.nodeType!==_e.document||!e.Element)return t.isSupported=!1,t;let r=e.document;const i=r,o=i.currentScript;e.DocumentFragment;const s=e.HTMLTemplateElement,a=e.Node,n=e.Element,l=e.NodeFilter,c=e.NamedNodeMap;c===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const h=e.DOMParser,d=e.trustedTypes,f=n.prototype,u=ve(f,"cloneNode"),g=ve(f,"remove"),m=ve(f,"nextSibling"),y=ve(f,"childNodes"),C=ve(f,"parentNode"),b=ve(f,"shadowRoot"),k=ve(f,"attributes"),w=a&&a.prototype?ve(a.prototype,"nodeType"):null,S=a&&a.prototype?ve(a.prototype,"nodeName"):null;if(typeof s=="function"){const Q=r.createElement("template");Q.content&&Q.content.ownerDocument&&(r=Q.content.ownerDocument)}let _,F="",B=0;const q=function(T){if(B>0)throw Dr('The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');B++;try{return _.createHTML(T)}finally{B--}},O=r,R=O.implementation,H=O.createNodeIterator,W=O.createDocumentFragment,I=O.getElementsByTagName,A=i.importNode;let L=Yl();t.isSupported=typeof mc=="function"&&typeof C=="function"&&R&&R.createHTMLDocument!==void 0;const E=by,D=ky,z=Ty,Y=wy,ht=Sy,mt=_y,ut=vy,ft=Ly;let xt=Hl,G=null;const ct=nt({},[...Nl,...Ys,...Us,...js,...ql]);let st=null;const wt=nt({},[...Wl,...Gs,...zl,...no]);let at=Object.seal(qr(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}})),_t=null,oe=null;const Jt=Object.seal(qr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Br=!0,As=!0,ul=!1,fl=!0,Ve=!1,ni=!0,nr=!1,Es=!1,Ms=!1,Lr=!1,to=!1,eo=!1,pl=!0,gl=!1;const ml="user-content-";let $s=!0,li=!1,Fr={},we=null;const Os=nt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let yl=null;const Cl=nt({},["audio","video","img","source","image","track"]);let Is=null;const xl=nt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ro="http://www.w3.org/1998/Math/MathML",io="http://www.w3.org/2000/svg",Se="http://www.w3.org/1999/xhtml";let Ar=Se,Ds=!1,Rs=null;const Im=nt({},[ro,io,Se],Hs);let Ps=nt({},["mi","mo","mn","ms","mtext"]),Ns=nt({},["annotation-xml"]);const Dm=nt({},["title","style","font","a","script"]);let hi=null;const Rm=["application/xhtml+xml","text/html"],Pm="text/html";let Ft=null,Er=null;const Nm=r.createElement("form"),bl=function(T){return T instanceof RegExp||T instanceof Function},qs=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Er&&Er===T)return;(!T||typeof T!="object")&&(T={}),T=zt(T),hi=Rm.indexOf(T.PARSER_MEDIA_TYPE)===-1?Pm:T.PARSER_MEDIA_TYPE,Ft=hi==="application/xhtml+xml"?Hs:xi,G=Lt(T,"ALLOWED_TAGS")&&Xt(T.ALLOWED_TAGS)?nt({},T.ALLOWED_TAGS,Ft):ct,st=Lt(T,"ALLOWED_ATTR")&&Xt(T.ALLOWED_ATTR)?nt({},T.ALLOWED_ATTR,Ft):wt,Rs=Lt(T,"ALLOWED_NAMESPACES")&&Xt(T.ALLOWED_NAMESPACES)?nt({},T.ALLOWED_NAMESPACES,Hs):Im,Is=Lt(T,"ADD_URI_SAFE_ATTR")&&Xt(T.ADD_URI_SAFE_ATTR)?nt(zt(xl),T.ADD_URI_SAFE_ATTR,Ft):xl,yl=Lt(T,"ADD_DATA_URI_TAGS")&&Xt(T.ADD_DATA_URI_TAGS)?nt(zt(Cl),T.ADD_DATA_URI_TAGS,Ft):Cl,we=Lt(T,"FORBID_CONTENTS")&&Xt(T.FORBID_CONTENTS)?nt({},T.FORBID_CONTENTS,Ft):Os,_t=Lt(T,"FORBID_TAGS")&&Xt(T.FORBID_TAGS)?nt({},T.FORBID_TAGS,Ft):zt({}),oe=Lt(T,"FORBID_ATTR")&&Xt(T.FORBID_ATTR)?nt({},T.FORBID_ATTR,Ft):zt({}),Fr=Lt(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?zt(T.USE_PROFILES):T.USE_PROFILES:!1,Br=T.ALLOW_ARIA_ATTR!==!1,As=T.ALLOW_DATA_ATTR!==!1,ul=T.ALLOW_UNKNOWN_PROTOCOLS||!1,fl=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ve=T.SAFE_FOR_TEMPLATES||!1,ni=T.SAFE_FOR_XML!==!1,nr=T.WHOLE_DOCUMENT||!1,Lr=T.RETURN_DOM||!1,to=T.RETURN_DOM_FRAGMENT||!1,eo=T.RETURN_TRUSTED_TYPE||!1,Ms=T.FORCE_BODY||!1,pl=T.SANITIZE_DOM!==!1,gl=T.SANITIZE_NAMED_PROPS||!1,$s=T.KEEP_CONTENT!==!1,li=T.IN_PLACE||!1,xt=yy(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:Hl,Ar=typeof T.NAMESPACE=="string"?T.NAMESPACE:Se,Ps=Lt(T,"MATHML_TEXT_INTEGRATION_POINTS")&&T.MATHML_TEXT_INTEGRATION_POINTS&&typeof T.MATHML_TEXT_INTEGRATION_POINTS=="object"?zt(T.MATHML_TEXT_INTEGRATION_POINTS):nt({},["mi","mo","mn","ms","mtext"]),Ns=Lt(T,"HTML_INTEGRATION_POINTS")&&T.HTML_INTEGRATION_POINTS&&typeof T.HTML_INTEGRATION_POINTS=="object"?zt(T.HTML_INTEGRATION_POINTS):nt({},["annotation-xml"]);const P=Lt(T,"CUSTOM_ELEMENT_HANDLING")&&T.CUSTOM_ELEMENT_HANDLING&&typeof T.CUSTOM_ELEMENT_HANDLING=="object"?zt(T.CUSTOM_ELEMENT_HANDLING):qr(null);if(at=qr(null),Lt(P,"tagNameCheck")&&bl(P.tagNameCheck)&&(at.tagNameCheck=P.tagNameCheck),Lt(P,"attributeNameCheck")&&bl(P.attributeNameCheck)&&(at.attributeNameCheck=P.attributeNameCheck),Lt(P,"allowCustomizedBuiltInElements")&&typeof P.allowCustomizedBuiltInElements=="boolean"&&(at.allowCustomizedBuiltInElements=P.allowCustomizedBuiltInElements),Ve&&(As=!1),to&&(Lr=!0),Fr&&(G=nt({},ql),st=qr(null),Fr.html===!0&&(nt(G,Nl),nt(st,Wl)),Fr.svg===!0&&(nt(G,Ys),nt(st,Gs),nt(st,no)),Fr.svgFilters===!0&&(nt(G,Us),nt(st,Gs),nt(st,no)),Fr.mathMl===!0&&(nt(G,js),nt(st,zl),nt(st,no))),Jt.tagCheck=null,Jt.attributeCheck=null,Lt(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?Jt.tagCheck=T.ADD_TAGS:Xt(T.ADD_TAGS)&&(G===ct&&(G=zt(G)),nt(G,T.ADD_TAGS,Ft))),Lt(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?Jt.attributeCheck=T.ADD_ATTR:Xt(T.ADD_ATTR)&&(st===wt&&(st=zt(st)),nt(st,T.ADD_ATTR,Ft))),Lt(T,"ADD_URI_SAFE_ATTR")&&Xt(T.ADD_URI_SAFE_ATTR)&&nt(Is,T.ADD_URI_SAFE_ATTR,Ft),Lt(T,"FORBID_CONTENTS")&&Xt(T.FORBID_CONTENTS)&&(we===Os&&(we=zt(we)),nt(we,T.FORBID_CONTENTS,Ft)),Lt(T,"ADD_FORBID_CONTENTS")&&Xt(T.ADD_FORBID_CONTENTS)&&(we===Os&&(we=zt(we)),nt(we,T.ADD_FORBID_CONTENTS,Ft)),$s&&(G["#text"]=!0),nr&&nt(G,["html","head","body"]),G.table&&(nt(G,["tbody"]),delete _t.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw Dr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Dr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const U=_;_=T.TRUSTED_TYPES_POLICY;try{F=q("")}catch(bt){throw _=U,bt}}else _===void 0&&T.TRUSTED_TYPES_POLICY!==null&&(_=Ay(d,o)),_&&typeof F=="string"&&(F=q(""));(L.uponSanitizeElement.length>0||L.uponSanitizeAttribute.length>0)&&G===ct&&(G=zt(G)),L.uponSanitizeAttribute.length>0&&st===wt&&(st=zt(st)),Kt&&Kt(T),Er=T},kl=nt({},[...Ys,...Us,...Cy]),Tl=nt({},[...js,...xy]),qm=function(T){let P=C(T);(!P||!P.tagName)&&(P={namespaceURI:Ar,tagName:"template"});const U=xi(T.tagName),bt=xi(P.tagName);return Rs[T.namespaceURI]?T.namespaceURI===io?P.namespaceURI===Se?U==="svg":P.namespaceURI===ro?U==="svg"&&(bt==="annotation-xml"||Ps[bt]):!!kl[U]:T.namespaceURI===ro?P.namespaceURI===Se?U==="math":P.namespaceURI===io?U==="math"&&Ns[bt]:!!Tl[U]:T.namespaceURI===Se?P.namespaceURI===io&&!Ns[bt]||P.namespaceURI===ro&&!Ps[bt]?!1:!Tl[U]&&(Dm[U]||!kl[U]):!!(hi==="application/xhtml+xml"&&Rs[T.namespaceURI]):!1},de=function(T){Or(t.removed,{element:T});try{C(T).removeChild(T)}catch{g(T)}},lr=function(T,P){try{Or(t.removed,{attribute:P.getAttributeNode(T),from:P})}catch{Or(t.removed,{attribute:null,from:P})}if(P.removeAttribute(T),T==="is")if(Lr||to)try{de(P)}catch{}else try{P.setAttribute(T,"")}catch{}},wl=function(T){let P=null,U=null;if(Ms)T=""+T;else{const Tt=Il(T,/^[\r\n\t ]+/);U=Tt&&Tt[0]}hi==="application/xhtml+xml"&&Ar===Se&&(T=''+T+"");const bt=_?q(T):T;if(Ar===Se)try{P=new h().parseFromString(bt,hi)}catch{}if(!P||!P.documentElement){P=R.createDocument(Ar,"template",null);try{P.documentElement.innerHTML=Ds?F:bt}catch{}}const dt=P.body||P.documentElement;return T&&U&&dt.insertBefore(r.createTextNode(U),dt.childNodes[0]||null),Ar===Se?I.call(P,nr?"html":"body")[0]:nr?P.documentElement:dt},Sl=function(T){return H.call(T.ownerDocument||T,T,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Ws=function(T){var P,U;T.normalize();const bt=H.call(T.ownerDocument||T,T,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null);let dt=bt.nextNode();for(;dt;){let $t=dt.data;hr([E,D,z],ne=>{$t=Ir($t,ne," ")}),dt.data=$t,dt=bt.nextNode()}const Tt=(P=(U=T.querySelectorAll)===null||U===void 0?void 0:U.call(T,"template"))!==null&&P!==void 0?P:[];hr(Array.from(Tt),$t=>{Mr($t.content)&&Ws($t.content)})},oo=function(T){const P=S?S(T):null;return typeof P!="string"||Ft(P)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==k(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==w(T)||T.childNodes!==y(T)},Mr=function(T){if(!w||typeof T!="object"||T===null)return!1;try{return w(T)===_e.documentFragment}catch{return!1}},so=function(T){if(!w||typeof T!="object"||T===null)return!1;try{return typeof w(T)=="number"}catch{return!1}};function De(Q,T,P){hr(Q,U=>{U.call(t,T,P,Er)})}const _l=function(T){let P=null;if(De(L.beforeSanitizeElements,T,null),oo(T))return de(T),!0;const U=Ft(S?S(T):T.nodeName);if(De(L.uponSanitizeElement,T,{tagName:U,allowedTags:G}),ni&&T.hasChildNodes()&&!so(T.firstElementChild)&&Nt(/<[/\w!]/g,T.innerHTML)&&Nt(/<[/\w!]/g,T.textContent)||ni&&T.namespaceURI===Se&&U==="style"&&so(T.firstElementChild)||T.nodeType===_e.progressingInstruction||ni&&T.nodeType===_e.comment&&Nt(/<[/\w]/g,T.data))return de(T),!0;if(_t[U]||!(Jt.tagCheck instanceof Function&&Jt.tagCheck(U))&&!G[U]){if(!_t[U]&&Bl(U)&&(at.tagNameCheck instanceof RegExp&&Nt(at.tagNameCheck,U)||at.tagNameCheck instanceof Function&&at.tagNameCheck(U)))return!1;if($s&&!we[U]){const dt=C(T),Tt=y(T);if(Tt&&dt){const $t=Tt.length;for(let ne=$t-1;ne>=0;--ne){const ue=u(Tt[ne],!0);dt.insertBefore(ue,m(T))}}}return de(T),!0}return(w?w(T):T.nodeType)===_e.element&&!qm(T)||(U==="noscript"||U==="noembed"||U==="noframes")&&Nt(/<\/no(script|embed|frames)/i,T.innerHTML)?(de(T),!0):(Ve&&T.nodeType===_e.text&&(P=T.textContent,hr([E,D,z],dt=>{P=Ir(P,dt," ")}),T.textContent!==P&&(Or(t.removed,{element:T.cloneNode()}),T.textContent=P)),De(L.afterSanitizeElements,T,null),!1)},vl=function(T,P,U){if(oe[P]||pl&&(P==="id"||P==="name")&&(U in r||U in Nm))return!1;const bt=st[P]||Jt.attributeCheck instanceof Function&&Jt.attributeCheck(P,T);if(!(As&&!oe[P]&&Nt(Y,P))){if(!(Br&&Nt(ht,P))){if(!bt||oe[P]){if(!(Bl(T)&&(at.tagNameCheck instanceof RegExp&&Nt(at.tagNameCheck,T)||at.tagNameCheck instanceof Function&&at.tagNameCheck(T))&&(at.attributeNameCheck instanceof RegExp&&Nt(at.attributeNameCheck,P)||at.attributeNameCheck instanceof Function&&at.attributeNameCheck(P,T))||P==="is"&&at.allowCustomizedBuiltInElements&&(at.tagNameCheck instanceof RegExp&&Nt(at.tagNameCheck,U)||at.tagNameCheck instanceof Function&&at.tagNameCheck(U))))return!1}else if(!Is[P]){if(!Nt(xt,Ir(U,ut,""))){if(!((P==="src"||P==="xlink:href"||P==="href")&&T!=="script"&&Dl(U,"data:")===0&&yl[T])){if(!(ul&&!Nt(mt,Ir(U,ut,"")))){if(U)return!1}}}}}}return!0},Wm=nt({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Bl=function(T){return!Wm[xi(T)]&&Nt(ft,T)},Ll=function(T){De(L.beforeSanitizeAttributes,T,null);const P=T.attributes;if(!P||oo(T))return;const U={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:st,forceKeepAttr:void 0};let bt=P.length;for(;bt--;){const dt=P[bt],Tt=dt.name,$t=dt.namespaceURI,ne=dt.value,ue=Ft(Tt),zs=ne;let Rt=Tt==="value"?zs:dy(zs);if(U.attrName=ue,U.attrValue=Rt,U.keepAttr=!0,U.forceKeepAttr=void 0,De(L.uponSanitizeAttribute,T,U),Rt=U.attrValue,gl&&(ue==="id"||ue==="name")&&Dl(Rt,ml)!==0&&(lr(Tt,T),Rt=ml+Rt),ni&&Nt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Rt)){lr(Tt,T);continue}if(ue==="attributename"&&Il(Rt,"href")){lr(Tt,T);continue}if(U.forceKeepAttr)continue;if(!U.keepAttr){lr(Tt,T);continue}if(!fl&&Nt(/\/>/i,Rt)){lr(Tt,T);continue}Ve&&hr([E,D,z],Al=>{Rt=Ir(Rt,Al," ")});const Fl=Ft(T.nodeName);if(!vl(Fl,ue,Rt)){lr(Tt,T);continue}if(_&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!$t)switch(d.getAttributeType(Fl,ue)){case"TrustedHTML":{Rt=q(Rt);break}case"TrustedScriptURL":{Rt=_.createScriptURL(Rt);break}}if(Rt!==zs)try{$t?T.setAttributeNS($t,Tt,Rt):T.setAttribute(Tt,Rt),oo(T)?de(T):Ol(t.removed)}catch{lr(Tt,T)}}De(L.afterSanitizeAttributes,T,null)},ao=function(T){let P=null;const U=Sl(T);for(De(L.beforeSanitizeShadowDOM,T,null);P=U.nextNode();)if(De(L.uponSanitizeShadowNode,P,null),_l(P),Ll(P),Mr(P.content)&&ao(P.content),(w?w(P):P.nodeType)===_e.element){const dt=b?b(P):P.shadowRoot;Mr(dt)&&($r(dt),ao(dt))}De(L.afterSanitizeShadowDOM,T,null)},$r=function(T){const P=w?w(T):T.nodeType;if(P===_e.element){const dt=b?b(T):T.shadowRoot;Mr(dt)&&($r(dt),ao(dt))}const U=y?y(T):T.childNodes;if(!U)return;const bt=[];hr(U,dt=>{Or(bt,dt)});for(const dt of bt)$r(dt);if(P===_e.element){const dt=S?S(T):null;if(typeof dt=="string"&&Ft(dt)==="template"){const Tt=T.content;Mr(Tt)&&$r(Tt)}}};return t.sanitize=function(Q){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},P=null,U=null,bt=null,dt=null;if(Ds=!Q,Ds&&(Q=""),typeof Q!="string"&&!so(Q)&&(Q=my(Q),typeof Q!="string"))throw Dr("dirty is not a string, aborting");if(!t.isSupported)return Q;if(Es||qs(T),t.removed=[],typeof Q=="string"&&(li=!1),li){const ne=S?S(Q):Q.nodeName;if(typeof ne=="string"){const ue=Ft(ne);if(!G[ue]||_t[ue])throw Dr("root node is forbidden and cannot be sanitized in-place")}if(oo(Q))throw Dr("root node is clobbered and cannot be sanitized in-place");$r(Q)}else if(so(Q))P=wl(""),U=P.ownerDocument.importNode(Q,!0),U.nodeType===_e.element&&U.nodeName==="BODY"||U.nodeName==="HTML"?P=U:P.appendChild(U),$r(U);else{if(!Lr&&!Ve&&!nr&&Q.indexOf("<")===-1)return _&&eo?q(Q):Q;if(P=wl(Q),!P)return Lr?null:eo?F:""}P&&Ms&&de(P.firstChild);const Tt=Sl(li?Q:P);for(;bt=Tt.nextNode();)_l(bt),Ll(bt),Mr(bt.content)&&ao(bt.content);if(li)return Ve&&Ws(Q),Q;if(Lr){if(Ve&&Ws(P),to)for(dt=W.call(P.ownerDocument);P.firstChild;)dt.appendChild(P.firstChild);else dt=P;return(st.shadowroot||st.shadowrootmode)&&(dt=A.call(i,dt,!0)),dt}let $t=nr?P.outerHTML:P.innerHTML;return nr&&G["!doctype"]&&P.ownerDocument&&P.ownerDocument.doctype&&P.ownerDocument.doctype.name&&Nt(By,P.ownerDocument.doctype.name)&&($t=" +`+$t),Ve&&hr([E,D,z],ne=>{$t=Ir($t,ne," ")}),_&&eo?q($t):$t},t.setConfig=function(){let Q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};qs(Q),Es=!0},t.clearConfig=function(){Er=null,Es=!1},t.isValidAttribute=function(Q,T,P){Er||qs({});const U=Ft(Q),bt=Ft(T);return vl(U,bt,P)},t.addHook=function(Q,T){typeof T=="function"&&Or(L[Q],T)},t.removeHook=function(Q,T){if(T!==void 0){const P=hy(L[Q],T);return P===-1?void 0:cy(L[Q],P,1)[0]}return Ol(L[Q])},t.removeHooks=function(Q){L[Q]=[]},t.removeAllHooks=function(){L=Yl()},t}var Vr=Cc(),xc=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Li=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Ey=/\s*%%.*\n/gm,bc=class extends Error{static{p(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}},xr={},dn=p(function(e,t){e=e.replace(xc,"").replace(Li,"").replace(Ey,` +`);for(const[r,{detector:i}]of Object.entries(xr))if(i(e,t))return r;throw new bc(`No diagram type detected matching given configuration for text: ${e}`)},"detectType"),da=p((...e)=>{for(const{id:t,detector:r,loader:i}of e)kc(t,r,i)},"registerLazyLoadedDiagrams"),kc=p((e,t,r)=>{xr[e]&&N.warn(`Detector with key ${e} already exists. Overwriting.`),xr[e]={detector:t,loader:r},N.debug(`Detector with key ${e} added${r?" with loader":""}`)},"addDetector"),My=p(e=>xr[e].loader,"getDiagramLoader"),ua=p((e,t,{depth:r=2,clobber:i=!1}={})=>{const o={depth:r,clobber:i};return Array.isArray(t)&&!Array.isArray(e)?(t.forEach(s=>ua(e,s,o)),e):Array.isArray(t)&&Array.isArray(e)?(t.forEach(s=>{e.includes(s)||e.push(s)}),e):e===void 0||r<=0?e!=null&&typeof e=="object"&&typeof t=="object"?Object.assign(e,t):t:(t!==void 0&&typeof e=="object"&&typeof t=="object"&&Object.keys(t).forEach(s=>{typeof t[s]=="object"&&t[s]!==null&&(e[s]===void 0||typeof e[s]=="object")?(e[s]===void 0&&(e[s]=Array.isArray(t[s])?[]:{}),e[s]=ua(e[s],t[s],{depth:r-1,clobber:i})):(i||typeof e[s]!="object"&&typeof t[s]!="object")&&(e[s]=t[s])}),e)},"assignWithDepth"),It=ua,$e="#ffffff",Oe="#f2f2f2",it=p((e,t)=>t?x(e,{s:-40,l:10}):x(e,{s:-40,l:-10}),"mkBorder"),$y=class{static{p(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||it(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||it(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||it(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||v(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||v(this.tertiaryColor),this.lineColor=this.lineColor||v(this.background),this.arrowheadColor=this.arrowheadColor||v(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?$(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||$(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||v(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||M(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||$(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||$(this.mainBkg,10)):(this.rowOdd=this.rowOdd||M(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||M(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||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},Oy=p(e=>{const t=new $y;return t.calculate(e),t},"getThemeVariables"),Iy=class{static{p(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=M(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=v(this.background),this.secondaryBorderColor=it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=it(this.tertiaryColor,this.darkMode),this.primaryTextColor=v(this.primaryColor),this.secondaryTextColor=v(this.secondaryColor),this.tertiaryTextColor=v(this.tertiaryColor),this.lineColor=v(this.background),this.textColor=v(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=M(v("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=tr(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=$("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=$(this.sectionBkgColor,10),this.taskBorderColor=tr(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=tr(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||M(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||$(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=M(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=M(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=M(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=v(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=x(this.primaryColor,{h:64}),this.fillType3=x(this.secondaryColor,{h:64}),this.fillType4=x(this.primaryColor,{h:-64}),this.fillType5=x(this.secondaryColor,{h:-64}),this.fillType6=x(this.primaryColor,{h:128}),this.fillType7=x(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||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330});for(let e=0;e{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},Dy=p(e=>{const t=new Iy;return t.calculate(e),t},"getThemeVariables"),Ry=class{static{p(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=x(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=it(this.primaryColor,this.darkMode),this.secondaryBorderColor=it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=it(this.tertiaryColor,this.darkMode),this.primaryTextColor=v(this.primaryColor),this.secondaryTextColor=v(this.secondaryColor),this.tertiaryTextColor=v(this.tertiaryColor),this.lineColor=v(this.background),this.textColor=v(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=it(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=tr(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||$(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||$(this.tertiaryColor,40);for(let e=0;e{this[r]==="calculated"&&(this[r]=void 0)}),typeof e!="object"){this.updateColors();return}const t=Object.keys(e);t.forEach(r=>{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},Py=p(e=>{const t=new Ry;return t.calculate(e),t},"getThemeVariables"),Ny=class{static{p(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=M("#cde498",10),this.primaryBorderColor=it(this.primaryColor,this.darkMode),this.secondaryBorderColor=it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=it(this.tertiaryColor,this.darkMode),this.primaryTextColor=v(this.primaryColor),this.secondaryTextColor=v(this.secondaryColor),this.tertiaryTextColor=v(this.primaryColor),this.lineColor=v(this.background),this.textColor=v(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=$(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||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||$(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||$(this.tertiaryColor,40);for(let e=0;e{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},qy=p(e=>{const t=new Ny;return t.calculate(e),t},"getThemeVariables"),Wy=class{static{p(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=M(this.contrast,55),this.background="#ffffff",this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=it(this.primaryColor,this.darkMode),this.secondaryBorderColor=it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=it(this.tertiaryColor,this.darkMode),this.primaryTextColor=v(this.primaryColor),this.secondaryTextColor=v(this.secondaryColor),this.tertiaryTextColor=v(this.tertiaryColor),this.lineColor=v(this.background),this.textColor=v(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||M(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=M(this.contrast,55),this.border2=this.contrast,this.actorBorder=M(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[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},zy=p(e=>{const t=new Wy;return t.calculate(e),t},"getThemeVariables"),Hy=class{static{p(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=it(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||it(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||it(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||it(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||v(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||v(this.tertiaryColor),this.lineColor=this.lineColor||v(this.background),this.arrowheadColor=this.arrowheadColor||v(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?$(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||$(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||v(this.lineColor);const e="#ECECFE",t="#E9E9F1",r=x(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||r,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||t,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||M(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||t,this.cScale2=this.cScale2||r,this.cScale3=this.cScale3||x(e,{h:30}),this.cScale4=this.cScale4||x(e,{h:60}),this.cScale5=this.cScale5||x(e,{h:90}),this.cScale6=this.cScale6||x(e,{h:120}),this.cScale7=this.cScale7||x(e,{h:150}),this.cScale8=this.cScale8||x(e,{h:210,l:150}),this.cScale9=this.cScale9||x(e,{h:270}),this.cScale10=this.cScale10||x(e,{h:300}),this.cScale11=this.cScale11||x(e,{h:330}),this.darkMode)for(let o=0;o{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},Yy=p(e=>{const t=new Hy;return t.calculate(e),t},"getThemeVariables"),Uy=class{static{p(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=M(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=v(this.background),this.secondaryBorderColor=it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=it(this.tertiaryColor,this.darkMode),this.primaryTextColor=v(this.primaryColor),this.secondaryTextColor=v(this.secondaryColor),this.tertiaryTextColor=v(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=M(v("#323D47"),10),this.border1="#ccc",this.border2=tr(255,255,255,.25),this.arrowheadColor=v(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||it(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||it(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||it(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||v(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||v(this.tertiaryColor),this.lineColor=this.lineColor||v(this.background),this.arrowheadColor=this.arrowheadColor||v(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?$(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||$(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||v(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||M(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},jy=p(e=>{const t=new Uy;return t.calculate(e),t},"getThemeVariables"),Gy=class{static{p(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=it("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||it(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||it(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||it(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||v(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||v(this.tertiaryColor),this.lineColor=this.lineColor||v(this.background),this.arrowheadColor=this.arrowheadColor||v(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?$(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||$(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||v(this.lineColor);const e="#ECECFE",t="#E9E9F1",r=x(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||r,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||t,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||M(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let o=0;o{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},Xy=p(e=>{const t=new Gy;return t.calculate(e),t},"getThemeVariables"),Vy=class{static{p(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=M(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=v(this.background),this.secondaryBorderColor=it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=it(this.tertiaryColor,this.darkMode),this.primaryTextColor=v(this.primaryColor),this.secondaryTextColor=v(this.secondaryColor),this.tertiaryTextColor=v(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=M(v("#323D47"),10),this.border1="#ccc",this.border2=tr(255,255,255,.25),this.arrowheadColor=v(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||it(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||it(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||it(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||v(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||v(this.tertiaryColor),this.lineColor=this.lineColor||v(this.background),this.arrowheadColor=this.arrowheadColor||v(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?$(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||$(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||v(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||M(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},Zy=p(e=>{const t=new Vy;return t.calculate(e),t},"getThemeVariables"),Ky=class{static{p(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=it(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||it(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||it(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||it(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||v(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||v(this.tertiaryColor),this.lineColor=this.lineColor||v(this.background),this.arrowheadColor=this.arrowheadColor||v(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?$(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||$(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||v(this.lineColor);const e="#ECECFE",t="#E9E9F1",r=x(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||r,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||t,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||M(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let o=0;o{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},Qy=p(e=>{const t=new Ky;return t.calculate(e),t},"getThemeVariables"),Jy=class{static{p(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=M(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=v(this.background),this.secondaryBorderColor=it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=it(this.tertiaryColor,this.darkMode),this.primaryTextColor=v(this.primaryColor),this.secondaryTextColor=v(this.secondaryColor),this.tertiaryTextColor=v(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=M(v("#323D47"),10),this.border1="#ccc",this.border2=tr(255,255,255,.25),this.arrowheadColor=v(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||it(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||it(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||it(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||it(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||v(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||v(this.tertiaryColor),this.lineColor=this.lineColor||v(this.background),this.arrowheadColor=this.arrowheadColor||v(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?$(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||$(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||v(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||M(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let t=0;t{this[r]=e[r]}),this.updateColors(),t.forEach(r=>{this[r]=e[r]})}},t0=p(e=>{const t=new Jy;return t.calculate(e),t},"getThemeVariables"),We={base:{getThemeVariables:Oy},dark:{getThemeVariables:Dy},default:{getThemeVariables:Py},forest:{getThemeVariables:qy},neutral:{getThemeVariables:zy},neo:{getThemeVariables:Yy},"neo-dark":{getThemeVariables:jy},redux:{getThemeVariables:Xy},"redux-dark":{getThemeVariables:Zy},"redux-color":{getThemeVariables:Qy},"redux-dark-color":{getThemeVariables:t0}},Gt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},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"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:.45,numIter:2500},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},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},Tc={...Gt,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:We.default.getThemeVariables(),sequence:{...Gt.sequence,messageFont:p(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:p(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:p(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...Gt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Gt.c4,useWidth:void 0,personFont:p(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Gt.flowchart,inheritDir:!1},external_personFont:p(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:p(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:p(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:p(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:p(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:p(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:p(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:p(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:p(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:p(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:p(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:p(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:p(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:p(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:p(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:p(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:p(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:p(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:p(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:p(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:p(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Gt.pie,useWidth:984},xyChart:{...Gt.xyChart,useWidth:void 0},requirement:{...Gt.requirement,useWidth:void 0},packet:{...Gt.packet},eventmodeling:{...Gt.eventmodeling},treeView:{...Gt.treeView,useWidth:void 0},radar:{...Gt.radar},ishikawa:{...Gt.ishikawa},sankey:{...Gt.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Gt.venn}},wc=p((e,t="")=>Object.keys(e).reduce((r,i)=>Array.isArray(e[i])?r:typeof e[i]=="object"&&e[i]!==null?[...r,t+i,...wc(e[i],"")]:[...r,t+i],[]),"keyify"),e0=new Set(wc(Tc,"")),Sc=Tc,Oo=p(e=>{if(N.debug("sanitizeDirective called with",e),!(typeof e!="object"||e==null)){if(Array.isArray(e)){e.forEach(t=>Oo(t));return}for(const t of Object.keys(e)){if(N.debug("Checking key",t),t.startsWith("__")||t.includes("proto")||t.includes("constr")||!e0.has(t)||e[t]==null){N.debug("sanitize deleting key: ",t),delete e[t];continue}if(typeof e[t]=="object"){if(t==="nodeColors"){const i=/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i;for(const o of Object.keys(e[t]))(typeof e[t][o]!="string"||!i.test(e[t][o]))&&(N.debug("sanitize deleting invalid color:",o,e[t][o]),delete e[t][o])}else N.debug("sanitizing object",t),Oo(e[t]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const i of r)t.includes(i)&&(N.debug("sanitizing css option",t),e[t]=_c(e[t]))}if(e.themeVariables)for(const t of Object.keys(e.themeVariables)){const r=e.themeVariables[t];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[t]="")}N.debug("After sanitization",e)}},"sanitizeDirective"),_c=p(e=>{let t=0,r=0;for(const i of e){if(t!(e===!1||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),ee=It({},Zr),Io,br=[],Fi=It({},Zr),us=p((e,t)=>{let r=It({},e),i={};for(const o of t)Lc(o),i=It(i,o);if(r=It(r,i),i.theme&&i.theme in We){const o=It({},Io),s=It(o.themeVariables||{},i.themeVariables);r.theme&&r.theme in We&&(r.themeVariables=We[r.theme].getThemeVariables(s))}return Fi=r,Ac(Fi),Fi},"updateCurrentConfig"),r0=p(e=>(ee=It({},Zr),ee=It(ee,e),e.theme&&We[e.theme]&&(ee.themeVariables=We[e.theme].getThemeVariables(e.themeVariables)),us(ee,br),ee),"setSiteConfig"),i0=p(e=>{Io=It({},e)},"saveConfigFromInitialize"),o0=p(e=>(ee=It(ee,e),us(ee,br),ee),"updateSiteConfig"),vc=p(()=>It({},ee),"getSiteConfig"),Bc=p(e=>(Ac(e),It(Fi,e),vt()),"setConfig"),vt=p(()=>It({},Fi),"getConfig"),Lc=p(e=>{e&&(["secure",...ee.secure??[]].forEach(t=>{Object.hasOwn(e,t)&&(N.debug(`Denied attempt to modify a secure key ${t}`,e[t]),delete e[t])}),Object.keys(e).forEach(t=>{t.startsWith("__")&&delete e[t]}),Object.keys(e).forEach(t=>{typeof e[t]=="string"&&(e[t].includes("<")||e[t].includes(">")||e[t].includes("url(data:"))&&delete e[t],typeof e[t]=="object"&&Lc(e[t])}))},"sanitize"),s0=p(e=>{Oo(e),e.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables={...e.themeVariables,fontFamily:e.fontFamily}),br.push(e),us(ee,br)},"addDirective"),Do=p((e=ee)=>{br=[],us(e,br)},"reset"),a0={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},Ul={},Fc=p(e=>{Ul[e]||(N.warn(a0[e]),Ul[e]=!0)},"issueWarning"),Ac=p(e=>{e&&(e.lazyLoadedDiagrams||e.loadExternalDiagramsAtStartup)&&Fc("LAZY_LOAD_DEPRECATED")},"checkConfig"),kB=p(()=>{let e={};Io&&(e=It(e,Io));for(const t of br)e=It(e,t);return e},"getUserDefinedConfig"),Qt=p(e=>(e.flowchart?.htmlLabels!=null&&Fc("FLOWCHART_HTML_LABELS_DEPRECATED"),je(e.htmlLabels??e.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),Ui=//gi,n0=p(e=>e?$c(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),l0=(()=>{let e=!1;return()=>{e||(Ec(),e=!0)}})();function Ec(){const e="data-temp-href-target";Vr.addHook("beforeSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute("target")&&t.setAttribute(e,t.getAttribute("target")??"")}),Vr.addHook("afterSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute(e)&&(t.setAttribute("target",t.getAttribute(e)??""),t.removeAttribute(e),t.getAttribute("target")==="_blank"&&t.setAttribute("rel","noopener"))})}p(Ec,"setupDompurifyHooks");var Mc=p(e=>(l0(),Vr.sanitize(e)),"removeScript"),jl=p((e,t)=>{if(Qt(t)){const r=t.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?e=Mc(e):r!=="loose"&&(e=$c(e),e=e.replace(//g,">"),e=e.replace(/=/g,"="),e=u0(e))}return e},"sanitizeMore"),be=p((e,t)=>e&&(t.dompurifyConfig?e=Vr.sanitize(jl(e,t),t.dompurifyConfig).toString():e=Vr.sanitize(jl(e,t),{FORBID_TAGS:["style"]}).toString(),e),"sanitizeText"),h0=p((e,t)=>typeof e=="string"?be(e,t):e.flat().map(r=>be(r,t)),"sanitizeTextOrArray"),c0=p(e=>Ui.test(e),"hasBreaks"),d0=p(e=>e.split(Ui),"splitBreaks"),u0=p(e=>e.replace(/#br#/g,"
"),"placeholderToBreak"),$c=p(e=>e.replace(Ui,"#br#"),"breakToPlaceholder"),f0=p(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=CSS.escape(t)),t},"getUrl"),p0=p(function(...e){const t=e.filter(r=>!isNaN(r));return Math.max(...t)},"getMax"),g0=p(function(...e){const t=e.filter(r=>!isNaN(r));return Math.min(...t)},"getMin"),Gl=p(function(e){const t=e.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,e.split(t).length-1),"countOccurrence"),m0=p((e,t)=>{const r=fa(e,"~"),i=fa(t,"~");return r===1&&i===1},"shouldCombineSets"),y0=p(e=>{const t=fa(e,"~");let r=!1;if(t<=1)return e;t%2!==0&&e.startsWith("~")&&(e=e.substring(1),r=!0);const i=[...e];let o=i.indexOf("~"),s=i.lastIndexOf("~");for(;o!==-1&&s!==-1&&o!==s;)i[o]="<",i[s]=">",o=i.indexOf("~"),s=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),Xl=p(()=>window.MathMLElement!==void 0,"isMathMLSupported"),pa=/\$\$(.*)\$\$/g,$i=p(e=>(e.match(pa)?.length??0)>0,"hasKatex"),TB=p(async(e,t)=>{const r=document.createElement("div");r.innerHTML=await Oc(e,t),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);const o={width:r.clientWidth,height:r.clientHeight};return r.remove(),o},"calculateMathMLDimensions"),C0=p(async(e,t)=>{if(!$i(e))return e;if(!(Xl()||t.legacyMathML||t.forceLegacyMathML))return e.replace(pa,"MathML is unsupported in this environment.");{const{default:r}=await gt(async()=>{const{default:o}=await import("./katex.HP8lGamR.js");return{default:o}},[]),i=t.forceLegacyMathML||!Xl()&&t.legacyMathML?"htmlAndMathml":"mathml";return e.split(Ui).map(o=>$i(o)?`

`:`
${o}
`).join("").replace(pa,(o,s)=>r.renderToString(s,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),Oc=p(async(e,t)=>be(await C0(e,t),t),"renderKatexSanitized"),ji={getRows:n0,sanitizeText:be,sanitizeTextOrArray:h0,hasBreaks:c0,splitBreaks:d0,lineBreakRegex:Ui,removeScript:Mc,getUrl:f0,evaluate:je,getMax:p0,getMin:g0},x0=p(function(e,t){for(let r of t)e.attr(r[0],r[1])},"d3Attrs"),b0=p(function(e,t,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${t}px;`)):(i.set("height",e),i.set("width",t)),i},"calculateSvgSizeAttrs"),Ic=p(function(e,t,r,i){const o=b0(t,r,i);x0(e,o)},"configureSvgSize"),k0=p(function(e,t,r,i){const o=t.node().getBBox(),s=o.width,a=o.height;N.info(`SVG bounds: ${s}x${a}`,o);let n=0,l=0;N.info(`Graph bounds: ${n}x${l}`,e),n=s+r*2,l=a+r*2,N.info(`Calculated bounds: ${n}x${l}`),Ic(t,l,n,i);const c=`${o.x-r} ${o.y-r} ${o.width+2*r} ${o.height+2*r}`;t.attr("viewBox",c)},"setupGraphViewbox"),To={};function ga(e){return[...e.cssRules].map(t=>t.cssText).join(` +`)}p(ga,"cssStyleSheetToString");var T0=p((e,t,r,i)=>{let o="";return e in To&&To[e]?o=To[e]({...r,svgId:i}):N.warn(`No theme found for ${e}`),` & { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + @keyframes edge-animation-frame { + from { + stroke-dashoffset: 0; + } + } + @keyframes dash { + to { + stroke-dashoffset: 0; + } + } + & .edge-animation-slow { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 50s linear infinite; + stroke-linecap: round; + } + & .edge-animation-fast { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 20s linear infinite; + stroke-linecap: round; + } + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: ${r.strokeWidth??1}px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${o} + .node .neo-node { + stroke: ${r.nodeBorder}; + } + + [data-look="neo"].node rect, [data-look="neo"].cluster rect, [data-look="neo"].node polygon { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + + [data-look="neo"].node path { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + stroke-width: ${r.strokeWidth??1}px; + } + + [data-look="neo"].node .outer-path { + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].node .neo-line path { + stroke: ${r.nodeBorder}; + filter: none; + } + + [data-look="neo"].node circle{ + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].node circle .state-start{ + fill: #000000; + } + + [data-look="neo"].icon-shape .icon { + fill: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].icon-shape .icon-neo path { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + ${t} +`},"getStyles"),w0=p((e,t)=>{t!==void 0&&(To[e]=t)},"addStylesForDiagram"),S0=T0,Dc={};Gm(Dc,{clear:()=>_0,getAccDescription:()=>F0,getAccTitle:()=>B0,getDiagramTitle:()=>E0,setAccDescription:()=>L0,setAccTitle:()=>v0,setDiagramTitle:()=>A0});var un="",fn="",pn="",gn=p(e=>be(e,vt()),"sanitizeText"),_0=p(()=>{un="",pn="",fn=""},"clear"),v0=p(e=>{un=gn(e).replace(/^\s+/g,"")},"setAccTitle"),B0=p(()=>un,"getAccTitle"),L0=p(e=>{pn=gn(e).replace(/\n\s+/g,` +`)},"setAccDescription"),F0=p(()=>pn,"getAccDescription"),A0=p(e=>{fn=gn(e)},"setDiagramTitle"),E0=p(()=>fn,"getDiagramTitle"),Vl=N,M0=cn,yt=vt,wB=Bc,SB=Zr,mn=p(e=>be(e,yt()),"sanitizeText"),$0=k0,O0=p(()=>Dc,"getCommonDb"),Ro={},Po=p((e,t,r)=>{Ro[e]&&Vl.warn(`Diagram with id ${e} already registered. Overwriting.`),Ro[e]=t,r&&kc(e,r),w0(e,t.styles),t.injectUtils?.(Vl,M0,yt,mn,$0,O0(),()=>{})},"registerDiagram"),ma=p(e=>{if(e in Ro)return Ro[e];throw new I0(e)},"getDiagram"),I0=class extends Error{static{p(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}},D0={value:()=>{}};function Rc(){for(var e=0,t=arguments.length,r={},i;e=0&&(i=r.slice(o+1),r=r.slice(0,o)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}wo.prototype=Rc.prototype={constructor:wo,on:function(e,t){var r=this._,i=R0(e+"",r),o,s=-1,a=i.length;if(arguments.length<2){for(;++s0)for(var r=new Array(o),i=0,o,s;i=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Kl.hasOwnProperty(t)?{space:Kl[t],local:e}:e}function N0(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===ya&&t.documentElement.namespaceURI===ya?t.createElement(e):t.createElementNS(r,e)}}function q0(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Pc(e){var t=fs(e);return(t.local?q0:N0)(t)}function W0(){}function yn(e){return e==null?W0:function(){return this.querySelector(e)}}function z0(e){typeof e!="function"&&(e=yn(e));for(var t=this._groups,r=t.length,i=new Array(r),o=0;o=k&&(k=b+1);!(S=y[k])&&++k=0;)(a=i[o])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function fC(e){e||(e=pC);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var r=this._groups,i=r.length,o=new Array(i),s=0;st?1:e>=t?0:NaN}function gC(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function mC(){return Array.from(this)}function yC(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?LC:typeof t=="function"?AC:FC)(e,t,r??"")):Kr(this.node(),e)}function Kr(e,t){return e.style.getPropertyValue(t)||Hc(e).getComputedStyle(e,null).getPropertyValue(t)}function MC(e){return function(){delete this[e]}}function $C(e,t){return function(){this[e]=t}}function OC(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function IC(e,t){return arguments.length>1?this.each((t==null?MC:typeof t=="function"?OC:$C)(e,t)):this.node()[e]}function Yc(e){return e.trim().split(/^|\s+/)}function Cn(e){return e.classList||new Uc(e)}function Uc(e){this._node=e,this._names=Yc(e.getAttribute("class")||"")}Uc.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function jc(e,t){for(var r=Cn(e),i=-1,o=t.length;++i=0&&(r=t.slice(i+1),t=t.slice(0,i)),{type:t,name:r}})}function hx(e){return function(){var t=this.__on;if(t){for(var r=0,i=-1,o=t.length,s;r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?lo(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?lo(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Cx.exec(e))?new ie(t[1],t[2],t[3],1):(t=xx.exec(e))?new ie(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=bx.exec(e))?lo(t[1],t[2],t[3],t[4]):(t=kx.exec(e))?lo(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Tx.exec(e))?oh(t[1],t[2]/100,t[3]/100,1):(t=wx.exec(e))?oh(t[1],t[2]/100,t[3]/100,t[4]):Ql.hasOwnProperty(e)?eh(Ql[e]):e==="transparent"?new ie(NaN,NaN,NaN,0):null}function eh(e){return new ie(e>>16&255,e>>8&255,e&255,1)}function lo(e,t,r,i){return i<=0&&(e=t=r=NaN),new ie(e,t,r,i)}function vx(e){return e instanceof Xi||(e=Di(e)),e?(e=e.rgb(),new ie(e.r,e.g,e.b,e.opacity)):new ie}function Ca(e,t,r,i){return arguments.length===1?vx(e):new ie(e,t,r,i??1)}function ie(e,t,r,i){this.r=+e,this.g=+t,this.b=+r,this.opacity=+i}xn(ie,Ca,Zc(Xi,{brighter(e){return e=e==null?qo:Math.pow(qo,e),new ie(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Oi:Math.pow(Oi,e),new ie(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ie(Cr(this.r),Cr(this.g),Cr(this.b),Wo(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:rh,formatHex:rh,formatHex8:Bx,formatRgb:ih,toString:ih}));function rh(){return`#${gr(this.r)}${gr(this.g)}${gr(this.b)}`}function Bx(){return`#${gr(this.r)}${gr(this.g)}${gr(this.b)}${gr((isNaN(this.opacity)?1:this.opacity)*255)}`}function ih(){const e=Wo(this.opacity);return`${e===1?"rgb(":"rgba("}${Cr(this.r)}, ${Cr(this.g)}, ${Cr(this.b)}${e===1?")":`, ${e})`}`}function Wo(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Cr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function gr(e){return e=Cr(e),(e<16?"0":"")+e.toString(16)}function oh(e,t,r,i){return i<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new me(e,t,r,i)}function Kc(e){if(e instanceof me)return new me(e.h,e.s,e.l,e.opacity);if(e instanceof Xi||(e=Di(e)),!e)return new me;if(e instanceof me)return e;e=e.rgb();var t=e.r/255,r=e.g/255,i=e.b/255,o=Math.min(t,r,i),s=Math.max(t,r,i),a=NaN,n=s-o,l=(s+o)/2;return n?(t===s?a=(r-i)/n+(r0&&l<1?0:a,new me(a,n,l,e.opacity)}function Lx(e,t,r,i){return arguments.length===1?Kc(e):new me(e,t,r,i??1)}function me(e,t,r,i){this.h=+e,this.s=+t,this.l=+r,this.opacity=+i}xn(me,Lx,Zc(Xi,{brighter(e){return e=e==null?qo:Math.pow(qo,e),new me(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Oi:Math.pow(Oi,e),new me(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*t,o=2*r-i;return new ie(Xs(e>=240?e-240:e+120,o,i),Xs(e,o,i),Xs(e<120?e+240:e-120,o,i),this.opacity)},clamp(){return new me(sh(this.h),ho(this.s),ho(this.l),Wo(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Wo(this.opacity);return`${e===1?"hsl(":"hsla("}${sh(this.h)}, ${ho(this.s)*100}%, ${ho(this.l)*100}%${e===1?")":`, ${e})`}`}}));function sh(e){return e=(e||0)%360,e<0?e+360:e}function ho(e){return Math.max(0,Math.min(1,e||0))}function Xs(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const bn=e=>()=>e;function Qc(e,t){return function(r){return e+r*t}}function Fx(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(i){return Math.pow(e+i*t,r)}}function _B(e,t){var r=t-e;return r?Qc(e,r>180||r<-180?r-360*Math.round(r/360):r):bn(isNaN(e)?t:e)}function Ax(e){return(e=+e)==1?Jc:function(t,r){return r-t?Fx(t,r,e):bn(isNaN(t)?r:t)}}function Jc(e,t){var r=t-e;return r?Qc(e,r):bn(isNaN(e)?t:e)}const ah=(function e(t){var r=Ax(t);function i(o,s){var a=r((o=Ca(o)).r,(s=Ca(s)).r),n=r(o.g,s.g),l=r(o.b,s.b),c=Jc(o.opacity,s.opacity);return function(h){return o.r=a(h),o.g=n(h),o.b=l(h),o.opacity=c(h),o+""}}return i.gamma=e,i})(1);function Ke(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var xa=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Vs=new RegExp(xa.source,"g");function Ex(e){return function(){return e}}function Mx(e){return function(t){return e(t)+""}}function $x(e,t){var r=xa.lastIndex=Vs.lastIndex=0,i,o,s,a=-1,n=[],l=[];for(e=e+"",t=t+"";(i=xa.exec(e))&&(o=Vs.exec(t));)(s=o.index)>r&&(s=t.slice(r,s),n[a]?n[a]+=s:n[++a]=s),(i=i[0])===(o=o[0])?n[a]?n[a]+=o:n[++a]=o:(n[++a]=null,l.push({i:a,x:Ke(i,o)})),r=Vs.lastIndex;return r180?h+=360:h-c>180&&(c+=360),f.push({i:d.push(o(d)+"rotate(",null,i)-2,x:Ke(c,h)})):h&&d.push(o(d)+"rotate("+h+i)}function n(c,h,d,f){c!==h?f.push({i:d.push(o(d)+"skewX(",null,i)-2,x:Ke(c,h)}):h&&d.push(o(d)+"skewX("+h+i)}function l(c,h,d,f,u,g){if(c!==d||h!==f){var m=u.push(o(u)+"scale(",null,",",null,")");g.push({i:m-4,x:Ke(c,d)},{i:m-2,x:Ke(h,f)})}else(d!==1||f!==1)&&u.push(o(u)+"scale("+d+","+f+")")}return function(c,h){var d=[],f=[];return c=e(c),h=e(h),s(c.translateX,c.translateY,h.translateX,h.translateY,d,f),a(c.rotate,h.rotate,d,f),n(c.skewX,h.skewX,d,f),l(c.scaleX,c.scaleY,h.scaleX,h.scaleY,d,f),c=h=null,function(u){for(var g=-1,m=f.length,y;++g=0&&e._call.call(void 0,t),e=e._next;--Qr}function lh(){kr=(Ho=Ri.now())+ps,Qr=bi=0;try{Nx()}finally{Qr=0,Wx(),kr=0}}function qx(){var e=Ri.now(),t=e-Ho;t>rd&&(ps-=t,Ho=e)}function Wx(){for(var e,t=zo,r,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:zo=r);ki=e,ka(i)}function ka(e){if(!Qr){bi&&(bi=clearTimeout(bi));var t=e-kr;t>24?(e<1/0&&(bi=setTimeout(lh,e-Ri.now()-ps)),di&&(di=clearInterval(di))):(di||(Ho=Ri.now(),di=setInterval(qx,rd)),Qr=1,id(lh))}}function hh(e,t,r){var i=new Yo;return t=t==null?0:+t,i.restart(o=>{i.stop(),e(o+t)},t,r),i}var zx=Rc("start","end","cancel","interrupt"),Hx=[],sd=0,ch=1,Ta=2,So=3,dh=4,wa=5,_o=6;function gs(e,t,r,i,o,s){var a=e.__transition;if(!a)e.__transition={};else if(r in a)return;Yx(e,r,{name:t,index:i,group:o,on:zx,tween:Hx,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:sd})}function Tn(e,t){var r=Te(e,t);if(r.state>sd)throw new Error("too late; already scheduled");return r}function Ie(e,t){var r=Te(e,t);if(r.state>So)throw new Error("too late; already running");return r}function Te(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function Yx(e,t,r){var i=e.__transition,o;i[t]=r,r.timer=od(s,0,r.time);function s(c){r.state=ch,r.timer.restart(a,r.delay,r.time),r.delay<=c&&a(c-r.delay)}function a(c){var h,d,f,u;if(r.state!==ch)return l();for(h in i)if(u=i[h],u.name===r.name){if(u.state===So)return hh(a);u.state===dh?(u.state=_o,u.timer.stop(),u.on.call("interrupt",e,e.__data__,u.index,u.group),delete i[h]):+hTa&&i.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function kb(e,t,r){var i,o,s=bb(t)?Tn:Ie;return function(){var a=s(this,e),n=a.on;n!==i&&(o=(i=n).copy()).on(t,r),a.on=o}}function Tb(e,t){var r=this._id;return arguments.length<2?Te(this.node(),r).on.on(e):this.each(kb(r,e,t))}function wb(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function Sb(){return this.on("end.remove",wb(this._id))}function _b(e){var t=this._name,r=this._id;typeof e!="function"&&(e=yn(e));for(var i=this._groups,o=i.length,s=new Array(o),a=0;a=0))throw new Error(`invalid digits: ${e}`);if(t>15)return hd;const r=10**t;return function(i){this._+=i[0];for(let o=1,s=i.length;our)if(!(Math.abs(d*l-c*h)>ur)||!s)this._append`L${this._x1=t},${this._y1=r}`;else{let u=i-a,g=o-n,m=l*l+c*c,y=u*u+g*g,C=Math.sqrt(m),b=Math.sqrt(f),k=s*Math.tan((Sa-Math.acos((m+f-y)/(2*C*b)))/2),w=k/b,S=k/C;Math.abs(w-1)>ur&&this._append`L${t+w*h},${r+w*d}`,this._append`A${s},${s},0,0,${+(d*u>h*g)},${this._x1=t+S*l},${this._y1=r+S*c}`}}arc(t,r,i,o,s,a){if(t=+t,r=+r,i=+i,a=!!a,i<0)throw new Error(`negative radius: ${i}`);let n=i*Math.cos(o),l=i*Math.sin(o),c=t+n,h=r+l,d=1^a,f=a?o-s:s-o;this._x1===null?this._append`M${c},${h}`:(Math.abs(this._x1-c)>ur||Math.abs(this._y1-h)>ur)&&this._append`L${c},${h}`,i&&(f<0&&(f=f%_a+_a),f>Zb?this._append`A${i},${i},0,1,${d},${t-n},${r-l}A${i},${i},0,1,${d},${this._x1=c},${this._y1=h}`:f>ur&&this._append`A${i},${i},0,${+(f>=Sa)},${d},${this._x1=t+i*Math.cos(s)},${this._y1=r+i*Math.sin(s)}`)}rect(t,r,i,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${i=+i}v${+o}h${-i}Z`}toString(){return this._}}function Rr(e){return function(){return e}}const vB=Math.abs,BB=Math.atan2,LB=Math.cos,FB=Math.max,AB=Math.min,EB=Math.sin,MB=Math.sqrt,uh=1e-12,Sn=Math.PI,fh=Sn/2,$B=2*Sn;function OB(e){return e>1?0:e<-1?Sn:Math.acos(e)}function IB(e){return e>=1?fh:e<=-1?-fh:Math.asin(e)}function Jb(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const i=Math.floor(r);if(!(i>=0))throw new RangeError(`invalid digits: ${r}`);t=i}return e},()=>new Qb(t)}function tk(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function cd(e){this._context=e}cd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Ai(e){return new cd(e)}function ek(e){return e[0]}function rk(e){return e[1]}function ik(e,t){var r=Rr(!0),i=null,o=Ai,s=null,a=Jb(n);e=typeof e=="function"?e:e===void 0?ek:Rr(e),t=typeof t=="function"?t:t===void 0?rk:Rr(t);function n(l){var c,h=(l=tk(l)).length,d,f=!1,u;for(i==null&&(s=o(u=a())),c=0;c<=h;++c)!(c0)for(var i=e[0],o=t[0],s=e[r]-i,a=t[r]-o,n=-1,l;++n<=r;)l=n/r,this._basis.point(this._beta*e[n]+(1-this._beta)*(i+l*s),this._beta*t[n]+(1-this._beta)*(o+l*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const ak=(function e(t){function r(i){return t===1?new ms(i):new md(i,t)}return r.beta=function(i){return e(+i)},r})(.85);function jo(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function _n(e,t){this._context=e,this._k=(1-t)/6}_n.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:jo(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:jo(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const yd=(function e(t){function r(i){return new _n(i,t)}return r.tension=function(i){return e(+i)},r})(0);function vn(e,t){this._context=e,this._k=(1-t)/6}vn.prototype={areaStart:rr,areaEnd:rr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:jo(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const nk=(function e(t){function r(i){return new vn(i,t)}return r.tension=function(i){return e(+i)},r})(0);function Bn(e,t){this._context=e,this._k=(1-t)/6}Bn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,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:jo(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const lk=(function e(t){function r(i){return new Bn(i,t)}return r.tension=function(i){return e(+i)},r})(0);function Ln(e,t,r){var i=e._x1,o=e._y1,s=e._x2,a=e._y2;if(e._l01_a>uh){var n=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);i=(i*n-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,o=(o*n-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>uh){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,h=3*e._l23_a*(e._l23_a+e._l12_a);s=(s*c+e._x1*e._l23_2a-t*e._l12_2a)/h,a=(a*c+e._y1*e._l23_2a-r*e._l12_2a)/h}e._context.bezierCurveTo(i,o,s,a,e._x2,e._y2)}function Cd(e,t){this._context=e,this._alpha=t}Cd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Ln(this,e,t);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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const xd=(function e(t){function r(i){return t?new Cd(i,t):new _n(i,0)}return r.alpha=function(i){return e(+i)},r})(.5);function bd(e,t){this._context=e,this._alpha=t}bd.prototype={areaStart:rr,areaEnd:rr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Ln(this,e,t);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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const hk=(function e(t){function r(i){return t?new bd(i,t):new vn(i,0)}return r.alpha=function(i){return e(+i)},r})(.5);function kd(e,t){this._context=e,this._alpha=t}kd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,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:Ln(this,e,t);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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const ck=(function e(t){function r(i){return t?new kd(i,t):new Bn(i,0)}return r.alpha=function(i){return e(+i)},r})(.5);function Td(e){this._context=e}Td.prototype={areaStart:rr,areaEnd:rr,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function dk(e){return new Td(e)}function ph(e){return e<0?-1:1}function gh(e,t,r){var i=e._x1-e._x0,o=t-e._x1,s=(e._y1-e._y0)/(i||o<0&&-0),a=(r-e._y1)/(o||i<0&&-0),n=(s*o+a*i)/(i+o);return(ph(s)+ph(a))*Math.min(Math.abs(s),Math.abs(a),.5*Math.abs(n))||0}function mh(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Zs(e,t,r){var i=e._x0,o=e._y0,s=e._x1,a=e._y1,n=(s-i)/3;e._context.bezierCurveTo(i+n,o+n*t,s-n,a-n*r,s,a)}function Go(e){this._context=e}Go.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Zs(this,this._t0,mh(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Zs(this,mh(this,r=gh(this,e,t)),r);break;default:Zs(this,this._t0,r=gh(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function wd(e){this._context=new Sd(e)}(wd.prototype=Object.create(Go.prototype)).point=function(e,t){Go.prototype.point.call(this,t,e)};function Sd(e){this._context=e}Sd.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,i,o,s){this._context.bezierCurveTo(t,e,i,r,s,o)}};function _d(e){return new Go(e)}function vd(e){return new wd(e)}function Bd(e){this._context=e}Bd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var i=yh(e),o=yh(t),s=0,a=1;a=0;--t)o[t]=(a[t]-o[t+1])/s[t];for(s[r-1]=(e[r]+o[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function Fd(e){return new ys(e,.5)}function Ad(e){return new ys(e,0)}function Ed(e){return new ys(e,1)}function Ti(e,t,r){this.k=e,this.x=t,this.y=r}Ti.prototype={constructor:Ti,scale:function(e){return e===1?this:new Ti(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ti(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Ti.prototype;var uk=p(e=>{const{securityLevel:t}=yt();let r=lt("body");if(t==="sandbox"){const s=lt(`#i${e}`).node()?.contentDocument??document;r=lt(s.body)}return r.select(`#${e}`)},"selectSvgElement");function Fn(e){return typeof e>"u"||e===null}p(Fn,"isNothing");function Md(e){return typeof e=="object"&&e!==null}p(Md,"isObject");function $d(e){return Array.isArray(e)?e:Fn(e)?[]:[e]}p($d,"toArray");function Od(e,t){var r,i,o,s;if(t)for(s=Object.keys(t),r=0,i=s.length;rn&&(s=" ... ",t=i-n+s.length),r-i>n&&(a=" ...",r=i+n-a.length),{str:s+e.slice(t,r).replace(/\t/g,"→")+a,pos:i-t+s.length}}p(vo,"getLine");function Bo(e,t){return Dt.repeat(" ",t-e.length)+e}p(Bo,"padStart");function Rd(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var r=/\r?\n|\r|\0/g,i=[0],o=[],s,a=-1;s=r.exec(e.buffer);)o.push(s.index),i.push(s.index+s[0].length),e.position<=s.index&&a<0&&(a=i.length-2);a<0&&(a=i.length-1);var n="",l,c,h=Math.min(e.line+t.linesAfter,o.length).toString().length,d=t.maxLength-(t.indent+h+3);for(l=1;l<=t.linesBefore&&!(a-l<0);l++)c=vo(e.buffer,i[a-l],o[a-l],e.position-(i[a]-i[a-l]),d),n=Dt.repeat(" ",t.indent)+Bo((e.line-l+1).toString(),h)+" | "+c.str+` +`+n;for(c=vo(e.buffer,i[a],o[a],e.position,d),n+=Dt.repeat(" ",t.indent)+Bo((e.line+1).toString(),h)+" | "+c.str+` +`,n+=Dt.repeat("-",t.indent+h+3+c.pos)+`^ +`,l=1;l<=t.linesAfter&&!(a+l>=o.length);l++)c=vo(e.buffer,i[a+l],o[a+l],e.position-(i[a]-i[a+l]),d),n+=Dt.repeat(" ",t.indent)+Bo((e.line+l+1).toString(),h)+" | "+c.str+` +`;return n.replace(/\n$/,"")}p(Rd,"makeSnippet");var xk=Rd,bk=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],kk=["scalar","sequence","mapping"];function Pd(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(i){t[String(i)]=r})}),t}p(Pd,"compileStyleAliases");function Nd(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(bk.indexOf(r)===-1)throw new re('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=Pd(t.styleAliases||null),kk.indexOf(this.kind)===-1)throw new re('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}p(Nd,"Type$1");var Ut=Nd;function Ba(e,t){var r=[];return e[t].forEach(function(i){var o=r.length;r.forEach(function(s,a){s.tag===i.tag&&s.kind===i.kind&&s.multi===i.multi&&(o=a)}),r[o]=i}),r}p(Ba,"compileList");function qd(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,r;function i(o){o.multi?(e.multi[o.kind].push(o),e.multi.fallback.push(o)):e[o.kind][o.tag]=e.fallback[o.tag]=o}for(p(i,"collectType"),t=0,r=arguments.length;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},"binary"),octal:p(function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},"octal"),decimal:p(function(e){return e.toString(10)},"decimal"),hexadecimal:p(function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Ak=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Jd(e){return!(e===null||!Ak.test(e)||e[e.length-1]==="_")}p(Jd,"resolveYamlFloat");function tu(e){var t,r;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:r*parseFloat(t,10)}p(tu,"constructYamlFloat");var Ek=/^[-+]?[0-9]+e/;function eu(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Dt.isNegativeZero(e))return"-0.0";return r=e.toString(10),Ek.test(r)?r.replace("e",".e"):r}p(eu,"representYamlFloat");function ru(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Dt.isNegativeZero(e))}p(ru,"isFloat");var Mk=new Ut("tag:yaml.org,2002:float",{kind:"scalar",resolve:Jd,construct:tu,predicate:ru,represent:eu,defaultStyle:"lowercase"}),iu=vk.extend({implicit:[Bk,Lk,Fk,Mk]}),$k=iu,ou=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),su=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function au(e){return e===null?!1:ou.exec(e)!==null||su.exec(e)!==null}p(au,"resolveYamlTimestamp");function nu(e){var t,r,i,o,s,a,n,l=0,c=null,h,d,f;if(t=ou.exec(e),t===null&&(t=su.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],i=+t[2]-1,o=+t[3],!t[4])return new Date(Date.UTC(r,i,o));if(s=+t[4],a=+t[5],n=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(h=+t[10],d=+(t[11]||0),c=(h*60+d)*6e4,t[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,o,s,a,n,l)),c&&f.setTime(f.getTime()-c),f}p(nu,"constructYamlTimestamp");function lu(e){return e.toISOString()}p(lu,"representYamlTimestamp");var Ok=new Ut("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:au,construct:nu,instanceOf:Date,represent:lu});function hu(e){return e==="<<"||e===null}p(hu,"resolveYamlMerge");var Ik=new Ut("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hu}),En=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function cu(e){if(e===null)return!1;var t,r,i=0,o=e.length,s=En;for(r=0;r64)){if(t<0)return!1;i+=6}return i%8===0}p(cu,"resolveYamlBinary");function du(e){var t,r,i=e.replace(/[\r\n=]/g,""),o=i.length,s=En,a=0,n=[];for(t=0;t>16&255),n.push(a>>8&255),n.push(a&255)),a=a<<6|s.indexOf(i.charAt(t));return r=o%4*6,r===0?(n.push(a>>16&255),n.push(a>>8&255),n.push(a&255)):r===18?(n.push(a>>10&255),n.push(a>>2&255)):r===12&&n.push(a>>4&255),new Uint8Array(n)}p(du,"constructYamlBinary");function uu(e){var t="",r=0,i,o,s=e.length,a=En;for(i=0;i>18&63],t+=a[r>>12&63],t+=a[r>>6&63],t+=a[r&63]),r=(r<<8)+e[i];return o=s%3,o===0?(t+=a[r>>18&63],t+=a[r>>12&63],t+=a[r>>6&63],t+=a[r&63]):o===2?(t+=a[r>>10&63],t+=a[r>>4&63],t+=a[r<<2&63],t+=a[64]):o===1&&(t+=a[r>>2&63],t+=a[r<<4&63],t+=a[64],t+=a[64]),t}p(uu,"representYamlBinary");function fu(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}p(fu,"isBinary");var Dk=new Ut("tag:yaml.org,2002:binary",{kind:"scalar",resolve:cu,construct:du,predicate:fu,represent:uu}),Rk=Object.prototype.hasOwnProperty,Pk=Object.prototype.toString;function pu(e){if(e===null)return!0;var t=[],r,i,o,s,a,n=e;for(r=0,i=n.length;r>10)+55296,(e-65536&1023)+56320)}p(Lu,"charFromCodepoint");function Mn(e,t,r){t==="__proto__"?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:r}):e[t]=r}p(Mn,"setProperty");var Fu=new Array(256),Au=new Array(256);for(cr=0;cr<256;cr++)Fu[cr]=Fa(cr)?1:0,Au[cr]=Fa(cr);var cr;function Eu(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||bu,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}p(Eu,"State$1");function $n(e,t){var r={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return r.snippet=xk(r),new re(t,r)}p($n,"generateError");function J(e,t){throw $n(e,t)}p(J,"throwError");function Pi(e,t){e.onWarning&&e.onWarning.call(null,$n(e,t))}p(Pi,"throwWarning");var xh={YAML:p(function(t,r,i){var o,s,a;t.version!==null&&J(t,"duplication of %YAML directive"),i.length!==1&&J(t,"YAML directive accepts exactly one argument"),o=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),o===null&&J(t,"ill-formed argument of the YAML directive"),s=parseInt(o[1],10),a=parseInt(o[2],10),s!==1&&J(t,"unacceptable YAML version of the document"),t.version=i[0],t.checkLineBreaks=a<2,a!==1&&a!==2&&Pi(t,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:p(function(t,r,i){var o,s;i.length!==2&&J(t,"TAG directive accepts exactly two arguments"),o=i[0],s=i[1],wu.test(o)||J(t,"ill-formed tag handle (first argument) of the TAG directive"),ir.call(t.tagMap,o)&&J(t,'there is a previously declared suffix for "'+o+'" tag handle'),Su.test(s)||J(t,"ill-formed tag prefix (second argument) of the TAG directive");try{s=decodeURIComponent(s)}catch{J(t,"tag prefix is malformed: "+s)}t.tagMap[o]=s},"handleTagDirective")};function ze(e,t,r,i){var o,s,a,n;if(t1&&(e.result+=Dt.repeat(` +`,t-1))}p(xs,"writeFoldedLines");function Mu(e,t,r){var i,o,s,a,n,l,c,h,d=e.kind,f=e.result,u;if(u=e.input.charCodeAt(e.position),Vt(u)||mr(u)||u===35||u===38||u===42||u===33||u===124||u===62||u===39||u===34||u===37||u===64||u===96||(u===63||u===45)&&(o=e.input.charCodeAt(e.position+1),Vt(o)||r&&mr(o)))return!1;for(e.kind="scalar",e.result="",s=a=e.position,n=!1;u!==0;){if(u===58){if(o=e.input.charCodeAt(e.position+1),Vt(o)||r&&mr(o))break}else if(u===35){if(i=e.input.charCodeAt(e.position-1),Vt(i))break}else{if(e.position===e.lineStart&&Vi(e)||r&&mr(u))break;if(Ce(u))if(l=e.line,c=e.lineStart,h=e.lineIndent,At(e,!1,-1),e.lineIndent>=t){n=!0,u=e.input.charCodeAt(e.position);continue}else{e.position=a,e.line=l,e.lineStart=c,e.lineIndent=h;break}}n&&(ze(e,s,a,!1),xs(e,e.line-l),s=a=e.position,n=!1),er(u)||(a=e.position+1),u=e.input.charCodeAt(++e.position)}return ze(e,s,a,!1),e.result?!0:(e.kind=d,e.result=f,!1)}p(Mu,"readPlainScalar");function $u(e,t){var r,i,o;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,i=o=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(ze(e,i,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)i=e.position,e.position++,o=e.position;else return!0;else Ce(r)?(ze(e,i,o,!0),xs(e,At(e,!1,t)),i=o=e.position):e.position===e.lineStart&&Vi(e)?J(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);J(e,"unexpected end of the stream within a single quoted scalar")}p($u,"readSingleQuotedScalar");function Ou(e,t){var r,i,o,s,a,n;if(n=e.input.charCodeAt(e.position),n!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;(n=e.input.charCodeAt(e.position))!==0;){if(n===34)return ze(e,r,e.position,!0),e.position++,!0;if(n===92){if(ze(e,r,e.position,!0),n=e.input.charCodeAt(++e.position),Ce(n))At(e,!1,t);else if(n<256&&Fu[n])e.result+=Au[n],e.position++;else if((a=vu(n))>0){for(o=a,s=0;o>0;o--)n=e.input.charCodeAt(++e.position),(a=_u(n))>=0?s=(s<<4)+a:J(e,"expected hexadecimal character");e.result+=Lu(s),e.position++}else J(e,"unknown escape sequence");r=i=e.position}else Ce(n)?(ze(e,r,i,!0),xs(e,At(e,!1,t)),r=i=e.position):e.position===e.lineStart&&Vi(e)?J(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}J(e,"unexpected end of the stream within a double quoted scalar")}p(Ou,"readDoubleQuotedScalar");function Iu(e,t){var r=!0,i,o,s,a=e.tag,n,l=e.anchor,c,h,d,f,u,g=Object.create(null),m,y,C,b;if(b=e.input.charCodeAt(e.position),b===91)h=93,u=!1,n=[];else if(b===123)h=125,u=!0,n={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=n),b=e.input.charCodeAt(++e.position);b!==0;){if(At(e,!0,t),b=e.input.charCodeAt(e.position),b===h)return e.position++,e.tag=a,e.anchor=l,e.kind=u?"mapping":"sequence",e.result=n,!0;r?b===44&&J(e,"expected the node content, but found ','"):J(e,"missed comma between flow collection entries"),y=m=C=null,d=f=!1,b===63&&(c=e.input.charCodeAt(e.position+1),Vt(c)&&(d=f=!0,e.position++,At(e,!0,t))),i=e.line,o=e.lineStart,s=e.position,Tr(e,t,Vo,!1,!0),y=e.tag,m=e.result,At(e,!0,t),b=e.input.charCodeAt(e.position),(f||e.line===i)&&b===58&&(d=!0,b=e.input.charCodeAt(++e.position),At(e,!0,t),Tr(e,t,Vo,!1,!0),C=e.result),u?yr(e,n,g,y,m,C,i,o,s):d?n.push(yr(e,null,g,y,m,C,i,o,s)):n.push(m),At(e,!0,t),b=e.input.charCodeAt(e.position),b===44?(r=!0,b=e.input.charCodeAt(++e.position)):r=!1}J(e,"unexpected end of the stream within a flow collection")}p(Iu,"readFlowCollection");function Du(e,t){var r,i,o=Ks,s=!1,a=!1,n=t,l=0,c=!1,h,d;if(d=e.input.charCodeAt(e.position),d===124)i=!1;else if(d===62)i=!0;else return!1;for(e.kind="scalar",e.result="";d!==0;)if(d=e.input.charCodeAt(++e.position),d===43||d===45)Ks===o?o=d===43?Ch:Yk:J(e,"repeat of a chomping mode identifier");else if((h=Bu(d))>=0)h===0?J(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?J(e,"repeat of an indentation width identifier"):(n=t+h-1,a=!0);else break;if(er(d)){do d=e.input.charCodeAt(++e.position);while(er(d));if(d===35)do d=e.input.charCodeAt(++e.position);while(!Ce(d)&&d!==0)}for(;d!==0;){for(Cs(e),e.lineIndent=0,d=e.input.charCodeAt(e.position);(!a||e.lineIndentn&&(n=e.lineIndent),Ce(d)){l++;continue}if(e.lineIndentt)&&l!==0)J(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(y&&(a=e.line,n=e.lineStart,l=e.position),Tr(e,t,Zo,!0,o)&&(y?g=e.result:m=e.result),y||(yr(e,d,f,u,g,m,a,n,l),u=g=m=null),At(e,!0,-1),b=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&b!==0)J(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),d=0,f=e.implicitTypes.length;d"),e.result!==null&&g.kind!==e.kind&&J(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+g.kind+'", not "'+e.kind+'"'),g.resolve(e.result,e.tag)?(e.result=g.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):J(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||h}p(Tr,"composeNode");function Wu(e){var t=e.position,r,i,o,s=!1,a;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(a=e.input.charCodeAt(e.position))!==0&&(At(e,!0,-1),a=e.input.charCodeAt(e.position),!(e.lineIndent>0||a!==37));){for(s=!0,a=e.input.charCodeAt(++e.position),r=e.position;a!==0&&!Vt(a);)a=e.input.charCodeAt(++e.position);for(i=e.input.slice(r,e.position),o=[],i.length<1&&J(e,"directive name must not be less than one character in length");a!==0;){for(;er(a);)a=e.input.charCodeAt(++e.position);if(a===35){do a=e.input.charCodeAt(++e.position);while(a!==0&&!Ce(a));break}if(Ce(a))break;for(r=e.position;a!==0&&!Vt(a);)a=e.input.charCodeAt(++e.position);o.push(e.input.slice(r,e.position))}a!==0&&Cs(e),ir.call(xh,i)?xh[i](e,i,o):Pi(e,'unknown document directive "'+i+'"')}if(At(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,At(e,!0,-1)):s&&J(e,"directives end mark is expected"),Tr(e,e.lineIndent-1,Zo,!1,!0),At(e,!0,-1),e.checkLineBreaks&&jk.test(e.input.slice(t,e.position))&&Pi(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Vi(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,At(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var i=On(e,r);if(typeof t!="function")return i;for(var o=0,s=i.length;o=55296&&r<=56319&&t+1=56320&&i<=57343)?(r-55296)*1024+i-56320+65536:r}p(Yr,"codePointAt");function Dn(e){var t=/^\n* /;return t.test(e)}p(Dn,"needIndentIndicator");var rf=1,Da=2,of=3,sf=4,Wr=5;function af(e,t,r,i,o,s,a,n){var l,c=0,h=null,d=!1,f=!1,u=i!==-1,g=-1,m=tf(Yr(e,0))&&ef(Yr(e,e.length-1));if(t||a)for(l=0;l=65536?l+=2:l++){if(c=Yr(e,l),!ti(c))return Wr;m=m&&Ia(c,h,n),h=c}else{for(l=0;l=65536?l+=2:l++){if(c=Yr(e,l),c===Ni)d=!0,u&&(f=f||l-g-1>i&&e[g+1]!==" ",g=l);else if(!ti(c))return Wr;m=m&&Ia(c,h,n),h=c}f=f||u&&l-g-1>i&&e[g+1]!==" "}return!d&&!f?m&&!a&&!o(e)?rf:s===qi?Wr:Da:r>9&&Dn(e)?Wr:a?s===qi?Wr:Da:f?sf:of}p(af,"chooseScalarStyle");function nf(e,t,r,i,o){e.dump=(function(){if(t.length===0)return e.quotingType===qi?'""':"''";if(!e.noCompatMode&&(f1.indexOf(t)!==-1||p1.test(t)))return e.quotingType===qi?'"'+t+'"':"'"+t+"'";var s=e.indent*Math.max(1,r),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-s),n=i||e.flowLevel>-1&&r>=e.flowLevel;function l(c){return Ju(e,c)}switch(p(l,"testAmbiguity"),af(t,n,e.indent,a,l,e.quotingType,e.forceQuotes&&!i,o)){case rf:return t;case Da:return"'"+t.replace(/'/g,"''")+"'";case of:return"|"+Ra(t,e.indent)+Pa($a(t,s));case sf:return">"+Ra(t,e.indent)+Pa($a(lf(t,a),s));case Wr:return'"'+hf(t)+'"';default:throw new re("impossible error: invalid scalar style")}})()}p(nf,"writeScalar");function Ra(e,t){var r=Dn(e)?String(t):"",i=e[e.length-1]===` +`,o=i&&(e[e.length-2]===` +`||e===` +`),s=o?"+":i?"":"-";return r+s+` +`}p(Ra,"blockHeader");function Pa(e){return e[e.length-1]===` +`?e.slice(0,-1):e}p(Pa,"dropEndingNewline");function lf(e,t){for(var r=/(\n+)([^\n]*)/g,i=(function(){var c=e.indexOf(` +`);return c=c!==-1?c:e.length,r.lastIndex=c,Na(e.slice(0,c),t)})(),o=e[0]===` +`||e[0]===" ",s,a;a=r.exec(e);){var n=a[1],l=a[2];s=l[0]===" ",i+=n+(!o&&!s&&l!==""?` +`:"")+Na(l,t),o=s}return i}p(lf,"foldString");function Na(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,i,o=0,s,a=0,n=0,l="";i=r.exec(e);)n=i.index,n-o>t&&(s=a>o?a:n,l+=` +`+e.slice(o,s),o=s+1),a=n;return l+=` +`,e.length-o>t&&a>o?l+=e.slice(o,a)+` +`+e.slice(a+1):l+=e.slice(o),l.slice(1)}p(Na,"foldLine");function hf(e){for(var t="",r=0,i,o=0;o=65536?o+=2:o++)r=Yr(e,o),i=jt[r],!i&&ti(r)?(t+=e[o],r>=65536&&(t+=e[o+1])):t+=i||Ku(r);return t}p(hf,"escapeString");function cf(e,t,r){var i="",o=e.tag,s,a,n;for(s=0,a=r.length;s"u"&&Me(e,t,null,!1,!1))&&(i!==""&&(i+=","+(e.condenseFlow?"":" ")),i+=e.dump);e.tag=o,e.dump="["+i+"]"}p(cf,"writeFlowSequence");function qa(e,t,r,i){var o="",s=e.tag,a,n,l;for(a=0,n=r.length;a"u"&&Me(e,t+1,null,!0,!0,!1,!0))&&((!i||o!=="")&&(o+=Qo(e,t)),e.dump&&Ni===e.dump.charCodeAt(0)?o+="-":o+="- ",o+=e.dump);e.tag=s,e.dump=o||"[]"}p(qa,"writeBlockSequence");function df(e,t,r){var i="",o=e.tag,s=Object.keys(r),a,n,l,c,h;for(a=0,n=s.length;a1024&&(h+="? "),h+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Me(e,t,c,!1,!1)&&(h+=e.dump,i+=h));e.tag=o,e.dump="{"+i+"}"}p(df,"writeFlowMapping");function uf(e,t,r,i){var o="",s=e.tag,a=Object.keys(r),n,l,c,h,d,f;if(e.sortKeys===!0)a.sort();else if(typeof e.sortKeys=="function")a.sort(e.sortKeys);else if(e.sortKeys)throw new re("sortKeys must be a boolean or a function");for(n=0,l=a.length;n1024,d&&(e.dump&&Ni===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,d&&(f+=Qo(e,t)),Me(e,t+1,h,!0,d)&&(e.dump&&Ni===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,o+=f));e.tag=s,e.dump=o||"{}"}p(uf,"writeBlockMapping");function Wa(e,t,r){var i,o,s,a,n,l;for(o=r?e.explicitTypes:e.implicitTypes,s=0,a=o.length;s tag resolver accepts not "'+l+'" style');e.dump=i}return!0}return!1}p(Wa,"detectType");function Me(e,t,r,i,o,s,a){e.tag=null,e.dump=r,Wa(e,r,!1)||Wa(e,r,!0);var n=Hu.call(e.dump),l=i,c;i&&(i=e.flowLevel<0||e.flowLevel>t);var h=n==="[object Object]"||n==="[object Array]",d,f;if(h&&(d=e.duplicates.indexOf(r),f=d!==-1),(e.tag!==null&&e.tag!=="?"||f||e.indent!==2&&t>0)&&(o=!1),f&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&f&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),n==="[object Object]")i&&Object.keys(e.dump).length!==0?(uf(e,t,e.dump,o),f&&(e.dump="&ref_"+d+e.dump)):(df(e,t,e.dump),f&&(e.dump="&ref_"+d+" "+e.dump));else if(n==="[object Array]")i&&e.dump.length!==0?(e.noArrayIndent&&!a&&t>0?qa(e,t-1,e.dump,o):qa(e,t,e.dump,o),f&&(e.dump="&ref_"+d+e.dump)):(cf(e,t,e.dump),f&&(e.dump="&ref_"+d+" "+e.dump));else if(n==="[object String]")e.tag!=="?"&&nf(e,e.dump,t,s,l);else{if(n==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new re("unacceptable kind of an object to dump "+n)}e.tag!==null&&e.tag!=="?"&&(c=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?c="!"+c:c.slice(0,18)==="tag:yaml.org,2002:"?c="!!"+c.slice(18):c="!<"+c+">",e.dump=c+" "+e.dump)}return!0}p(Me,"writeNode");function ff(e,t){var r=[],i=[],o,s;for(Jo(e,r,i),o=0,s=i.length;o{if(t)return"translate("+-e.width/2+", "+-e.height/2+")";const r=e.x??0,i=e.y??0;return"translate("+-(r+e.width/2)+", "+-(i+e.height/2)+")"},"computeLabelTransform"),Yt={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},bh={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function wi(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=St(e),t=St(t);const[r,i]=[e.x,e.y],[o,s]=[t.x,t.y],a=o-r,n=s-i;return{angle:Math.atan(n/a),deltaX:a,deltaY:n}}p(wi,"calculateDeltaAndAngle");var St=p(e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,"pointTransformer"),b1=p(e=>({x:p(function(t,r,i){let o=0;const s=St(i[0]).x=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(Yt,e.arrowTypeEnd)){const{angle:u,deltaX:g}=wi(i[i.length-1],i[i.length-2]);o=Yt[e.arrowTypeEnd]*Math.cos(u)*(g>=0?1:-1)}const a=Math.abs(St(t).x-St(i[i.length-1]).x),n=Math.abs(St(t).y-St(i[i.length-1]).y),l=Math.abs(St(t).x-St(i[0]).x),c=Math.abs(St(t).y-St(i[0]).y),h=Yt[e.arrowTypeStart],d=Yt[e.arrowTypeEnd],f=1;if(a0&&n0&&c=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(Yt,e.arrowTypeEnd)){const{angle:u,deltaY:g}=wi(i[i.length-1],i[i.length-2]);o=Yt[e.arrowTypeEnd]*Math.abs(Math.sin(u))*(g>=0?1:-1)}const a=Math.abs(St(t).y-St(i[i.length-1]).y),n=Math.abs(St(t).x-St(i[i.length-1]).x),l=Math.abs(St(t).y-St(i[0]).y),c=Math.abs(St(t).x-St(i[0]).x),h=Yt[e.arrowTypeStart],d=Yt[e.arrowTypeEnd],f=1;if(a0&&n0&&c-1}function r(a){var n=a.replace(e.ctrlCharactersRegex,"");return n.replace(e.htmlEntitiesRegex,function(l,c){return String.fromCharCode(c)})}function i(a){return URL.canParse(a)}function o(a){try{return decodeURIComponent(a)}catch{return a}}function s(a){if(!a)return e.BLANK_URL;var n,l=o(a.trim());do l=r(l).replace(e.htmlCtrlEntityRegex,"").replace(e.ctrlCharactersRegex,"").replace(e.whitespaceEscapeCharsRegex,"").trim(),l=o(l),n=l.match(e.ctrlCharactersRegex)||l.match(e.htmlEntitiesRegex)||l.match(e.htmlCtrlEntityRegex)||l.match(e.whitespaceEscapeCharsRegex);while(n&&n.length>0);var c=l;if(!c)return e.BLANK_URL;if(t(c))return c;var h=c.trimStart(),d=h.match(e.urlSchemeRegex);if(!d)return c;var f=d[0].toLowerCase().trim();if(e.invalidProtocolRegex.test(f))return e.BLANK_URL;var u=h.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return u;if(f==="http:"||f==="https:"){if(!i(u))return e.BLANK_URL;var g=new URL(u);return g.protocol=g.protocol.toLowerCase(),g.hostname=g.hostname.toLowerCase(),g.toString()}return u}return uo}var w1=T1();function Qs(e){if(typeof e!="object"||e==null)return!1;if(Object.getPrototypeOf(e)===null)return!0;if(Object.prototype.toString.call(e)!=="[object Object]"){const r=e[Symbol.toStringTag];return r==null||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable?!1:e.toString()===`[object ${r}]`}let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function S1(){}function pf(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function Rn(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const _1="[object RegExp]",gf="[object String]",mf="[object Number]",yf="[object Boolean]",Cf="[object Arguments]",v1="[object Symbol]",B1="[object Date]",L1="[object Map]",F1="[object Set]",A1="[object Array]",E1="[object ArrayBuffer]",M1="[object Object]",$1="[object DataView]",O1="[object Uint8Array]",I1="[object Uint8ClampedArray]",D1="[object Uint16Array]",R1="[object Uint32Array]",P1="[object Int8Array]",N1="[object Int16Array]",q1="[object Int32Array]",W1="[object Float32Array]",z1="[object Float64Array]",wh=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})()||Function("return this")();function Pn(e){return typeof wh.Buffer<"u"&&wh.Buffer.isBuffer(e)}function H1(e){return Number.isSafeInteger(e)&&e>=0}function xf(e){return e!=null&&typeof e!="function"&&H1(e.length)}function Y1(e){return e==="__proto__"}function Nn(e){return e==null||typeof e!="object"&&typeof e!="function"}function qn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function U1(e,t){return Ur(e,void 0,e,new Map,t)}function Ur(e,t,r,i=new Map,o=void 0){const s=o?.(e,t,r,i);if(s!==void 0)return s;if(Nn(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){const a=new Array(e.length);i.set(e,a);for(let n=0;n{if(typeof e=="object"){if(Rn(e)==="[object Object]"&&typeof e.constructor!="function"){const a={};return s.set(e,a),fe(a,e,o,s),a}switch(Object.prototype.toString.call(e)){case mf:case gf:case yf:{const a=new e.constructor(e?.valueOf());return fe(a,e),a}case Cf:{const a={};return fe(a,e),a.length=e.length,a[Symbol.iterator]=e[Symbol.iterator],a}default:return}}})}function Sh(e){return G1(e)}function za(e){return e!==null&&typeof e=="object"&&Rn(e)==="[object Arguments]"}function Ha(e){return typeof e=="object"&&e!==null}function X1(e){return Ha(e)&&xf(e)}function Zi(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError("Expected a function");const r=function(...i){const o=t?t.apply(this,i):i[0],s=r.cache;if(s.has(o))return s.get(o);const a=e.apply(this,i);return r.cache=s.set(o,a)||s,a};return r.cache=new(Zi.Cache||Map),r}Zi.Cache=Map;function Lo(e){return qn(e)}function V1(e){const t=e?.constructor;return e===(typeof t=="function"?t.prototype:Object.prototype)}function Z1(e){if(Nn(e))return e;if(Array.isArray(e)||qn(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);const t=Object.getPrototypeOf(e);if(t==null)return Object.assign(Object.create(t),e);const r=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new r(e);if(e instanceof RegExp){const i=new r(e);return i.lastIndex=e.lastIndex,i}if(e instanceof DataView)return new r(e.buffer.slice(0));if(e instanceof Error){let i;return e instanceof AggregateError?i=new r(e.errors,e.message,{cause:e.cause}):i=new r(e.message,{cause:e.cause}),i.stack=e.stack,Object.assign(i,e),i}return typeof File<"u"&&e instanceof File?new r([e],e.name,{type:e.type,lastModified:e.lastModified}):typeof e=="object"?Object.assign(Object.create(t),e):e}function K1(e,...t){const r=t.slice(0,-1),i=t[t.length-1];let o=e;for(let s=0;sr!=="constructor").length===0:t.length===0}return!0}var J1="​",t2={curveBasis:va,curveBasisClosed:ok,curveBasisOpen:sk,curveBumpX:ud,curveBumpY:fd,curveBundle:ak,curveCardinalClosed:nk,curveCardinalOpen:lk,curveCardinal:yd,curveCatmullRomClosed:hk,curveCatmullRomOpen:ck,curveCatmullRom:xd,curveLinear:Ai,curveLinearClosed:dk,curveMonotoneX:_d,curveMonotoneY:vd,curveNatural:Ld,curveStep:Fd,curveStepAfter:Ed,curveStepBefore:Ad},e2=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,r2=p(function(e,t){const r=bf(e,/(?:init\b)|(?:initialize\b)/);let i={};if(Array.isArray(r)){const a=r.map(n=>n.args);Oo(a),i=It(i,[...a])}else i=r.args;if(!i)return;let o=dn(e,t);const s="config";return i[s]!==void 0&&(o==="flowchart-v2"&&(o="flowchart"),i[o]=i[s],delete i[s]),i},"detectInit"),bf=p(function(e,t=null){try{const r=new RegExp(`[%]{2}(?![{]${e2.source})(?=[}][%]{2}).* +`,"ig");e=e.trim().replace(r,"").replace(/'/gm,'"'),N.debug(`Detecting diagram directive${t!==null?" type:"+t:""} based on the text:${e}`);let i;const o=[];for(;(i=Li.exec(e))!==null;)if(i.index===Li.lastIndex&&Li.lastIndex++,i&&!t||t&&i[1]?.match(t)||t&&i[2]?.match(t)){const s=i[1]?i[1]:i[2],a=i[3]?i[3].trim():i[4]?JSON.parse(i[4].trim()):null;o.push({type:s,args:a})}return o.length===0?{type:e,args:null}:o.length===1?o[0]:o}catch(r){return N.error(`ERROR: ${r.message} - Unable to parse directive type: '${t}' based on the text: '${e}'`),{type:void 0,args:null}}},"detectDirective"),i2=p(function(e){return e.replace(Li,"")},"removeDirectives"),o2=p(function(e,t){for(const[r,i]of t.entries())if(i.match(e))return r;return-1},"isSubstringInArray");function Wn(e,t){if(!e)return t;const r=`curve${e.charAt(0).toUpperCase()+e.slice(1)}`;return t2[r]??t}p(Wn,"interpolateToCurve");function kf(e,t){const r=e.trim();if(r)return t.securityLevel!=="loose"?w1.sanitizeUrl(r):r}p(kf,"formatUrl");var s2=p((e,...t)=>{const r=e.split("."),i=r.length-1,o=r[i];let s=window;for(let a=0;a{r+=zn(o,t),t=o});const i=r/2;return Hn(e,i)}p(Tf,"traverseEdge");function wf(e){return e.length===1?e[0]:Tf(e)}p(wf,"calcLabelPosition");var vh=p((e,t=2)=>{const r=Math.pow(10,t);return Math.round(e*r)/r},"roundNumber"),Hn=p((e,t)=>{let r,i=t;for(const o of e){if(r){const s=zn(o,r);if(s===0)return r;if(s=1)return{x:o.x,y:o.y};if(a>0&&a<1)return{x:vh((1-a)*r.x+a*o.x,5),y:vh((1-a)*r.y+a*o.y,5)}}}r=o}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),a2=p((e,t,r)=>{N.info(`our points ${JSON.stringify(t)}`),t[0]!==r&&(t=t.reverse());const o=Hn(t,25),s=e?10:5,a=Math.atan2(t[0].y-o.y,t[0].x-o.x),n={x:0,y:0};return n.x=Math.sin(a)*s+(t[0].x+o.x)/2,n.y=-Math.cos(a)*s+(t[0].y+o.y)/2,n},"calcCardinalityPosition");function Sf(e,t,r){const i=structuredClone(r);N.info("our points",i),t!=="start_left"&&t!=="start_right"&&i.reverse();const o=25+e,s=Hn(i,o),a=10+e*.5,n=Math.atan2(i[0].y-s.y,i[0].x-s.x),l={x:0,y:0};return t==="start_left"?(l.x=Math.sin(n+Math.PI)*a+(i[0].x+s.x)/2,l.y=-Math.cos(n+Math.PI)*a+(i[0].y+s.y)/2):t==="end_right"?(l.x=Math.sin(n-Math.PI)*a+(i[0].x+s.x)/2-5,l.y=-Math.cos(n-Math.PI)*a+(i[0].y+s.y)/2-5):t==="end_left"?(l.x=Math.sin(n)*a+(i[0].x+s.x)/2-5,l.y=-Math.cos(n)*a+(i[0].y+s.y)/2-5):(l.x=Math.sin(n)*a+(i[0].x+s.x)/2,l.y=-Math.cos(n)*a+(i[0].y+s.y)/2),l}p(Sf,"calcTerminalLabelPosition");function _f(e){let t="",r="";for(const i of e)i!==void 0&&(i.startsWith("color:")||i.startsWith("text-align:")?r=r+i+";":t=t+i+";");return{style:t,labelStyle:r}}p(_f,"getStylesFromArray");var Bh=0,n2=p(()=>(Bh++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Bh),"generateId");function vf(e){let t="";const r="0123456789abcdef",i=r.length;for(let o=0;ovf(e.length),"random"),h2=p(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"),c2=p(function(e,t){const r=t.text.replace(ji.lineBreakRegex," "),[,i]=bs(t.fontSize),o=e.append("text");o.attr("x",t.x),o.attr("y",t.y),o.style("text-anchor",t.anchor),o.style("font-family",t.fontFamily),o.style("font-size",i),o.style("font-weight",t.fontWeight),o.attr("fill",t.fill),t.class!==void 0&&o.attr("class",t.class);const s=o.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.attr("fill",t.fill),s.text(r),o},"drawSimpleText"),d2=Zi((e,t,r)=>{if(!e||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),ji.lineBreakRegex.test(e)))return e;const i=e.split(" ").filter(Boolean),o=[];let s="";return i.forEach((a,n)=>{const l=Ye(`${a} `,r),c=Ye(s,r);if(l>t){const{hyphenatedStrings:f,remainingWord:u}=u2(a,t,"-",r);o.push(s,...f),s=u}else c+l>=t?(o.push(s),s=a):s=[s,a].filter(Boolean).join(" ");n+1===i.length&&o.push(s)}),o.filter(a=>a!=="").join(r.joinWith)},(e,t,r)=>`${e}${t}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),u2=Zi((e,t,r="-",i)=>{i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},i);const o=[...e],s=[];let a="";return o.forEach((n,l)=>{const c=`${a}${n}`;if(Ye(c,i)>=t){const d=l+1,f=o.length===d,u=`${c}${r}`;s.push(f?c:u),a=""}else a=c}),{hyphenatedStrings:s,remainingWord:a}},(e,t,r="-",i)=>`${e}${t}${r}${i.fontSize}${i.fontWeight}${i.fontFamily}`);function Bf(e,t){return Yn(e,t).height}p(Bf,"calculateTextHeight");function Ye(e,t){return Yn(e,t).width}p(Ye,"calculateTextWidth");var Yn=Zi((e,t)=>{const{fontSize:r=12,fontFamily:i="Arial",fontWeight:o=400}=t;if(!e)return{width:0,height:0};const[,s]=bs(r),a=["sans-serif",i],n=e.split(ji.lineBreakRegex),l=[],c=lt("body");if(!c.remove)return{width:0,height:0,lineHeight:0};const h=c.append("svg");for(const f of a){let u=0;const g={width:0,height:0,lineHeight:0};for(const m of n){const y=h2();y.text=m||J1;const C=c2(h,y).style("font-size",s).style("font-weight",o).style("font-family",f),b=(C._groups||C)[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)),u=Math.round(b.height),g.height+=u,g.lineHeight=Math.round(Math.max(g.lineHeight,u))}l.push(g)}h.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(e,t)=>`${e}${t.fontSize}${t.fontWeight}${t.fontFamily}`),f2=class{constructor(e=!1,t){this.count=0,this.count=t?t.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{p(this,"InitIDGenerator")}},fo,p2=p(function(e){return fo=fo||document.createElement("div"),e=escape(e).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),fo.innerHTML=e,unescape(fo.textContent)},"entityDecode");function Un(e){return"str"in e}p(Un,"isDetailedError");var g2=p((e,t,r,i)=>{if(!i)return;const o=e.node()?.getBBox();o&&e.append("text").text(i).attr("text-anchor","middle").attr("x",o.x+o.width/2).attr("y",-r).attr("class",t)},"insertTitle"),bs=p(e=>{if(typeof e=="number")return[e,e+"px"];const t=parseInt(e??"",10);return Number.isNaN(t)?[void 0,void 0]:e===String(t)?[t,e+"px"]:[t,e]},"parseFontSize");function jn(e,t){return Q1({},e,t)}p(jn,"cleanAndMerge");var ye={assignWithDepth:It,wrapLabel:d2,calculateTextHeight:Bf,calculateTextWidth:Ye,calculateTextDimensions:Yn,cleanAndMerge:jn,detectInit:r2,detectDirective:bf,isSubstringInArray:o2,interpolateToCurve:Wn,calcLabelPosition:wf,calcCardinalityPosition:a2,calcTerminalLabelPosition:Sf,formatUrl:kf,getStylesFromArray:_f,generateId:n2,random:l2,runFunc:s2,entityDecode:p2,insertTitle:g2,isLabelCoordinateInPath:Lf,parseFontSize:bs,InitIDGenerator:f2},m2=p(function(e){let t=e;return t=t.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),t=t.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),t=t.replace(/#\w+;/g,function(r){const i=r.substring(1,r.length-1);return/^\+?\d+$/.test(i)?"fl°°"+i+"¶ß":"fl°"+i+"¶ß"}),t},"encodeEntities"),wr=p(function(e){return e.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),DB=p((e,t,{counter:r=0,prefix:i,suffix:o},s)=>s||`${i?`${i}_`:""}${e}_${t}_${r}${o?`_${o}`:""}`,"getEdgeId");function Pt(e){return e??null}p(Pt,"handleUndefinedAttr");function Lf(e,t){const r=Math.round(e.x),i=Math.round(e.y),o=t.replace(/(\d+\.\d+)/g,s=>Math.round(parseFloat(s)).toString());return o.includes(r.toString())||o.includes(i.toString())}p(Lf,"isLabelCoordinateInPath");var Gn=p(({flowchart:e})=>{const t=e?.subGraphTitleMargin?.top??0,r=e?.subGraphTitleMargin?.bottom??0,i=t+r;return{subGraphTitleTopMargin:t,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:i}},"getSubGraphTitleMargins");async function Ff(e,t){const r=e.getElementsByTagName("img");if(!r||r.length===0)return;const i=t.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(o=>new Promise(s=>{function a(){if(o.style.display="flex",o.style.flexDirection="column",i){const n=yt().fontSize?yt().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[c=Sc.fontSize]=bs(n),h=c*l+"px";o.style.minWidth=h,o.style.maxWidth=h}else o.style.width="100%";s(o)}p(a,"setupImage"),setTimeout(()=>{o.complete&&a()}),o.addEventListener("error",a),o.addEventListener("load",a)})))}p(Ff,"configureLabelImages");var y2=p(e=>{const{handDrawnSeed:t}=yt();return{fill:e,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:e,seed:t}},"solidStateFill"),ii=p(e=>{const t=C2([...e.cssCompiledStyles||[],...e.cssStyles||[],...e.labelStyle||[]]);return{stylesMap:t,stylesArray:[...t]}},"compileStyles"),C2=p(e=>{const t=new Map;return e.forEach(r=>{const[i,o]=r.split(":");t.set(i.trim(),o?.trim())}),t},"styles2Map"),Af=p(e=>e==="color"||e==="font-size"||e==="font-family"||e==="font-weight"||e==="font-style"||e==="text-decoration"||e==="text-align"||e==="text-transform"||e==="line-height"||e==="letter-spacing"||e==="word-spacing"||e==="text-shadow"||e==="text-overflow"||e==="white-space"||e==="word-wrap"||e==="word-break"||e==="overflow-wrap"||e==="hyphens","isLabelStyle"),Z=p(e=>{const{stylesArray:t}=ii(e),r=[],i=[],o=[],s=[];return t.forEach(a=>{const n=a[0];Af(n)?r.push(a.join(":")+" !important"):(i.push(a.join(":")+" !important"),n.includes("stroke")&&o.push(a.join(":")+" !important"),n==="fill"&&s.push(a.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:i.join(";"),stylesArray:t,borderStyles:o,backgroundStyles:s}},"styles2String"),V=p((e,t)=>{const{themeVariables:r,handDrawnSeed:i}=yt(),{nodeBorder:o,mainBkg:s}=r,{stylesMap:a}=ii(e);return Object.assign({roughness:.7,fill:a.get("fill")||s,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:a.get("stroke")||o,seed:i,strokeWidth:a.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:x2(a.get("stroke-dasharray"))},t)},"userNodeOverrides"),x2=p(e=>{if(!e)return[0,0];const t=e.trim().split(/\s+/).map(Number);if(t.length===1){const o=isNaN(t[0])?0:t[0];return[o,o]}const r=isNaN(t[0])?0:t[0],i=isNaN(t[1])?0:t[1];return[r,i]},"getStrokeDashArray");const b2=Object.freeze({left:0,top:0,width:16,height:16}),ts=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Ef=Object.freeze({...b2,...ts}),k2=Object.freeze({...Ef,body:"",hidden:!1}),T2=Object.freeze({width:null,height:null}),w2=Object.freeze({...T2,...ts}),S2=(e,t,r,i="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;i=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const n=o.pop(),l=o.pop(),c={provider:o.length>0?o[0]:i,prefix:l,name:n};return Js(c)?c:null}const s=o[0],a=s.split("-");if(a.length>1){const n={provider:i,prefix:a.shift(),name:a.join("-")};return Js(n)?n:null}if(r&&i===""){const n={provider:i,prefix:"",name:s};return Js(n,r)?n:null}return null},Js=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1;function _2(e,t){const r={};!e.hFlip!=!t.hFlip&&(r.hFlip=!0),!e.vFlip!=!t.vFlip&&(r.vFlip=!0);const i=((e.rotate||0)+(t.rotate||0))%4;return i&&(r.rotate=i),r}function Lh(e,t){const r=_2(e,t);for(const i in k2)i in ts?i in e&&!(i in r)&&(r[i]=ts[i]):i in t?r[i]=t[i]:i in e&&(r[i]=e[i]);return r}function v2(e,t){const r=e.icons,i=e.aliases||Object.create(null),o=Object.create(null);function s(a){if(r[a])return o[a]=[];if(!(a in o)){o[a]=null;const n=i[a]&&i[a].parent,l=n&&s(n);l&&(o[a]=[n].concat(l))}return o[a]}return(t||Object.keys(r).concat(Object.keys(i))).forEach(s),o}function Fh(e,t,r){const i=e.icons,o=e.aliases||Object.create(null);let s={};function a(n){s=Lh(i[n]||o[n],s)}return a(t),r.forEach(a),Lh(e,s)}function B2(e,t){if(e.icons[t])return Fh(e,t,[]);const r=v2(e,[t])[t];return r?Fh(e,t,r):null}const L2=/(-?[0-9.]*[0-9]+[0-9.]*)/g,F2=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Ah(e,t,r){if(t===1)return e;if(r=r||100,typeof e=="number")return Math.ceil(e*t*r)/r;if(typeof e!="string")return e;const i=e.split(L2);if(i===null||!i.length)return e;const o=[];let s=i.shift(),a=F2.test(s);for(;;){if(a){const n=parseFloat(s);isNaN(n)?o.push(s):o.push(Math.ceil(n*t*r)/r)}else o.push(s);if(s=i.shift(),s===void 0)return o.join("");a=!a}}function A2(e,t="defs"){let r="";const i=e.indexOf("<"+t);for(;i>=0;){const o=e.indexOf(">",i),s=e.indexOf("",s);if(a===-1)break;r+=e.slice(o+1,s).trim(),e=e.slice(0,i).trim()+e.slice(a+1)}return{defs:r,content:e}}function E2(e,t){return e?""+e+""+t:t}function M2(e,t,r){const i=A2(e);return E2(i.defs,t+i.content+r)}const $2=e=>e==="unset"||e==="undefined"||e==="none";function O2(e,t){const r={...Ef,...e},i={...w2,...t},o={left:r.left,top:r.top,width:r.width,height:r.height};let s=r.body;[r,i].forEach(m=>{const y=[],C=m.hFlip,b=m.vFlip;let k=m.rotate;C?b?k+=2:(y.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),y.push("scale(-1 1)"),o.top=o.left=0):b&&(y.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),y.push("scale(1 -1)"),o.top=o.left=0);let w;switch(k<0&&(k-=Math.floor(k/4)*4),k=k%4,k){case 1:w=o.height/2+o.top,y.unshift("rotate(90 "+w.toString()+" "+w.toString()+")");break;case 2:y.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:w=o.width/2+o.left,y.unshift("rotate(-90 "+w.toString()+" "+w.toString()+")");break}k%2===1&&(o.left!==o.top&&(w=o.left,o.left=o.top,o.top=w),o.width!==o.height&&(w=o.width,o.width=o.height,o.height=w)),y.length&&(s=M2(s,'',""))});const a=i.width,n=i.height,l=o.width,c=o.height;let h,d;a===null?(d=n===null?"1em":n==="auto"?c:n,h=Ah(d,l/c)):(h=a==="auto"?l:a,d=n===null?Ah(h,c/l):n==="auto"?c:n);const f={},u=(m,y)=>{$2(y)||(f[m]=y.toString())};u("width",h),u("height",d);const g=[o.left,o.top,l,c];return f.viewBox=g.join(" "),{attributes:f,viewBox:g,body:s}}const I2=/\sid="(\S+)"/g,Eh=new Map;function D2(e){e=e.replace(/[0-9]+$/,"")||"a";const t=Eh.get(e)||0;return Eh.set(e,t+1),t?`${e}${t}`:e}function R2(e){const t=[];let r;for(;r=I2.exec(e);)t.push(r[1]);if(!t.length)return e;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(o=>{const s=D2(o),a=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+a+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),e=e.replace(new RegExp(i,"g"),""),e}function P2(e,t){let r=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const i in t)r+=" "+i+'="'+t[i]+'"';return'"+e+""}function Xn(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var vr=Xn();function Mf(e){vr=e}var Ei={exec:()=>null};function Ct(e,t=""){let r=typeof e=="string"?e:e.source,i={replace:(o,s)=>{let a=typeof s=="string"?s:s.source;return a=a.replace(Zt.caret,"$1"),r=r.replace(o,a),i},getRegex:()=>new RegExp(r,t)};return i}var N2=(()=>{try{return!!new RegExp("(?<=1)(?/,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:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},q2=/^(?:[ \t]*(?:\n|$))+/,W2=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,z2=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ki=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,H2=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Vn=/(?:[*+-]|\d{1,9}[.)])/,$f=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Of=Ct($f).replace(/bull/g,Vn).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(),Y2=Ct($f).replace(/bull/g,Vn).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(),Zn=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,U2=/^[^\n]+/,Kn=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,j2=Ct(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Kn).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),G2=Ct(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Vn).getRegex(),ks="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",Qn=/|$))/,X2=Ct("^ {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",Qn).replace("tag",ks).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),If=Ct(Zn).replace("hr",Ki).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",ks).getRegex(),V2=Ct(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",If).getRegex(),Jn={blockquote:V2,code:W2,def:j2,fences:z2,heading:H2,hr:Ki,html:X2,lheading:Of,list:G2,newline:q2,paragraph:If,table:Ei,text:U2},Mh=Ct("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ki).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",ks).getRegex(),Z2={...Jn,lheading:Y2,table:Mh,paragraph:Ct(Zn).replace("hr",Ki).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Mh).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",ks).getRegex()},K2={...Jn,html:Ct(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Qn).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:Ei,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ct(Zn).replace("hr",Ki).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Of).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Q2=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,J2=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Df=/^( {2,}|\\)\n(?!\s*$)/,tT=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",N2?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Nf=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,sT=Ct(Nf,"u").replace(/punct/g,Ts).getRegex(),aT=Ct(Nf,"u").replace(/punct/g,Pf).getRegex(),qf="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",nT=Ct(qf,"gu").replace(/notPunctSpace/g,Rf).replace(/punctSpace/g,tl).replace(/punct/g,Ts).getRegex(),lT=Ct(qf,"gu").replace(/notPunctSpace/g,iT).replace(/punctSpace/g,rT).replace(/punct/g,Pf).getRegex(),hT=Ct("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Rf).replace(/punctSpace/g,tl).replace(/punct/g,Ts).getRegex(),cT=Ct(/\\(punct)/,"gu").replace(/punct/g,Ts).getRegex(),dT=Ct(/^<(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(),uT=Ct(Qn).replace("(?:-->|$)","-->").getRegex(),fT=Ct("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",uT).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),es=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,pT=Ct(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",es).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Wf=Ct(/^!?\[(label)\]\[(ref)\]/).replace("label",es).replace("ref",Kn).getRegex(),zf=Ct(/^!?\[(ref)\](?:\[\])?/).replace("ref",Kn).getRegex(),gT=Ct("reflink|nolink(?!\\()","g").replace("reflink",Wf).replace("nolink",zf).getRegex(),$h=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,el={_backpedal:Ei,anyPunctuation:cT,autolink:dT,blockSkip:oT,br:Df,code:J2,del:Ei,emStrongLDelim:sT,emStrongRDelimAst:nT,emStrongRDelimUnd:hT,escape:Q2,link:pT,nolink:zf,punctuation:eT,reflink:Wf,reflinkSearch:gT,tag:fT,text:tT,url:Ei},mT={...el,link:Ct(/^!?\[(label)\]\((.*?)\)/).replace("label",es).getRegex(),reflink:Ct(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",es).getRegex()},Ya={...el,emStrongRDelimAst:lT,emStrongLDelim:aT,url:Ct(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",$h).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:Ct(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},Oh=e=>CT[e];function Be(e,t){if(t){if(Zt.escapeTest.test(e))return e.replace(Zt.escapeReplace,Oh)}else if(Zt.escapeTestNoEncode.test(e))return e.replace(Zt.escapeReplaceNoEncode,Oh);return e}function Ih(e){try{e=encodeURI(e).replace(Zt.percentDecode,"%")}catch{return null}return e}function Dh(e,t){let r=e.replace(Zt.findPipe,(s,a,n)=>{let l=!1,c=a;for(;--c>=0&&n[c]==="\\";)l=!l;return l?"|":" |"}),i=r.split(Zt.splitPipe),o=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length0?-2:-1}function Rh(e,t,r,i,o){let s=t.href,a=t.title||null,n=e[1].replace(o.other.outputLinkReplace,"$1");i.state.inLink=!0;let l={type:e[0].charAt(0)==="!"?"image":"link",raw:r,href:s,title:a,text:n,tokens:i.inlineTokens(n)};return i.state.inLink=!1,l}function bT(e,t,r){let i=e.match(r.other.indentCodeCompensation);if(i===null)return t;let o=i[1];return t.split(` +`).map(s=>{let a=s.match(r.other.beginningSpace);if(a===null)return s;let[n]=a;return n.length>=o.length?s.slice(o.length):s}).join(` +`)}var rs=class{options;rules;lexer;constructor(t){this.options=t||vr}space(t){let r=this.rules.block.newline.exec(t);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(t){let r=this.rules.block.code.exec(t);if(r){let i=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?i:pi(i,` +`)}}}fences(t){let r=this.rules.block.fences.exec(t);if(r){let i=r[0],o=bT(i,r[3]||"",this.rules);return{type:"code",raw:i,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:o}}}heading(t){let r=this.rules.block.heading.exec(t);if(r){let i=r[2].trim();if(this.rules.other.endingHash.test(i)){let o=pi(i,"#");(this.options.pedantic||!o||this.rules.other.endingSpaceChar.test(o))&&(i=o.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(t){let r=this.rules.block.hr.exec(t);if(r)return{type:"hr",raw:pi(r[0],` +`)}}blockquote(t){let r=this.rules.block.blockquote.exec(t);if(r){let i=pi(r[0],` +`).split(` +`),o="",s="",a=[];for(;i.length>0;){let n=!1,l=[],c;for(c=0;c1,s={type:"list",raw:"",ordered:o,start:o?+i.slice(0,-1):"",loose:!1,items:[]};i=o?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=o?i:"[*+-]");let a=this.rules.other.listItemRegex(i),n=!1;for(;t;){let c=!1,h="",d="";if(!(r=a.exec(t))||this.rules.block.hr.test(t))break;h=r[0],t=t.substring(h.length);let f=r[2].split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,b=>" ".repeat(3*b.length)),u=t.split(` +`,1)[0],g=!f.trim(),m=0;if(this.options.pedantic?(m=2,d=f.trimStart()):g?m=r[1].length+1:(m=r[2].search(this.rules.other.nonSpaceChar),m=m>4?1:m,d=f.slice(m),m+=r[1].length),g&&this.rules.other.blankLine.test(u)&&(h+=u+` +`,t=t.substring(u.length+1),c=!0),!c){let b=this.rules.other.nextBulletRegex(m),k=this.rules.other.hrRegex(m),w=this.rules.other.fencesBeginRegex(m),S=this.rules.other.headingBeginRegex(m),_=this.rules.other.htmlBeginRegex(m);for(;t;){let F=t.split(` +`,1)[0],B;if(u=F,this.options.pedantic?(u=u.replace(this.rules.other.listReplaceNesting," "),B=u):B=u.replace(this.rules.other.tabCharGlobal," "),w.test(u)||S.test(u)||_.test(u)||b.test(u)||k.test(u))break;if(B.search(this.rules.other.nonSpaceChar)>=m||!u.trim())d+=` +`+B.slice(m);else{if(g||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||w.test(f)||S.test(f)||k.test(f))break;d+=` +`+u}!g&&!u.trim()&&(g=!0),h+=F+` +`,t=t.substring(F.length+1),f=B.slice(m)}}s.loose||(n?s.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(n=!0));let y=null,C;this.options.gfm&&(y=this.rules.other.listIsTask.exec(d),y&&(C=y[0]!=="[ ] ",d=d.replace(this.rules.other.listReplaceTask,""))),s.items.push({type:"list_item",raw:h,task:!!y,checked:C,loose:!1,text:d,tokens:[]}),s.raw+=h}let l=s.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;s.raw=s.raw.trimEnd();for(let c=0;cf.type==="space"),d=h.length>0&&h.some(f=>this.rules.other.anyLine.test(f.raw));s.loose=d}if(s.loose)for(let c=0;c({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[c]})));return a}}lheading(t){let r=this.rules.block.lheading.exec(t);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(t){let r=this.rules.block.paragraph.exec(t);if(r){let i=r[1].charAt(r[1].length-1)===` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:i,tokens:this.lexer.inline(i)}}}text(t){let r=this.rules.block.text.exec(t);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(t){let r=this.rules.inline.escape.exec(t);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(t){let r=this.rules.inline.tag.exec(t);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(t){let r=this.rules.inline.link.exec(t);if(r){let i=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(i)){if(!this.rules.other.endAngleBracket.test(i))return;let a=pi(i.slice(0,-1),"\\");if((i.length-a.length)%2===0)return}else{let a=xT(r[2],"()");if(a===-2)return;if(a>-1){let n=(r[0].indexOf("!")===0?5:4)+r[1].length+a;r[2]=r[2].substring(0,a),r[0]=r[0].substring(0,n).trim(),r[3]=""}}let o=r[2],s="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(o);a&&(o=a[1],s=a[3])}else s=r[3]?r[3].slice(1,-1):"";return o=o.trim(),this.rules.other.startAngleBracket.test(o)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(i)?o=o.slice(1):o=o.slice(1,-1)),Rh(r,{href:o&&o.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(t,r){let i;if((i=this.rules.inline.reflink.exec(t))||(i=this.rules.inline.nolink.exec(t))){let o=(i[2]||i[1]).replace(this.rules.other.multipleSpaceGlobal," "),s=r[o.toLowerCase()];if(!s){let a=i[0].charAt(0);return{type:"text",raw:a,text:a}}return Rh(i,s,i[0],this.lexer,this.rules)}}emStrong(t,r,i=""){let o=this.rules.inline.emStrongLDelim.exec(t);if(!(!o||o[3]&&i.match(this.rules.other.unicodeAlphaNumeric))&&(!(o[1]||o[2])||!i||this.rules.inline.punctuation.exec(i))){let s=[...o[0]].length-1,a,n,l=s,c=0,h=o[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,r=r.slice(-1*t.length+s);(o=h.exec(r))!=null;){if(a=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!a)continue;if(n=[...a].length,o[3]||o[4]){l+=n;continue}else if((o[5]||o[6])&&s%3&&!((s+n)%3)){c+=n;continue}if(l-=n,l>0)continue;n=Math.min(n,n+l+c);let d=[...o[0]][0].length,f=t.slice(0,s+o.index+d+n);if(Math.min(s,n)%2){let g=f.slice(1,-1);return{type:"em",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}let u=f.slice(2,-2);return{type:"strong",raw:f,text:u,tokens:this.lexer.inlineTokens(u)}}}}codespan(t){let r=this.rules.inline.code.exec(t);if(r){let i=r[2].replace(this.rules.other.newLineCharGlobal," "),o=this.rules.other.nonSpaceChar.test(i),s=this.rules.other.startingSpaceChar.test(i)&&this.rules.other.endingSpaceChar.test(i);return o&&s&&(i=i.substring(1,i.length-1)),{type:"codespan",raw:r[0],text:i}}}br(t){let r=this.rules.inline.br.exec(t);if(r)return{type:"br",raw:r[0]}}del(t){let r=this.rules.inline.del.exec(t);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(t){let r=this.rules.inline.autolink.exec(t);if(r){let i,o;return r[2]==="@"?(i=r[1],o="mailto:"+i):(i=r[1],o=i),{type:"link",raw:r[0],text:i,href:o,tokens:[{type:"text",raw:i,text:i}]}}}url(t){let r;if(r=this.rules.inline.url.exec(t)){let i,o;if(r[2]==="@")i=r[0],o="mailto:"+i;else{let s;do s=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(s!==r[0]);i=r[0],r[1]==="www."?o="http://"+r[0]:o=r[0]}return{type:"link",raw:r[0],text:i,href:o,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(t){let r=this.rules.inline.text.exec(t);if(r){let i=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:i}}}},pe=class Ua{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||vr,this.options.tokenizer=this.options.tokenizer||new rs,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:Zt,block:po.normal,inline:fi.normal};this.options.pedantic?(r.block=po.pedantic,r.inline=fi.pedantic):this.options.gfm&&(r.block=po.gfm,this.options.breaks?r.inline=fi.breaks:r.inline=fi.gfm),this.tokenizer.rules=r}static get rules(){return{block:po,inline:fi}}static lex(t,r){return new Ua(r).lex(t)}static lexInline(t,r){return new Ua(r).inlineTokens(t)}lex(t){t=t.replace(Zt.carriageReturn,` +`),this.blockTokens(t,this.tokens);for(let r=0;r(o=a.call({lexer:this},t,r))?(t=t.substring(o.raw.length),r.push(o),!0):!1))continue;if(o=this.tokenizer.space(t)){t=t.substring(o.raw.length);let a=r.at(-1);o.raw.length===1&&a!==void 0?a.raw+=` +`:r.push(o);continue}if(o=this.tokenizer.code(t)){t=t.substring(o.raw.length);let a=r.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+o.raw,a.text+=` +`+o.text,this.inlineQueue.at(-1).src=a.text):r.push(o);continue}if(o=this.tokenizer.fences(t)){t=t.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.heading(t)){t=t.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.hr(t)){t=t.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.blockquote(t)){t=t.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.list(t)){t=t.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.html(t)){t=t.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.def(t)){t=t.substring(o.raw.length);let a=r.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+o.raw,a.text+=` +`+o.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title},r.push(o));continue}if(o=this.tokenizer.table(t)){t=t.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.lheading(t)){t=t.substring(o.raw.length),r.push(o);continue}let s=t;if(this.options.extensions?.startBlock){let a=1/0,n=t.slice(1),l;this.options.extensions.startBlock.forEach(c=>{l=c.call({lexer:this},n),typeof l=="number"&&l>=0&&(a=Math.min(a,l))}),a<1/0&&a>=0&&(s=t.substring(0,a+1))}if(this.state.top&&(o=this.tokenizer.paragraph(s))){let a=r.at(-1);i&&a?.type==="paragraph"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+o.raw,a.text+=` +`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):r.push(o),i=s.length!==t.length,t=t.substring(o.raw.length);continue}if(o=this.tokenizer.text(t)){t=t.substring(o.raw.length);let a=r.at(-1);a?.type==="text"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+o.raw,a.text+=` +`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):r.push(o);continue}if(t){let a="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,r}inline(t,r=[]){return this.inlineQueue.push({src:t,tokens:r}),r}inlineTokens(t,r=[]){let i=t,o=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)l.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,o.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(o=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)s=o[2]?o[2].length:0,i=i.slice(0,o.index+s)+"["+"a".repeat(o[0].length-s-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let a=!1,n="";for(;t;){a||(n=""),a=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},t,r))?(t=t.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(t)){t=t.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(t)){t=t.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(t)){t=t.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(t,this.tokens.links)){t=t.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(t,i,n)){t=t.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(t)){t=t.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(t)){t=t.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(t)){t=t.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(t)){t=t.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(t))){t=t.substring(l.raw.length),r.push(l);continue}let c=t;if(this.options.extensions?.startInline){let h=1/0,d=t.slice(1),f;this.options.extensions.startInline.forEach(u=>{f=u.call({lexer:this},d),typeof f=="number"&&f>=0&&(h=Math.min(h,f))}),h<1/0&&h>=0&&(c=t.substring(0,h+1))}if(l=this.tokenizer.inlineText(c)){t=t.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(n=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(t){let h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},is=class{options;parser;constructor(t){this.options=t||vr}space(t){return""}code({text:t,lang:r,escaped:i}){let o=(r||"").match(Zt.notSpaceStart)?.[0],s=t.replace(Zt.endingNewline,"")+` +`;return o?'
'+(i?s:Be(s,!0))+`
+`:"
"+(i?s:Be(s,!0))+`
+`}blockquote({tokens:t}){return`
+${this.parser.parse(t)}
+`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:r}){return`${this.parser.parseInline(t)} +`}hr(t){return`
+`}list(t){let r=t.ordered,i=t.start,o="";for(let n=0;n +`+o+" +`}listitem(t){let r="";if(t.task){let i=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=i+" "+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=i+" "+Be(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:i+" ",text:i+" ",escaped:!0}):r+=i+" "}return r+=this.parser.parse(t.tokens,!!t.loose),`
  • ${r}
  • +`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

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

    An error occurred:

    "+Be(i.message+"",!0)+"
    ";return r?Promise.resolve(o):o}if(r)return Promise.reject(i);throw i}}},Sr=new kT;function kt(e,t){return Sr.parse(e,t)}kt.options=kt.setOptions=function(e){return Sr.setOptions(e),kt.defaults=Sr.defaults,Mf(kt.defaults),kt};kt.getDefaults=Xn;kt.defaults=vr;kt.use=function(...e){return Sr.use(...e),kt.defaults=Sr.defaults,Mf(kt.defaults),kt};kt.walkTokens=function(e,t){return Sr.walkTokens(e,t)};kt.parseInline=Sr.parseInline;kt.Parser=ge;kt.parser=ge.parse;kt.Renderer=is;kt.TextRenderer=rl;kt.Lexer=pe;kt.lexer=pe.lex;kt.Tokenizer=rs;kt.Hooks=Si;kt.parse=kt;kt.options;kt.setOptions;kt.use;kt.walkTokens;kt.parseInline;ge.parse;pe.lex;function Hf(e){for(var t=[],r=1;r?',height:80,width:80},Ga=new Map,Yf=new Map,wT=p(e=>{for(const t of e){if(!t.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(N.debug("Registering icon pack:",t.name),"loader"in t)Yf.set(t.name,t.loader);else if("icons"in t)Ga.set(t.name,t.icons);else throw N.error("Invalid icon loader:",t),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),Uf=p(async(e,t)=>{const r=S2(e,!0,t!==void 0);if(!r)throw new Error(`Invalid icon name: ${e}`);const i=r.prefix||t;if(!i)throw new Error(`Icon name must contain a prefix: ${e}`);let o=Ga.get(i);if(!o){const a=Yf.get(i);if(!a)throw new Error(`Icon set not found: ${r.prefix}`);try{o={...await a(),prefix:i},Ga.set(i,o)}catch(n){throw N.error(n),new Error(`Failed to load icon set: ${r.prefix}`)}}const s=B2(o,r.name);if(!s)throw new Error(`Icon not found: ${e}`);return s},"getRegisteredIconData"),ST=p(async e=>{try{return await Uf(e),!0}catch{return!1}},"isIconAvailable"),Qi=p(async(e,t,r)=>{let i;try{i=await Uf(e,t?.fallbackPrefix)}catch(a){N.error(a),i=TT}const o=O2(i,t),s=P2(R2(o.body),{...o.attributes,...r});return be(s,vt())},"getIconSVG");function jf(e,{markdownAutoWrap:t}){const i=e.replace(//g,` +`).replace(/\n{2,}/g,` +`);return Hf(i)}p(jf,"preprocessMarkdown");function Gf(e){return e.split(/\\n|\n|/gi).map(t=>t.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}p(Gf,"nonMarkdownToLines");function Xf(e,t={}){const r=jf(e,t),i=kt.lexer(r),o=[[]];let s=0;function a(n,l="normal"){n.type==="text"?n.text.split(` +`).forEach((h,d)=>{d!==0&&(s++,o.push([])),h.split(" ").forEach(f=>{f=f.replace(/'/g,"'"),f&&o[s].push({content:f,type:l})})}):n.type==="strong"||n.type==="em"?n.tokens.forEach(c=>{a(c,n.type)}):n.type==="html"&&o[s].push({content:n.text,type:"normal"})}return p(a,"processNode"),i.forEach(n=>{n.type==="paragraph"?n.tokens?.forEach(l=>{a(l)}):n.type==="html"?o[s].push({content:n.text,type:"normal"}):o[s].push({content:n.raw,type:"normal"})}),o}p(Xf,"markdownToLines");function Vf(e){return e?`

    ${e.replace(/\\n|\n/g,"
    ")}

    `:""}p(Vf,"nonMarkdownToHTML");function Zf(e,{markdownAutoWrap:t}={}){const r=kt.lexer(e);function i(o){return o.type==="text"?t===!1?o.text.replace(/\n */g,"
    ").replace(/ /g," "):o.text.replace(/\n */g,"
    "):o.type==="strong"?`${o.tokens?.map(i).join("")}`:o.type==="em"?`${o.tokens?.map(i).join("")}`:o.type==="paragraph"?`

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

    `:o.type==="space"?"":o.type==="html"?`${o.text}`:o.type==="escape"?o.text:(N.warn(`Unsupported markdown: ${o.type}`),o.raw)}return p(i,"output"),r.map(i).join("")}p(Zf,"markdownToHTML");function Kf(e){return Intl.Segmenter?[...new Intl.Segmenter().segment(e)].map(t=>t.segment):[...e]}p(Kf,"splitTextToChars");function Qf(e,t){const r=Kf(t.content);return il(e,[],r,t.type)}p(Qf,"splitWordToFitWidth");function il(e,t,r,i){if(r.length===0)return[{content:t.join(""),type:i},{content:"",type:i}];const[o,...s]=r,a=[...t,o];return e([{content:a.join(""),type:i}])?il(e,a,s,i):(t.length===0&&o&&(t.push(o),r.shift()),[{content:t.join(""),type:i},{content:r.join(""),type:i}])}p(il,"splitWordToFitWidthRecursion");function Jf(e,t){if(e.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return os(e,t)}p(Jf,"splitLineToFitWidth");function os(e,t,r=[],i=[]){if(e.length===0)return i.length>0&&r.push(i),r.length>0?r:[];let o="";e[0].content===" "&&(o=" ",e.shift());const s=e.shift()??{content:" ",type:"normal"},a=[...i];if(o!==""&&a.push({content:o,type:"normal"}),a.push(s),t(a))return os(e,t,r,a);if(i.length>0)r.push(i),e.unshift(s);else if(s.content){const[n,l]=Qf(t,s);r.push([n]),l.content&&e.unshift(l)}return os(e,t,r)}p(os,"splitLineToFitWidthRecursion");function Xa(e,t){t&&e.attr("style",t)}p(Xa,"applyStyle");var Ph=16384;async function tp(e,t,r,i,o=!1,s=vt()){const a=e.append("foreignObject");a.attr("width",`${Math.min(10*r,Ph)}px`),a.attr("height",`${Math.min(10*r,Ph)}px`);const n=a.append("xhtml:div"),l=$i(t.label)?await Oc(t.label.replace(ji.lineBreakRegex,` +`),s):be(t.label,s),c=t.isNode?"nodeLabel":"edgeLabel",h=n.append("span");h.html(l),Xa(h,t.labelStyle),h.attr("class",`${c} ${i}`),Xa(n,t.labelStyle),n.style("display","table-cell"),n.style("white-space","nowrap"),n.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(n.style("max-width",r+"px"),n.style("text-align","center")),n.attr("xmlns","http://www.w3.org/1999/xhtml"),o&&n.attr("class","labelBkg");let d=n.node().getBoundingClientRect();return d.width===r&&(n.style("display","table"),n.style("white-space","break-spaces"),n.style("width",r+"px"),d=n.node().getBoundingClientRect()),a.node()}p(tp,"addHtmlSpan");function ws(e,t,r,i=!1){const o=e.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",t*r-.1+"em").attr("dy",r+"em");return i&&o.attr("text-anchor","middle"),o}p(ws,"createTspan");function ep(e,t,r){const i=e.append("text"),o=ws(i,1,t);Ss(o,r);const s=o.node().getComputedTextLength();return i.remove(),s}p(ep,"computeWidthOfText");function _T(e,t,r){const i=e.append("text"),o=ws(i,1,t);Ss(o,[{content:r,type:"normal"}]);const s=o.node()?.getBoundingClientRect();return s&&i.remove(),s}p(_T,"computeDimensionOfText");function rp(e,t,r,i=!1,o=!1){const a=t.append("g"),n=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1");o&&l.attr("text-anchor","middle");let c=0;for(const h of r){const d=p(u=>ep(a,1.1,u)<=e,"checkWidth"),f=d(h)?[h]:Jf(h,d);for(const u of f){const g=ws(l,c,1.1,o);Ss(g,u),c++}}if(i){const h=l.node().getBBox(),d=2;return n.attr("x",h.x-d).attr("y",h.y-d).attr("width",h.width+2*d).attr("height",h.height+2*d),a.node()}else return l.node()}p(rp,"createFormattedText");function Va(e){const t=/&(amp|lt|gt);/g;return e.replace(t,(r,i)=>{switch(i){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}p(Va,"decodeHTMLEntities");function Ss(e,t){e.text(""),t.forEach((r,i)=>{const o=e.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");i===0?o.text(Va(r.content)):o.text(" "+Va(r.content))})}p(Ss,"updateTextContentAndStyles");async function ip(e,t={}){const r=[];e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(o,s,a)=>(r.push((async()=>{const n=`${s}:${a}`;return await ST(n)?await Qi(n,void 0,{class:"label-icon"}):``})()),o));const i=await Promise.all(r);return e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>i.shift()??"")}p(ip,"replaceIconSubstring");var Ge=p(async(e,t="",{style:r="",isTitle:i=!1,classes:o="",useHtmlLabels:s=!0,markdown:a=!0,isNode:n=!0,width:l=200,addSvgBackground:c=!1}={},h)=>{if(N.debug("XYZ createText",t,r,i,o,s,n,"addSvgBackground: ",c),s){const d=a?Zf(t,h):Vf(t),f=await ip(wr(d),h),u=t.replace(/\\\\/g,"\\"),g={isNode:n,label:$i(t)?u:f,labelStyle:r.replace("fill:","color:")};return await tp(e,g,l,o,c,h)}else{const d=wr(t.replace(//g,"
    ")),f=a?Xf(d.replace("
    ","
    "),h):Gf(d),u=rp(l,e,f,t?c:!1,!n);if(n){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");lt(u).attr("style",g)}else{const g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");lt(u).select("rect").attr("style",g.replace(/background:/g,"fill:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");lt(u).select("text").attr("style",m)}return i?lt(u).selectAll("tspan.text-outer-tspan").classed("title-row",!0):lt(u).selectAll("tspan.text-outer-tspan").classed("row",!0),u}},"createText");function ta(e,t,r){if(e&&e.length){const[i,o]=t,s=Math.PI/180*r,a=Math.cos(s),n=Math.sin(s);for(const l of e){const[c,h]=l;l[0]=(c-i)*a-(h-o)*n+i,l[1]=(c-i)*n+(h-o)*a+o}}}function vT(e,t){return e[0]===t[0]&&e[1]===t[1]}function BT(e,t,r,i=1){const o=r,s=Math.max(t,.1),a=e[0]&&e[0][0]&&typeof e[0][0]=="number"?[e]:e,n=[0,0];if(o)for(const c of a)ta(c,n,o);const l=(function(c,h,d){const f=[];for(const b of c){const k=[...b];vT(k[0],k[k.length-1])||k.push([k[0][0],k[0][1]]),k.length>2&&f.push(k)}const u=[];h=Math.max(h,.1);const g=[];for(const b of f)for(let k=0;kb.ymink.ymin?1:b.xk.x?1:b.ymax===k.ymax?0:(b.ymax-k.ymax)/Math.abs(b.ymax-k.ymax))),!g.length)return u;let m=[],y=g[0].ymin,C=0;for(;m.length||g.length;){if(g.length){let b=-1;for(let k=0;ky);k++)b=k;g.splice(0,b+1).forEach((k=>{m.push({s:y,edge:k})}))}if(m=m.filter((b=>!(b.edge.ymax<=y))),m.sort(((b,k)=>b.edge.x===k.edge.x?0:(b.edge.x-k.edge.x)/Math.abs(b.edge.x-k.edge.x))),(d!==1||C%h==0)&&m.length>1)for(let b=0;b=m.length)break;const w=m[b].edge,S=m[k].edge;u.push([[Math.round(w.x),y],[Math.round(S.x),y]])}y+=d,m.forEach((b=>{b.edge.x=b.edge.x+d*b.edge.islope})),C++}return u})(a,s,i);if(o){for(const c of a)ta(c,n,-o);(function(c,h,d){const f=[];c.forEach((u=>f.push(...u))),ta(f,h,d)})(l,n,-o)}return l}function Ji(e,t){var r;const i=t.hachureAngle+90;let o=t.hachureGap;o<0&&(o=4*t.strokeWidth),o=Math.round(Math.max(o,.1));let s=1;return t.roughness>=1&&(((r=t.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(s=o),BT(e,o,i,s||1)}class ol{constructor(t){this.helper=t}fillPolygons(t,r){return this._fillPolygons(t,r)}_fillPolygons(t,r){const i=Ji(t,r);return{type:"fillSketch",ops:this.renderLines(i,r)}}renderLines(t,r){const i=[];for(const o of t)i.push(...this.helper.doubleLineOps(o[0][0],o[0][1],o[1][0],o[1][1],r));return i}}function _s(e){const t=e[0],r=e[1];return Math.sqrt(Math.pow(t[0]-r[0],2)+Math.pow(t[1]-r[1],2))}class LT extends ol{fillPolygons(t,r){let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);const o=Ji(t,Object.assign({},r,{hachureGap:i})),s=Math.PI/180*r.hachureAngle,a=[],n=.5*i*Math.cos(s),l=.5*i*Math.sin(s);for(const[c,h]of o)_s([c,h])&&a.push([[c[0]-n,c[1]+l],[...h]],[[c[0]+n,c[1]-l],[...h]]);return{type:"fillSketch",ops:this.renderLines(a,r)}}}class FT extends ol{fillPolygons(t,r){const i=this._fillPolygons(t,r),o=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),s=this._fillPolygons(t,o);return i.ops=i.ops.concat(s.ops),i}}class AT{constructor(t){this.helper=t}fillPolygons(t,r){const i=Ji(t,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(i,r)}dotsOnLines(t,r){const i=[];let o=r.hachureGap;o<0&&(o=4*r.strokeWidth),o=Math.max(o,.1);let s=r.fillWeight;s<0&&(s=r.strokeWidth/2);const a=o/4;for(const n of t){const l=_s(n),c=l/o,h=Math.ceil(c)-1,d=l-h*o,f=(n[0][0]+n[1][0])/2-o/4,u=Math.min(n[0][1],n[1][1]);for(let g=0;g{const n=_s(a),l=Math.floor(n/(i+o)),c=(n+o-l*(i+o))/2;let h=a[0],d=a[1];h[0]>d[0]&&(h=a[1],d=a[0]);const f=Math.atan((d[1]-h[1])/(d[0]-h[0]));for(let u=0;u{const a=_s(s),n=Math.round(a/(2*r));let l=s[0],c=s[1];l[0]>c[0]&&(l=s[1],c=s[0]);const h=Math.atan((c[1]-l[1])/(c[0]-l[0]));for(let d=0;dh%2?c+r:c+t));s.push({key:"C",data:l}),t=l[4],r=l[5];break}case"Q":s.push({key:"Q",data:[...n]}),t=n[2],r=n[3];break;case"q":{const l=n.map(((c,h)=>h%2?c+r:c+t));s.push({key:"Q",data:l}),t=l[2],r=l[3];break}case"A":s.push({key:"A",data:[...n]}),t=n[5],r=n[6];break;case"a":t+=n[5],r+=n[6],s.push({key:"A",data:[n[0],n[1],n[2],n[3],n[4],t,r]});break;case"H":s.push({key:"H",data:[...n]}),t=n[0];break;case"h":t+=n[0],s.push({key:"H",data:[t]});break;case"V":s.push({key:"V",data:[...n]}),r=n[0];break;case"v":r+=n[0],s.push({key:"V",data:[r]});break;case"S":s.push({key:"S",data:[...n]}),t=n[2],r=n[3];break;case"s":{const l=n.map(((c,h)=>h%2?c+r:c+t));s.push({key:"S",data:l}),t=l[2],r=l[3];break}case"T":s.push({key:"T",data:[...n]}),t=n[0],r=n[1];break;case"t":t+=n[0],r+=n[1],s.push({key:"T",data:[t,r]});break;case"Z":case"z":s.push({key:"Z",data:[]}),t=i,r=o}return s}function sp(e){const t=[];let r="",i=0,o=0,s=0,a=0,n=0,l=0;for(const{key:c,data:h}of e){switch(c){case"M":t.push({key:"M",data:[...h]}),[i,o]=h,[s,a]=h;break;case"C":t.push({key:"C",data:[...h]}),i=h[4],o=h[5],n=h[2],l=h[3];break;case"L":t.push({key:"L",data:[...h]}),[i,o]=h;break;case"H":i=h[0],t.push({key:"L",data:[i,o]});break;case"V":o=h[0],t.push({key:"L",data:[i,o]});break;case"S":{let d=0,f=0;r==="C"||r==="S"?(d=i+(i-n),f=o+(o-l)):(d=i,f=o),t.push({key:"C",data:[d,f,...h]}),n=h[0],l=h[1],i=h[2],o=h[3];break}case"T":{const[d,f]=h;let u=0,g=0;r==="Q"||r==="T"?(u=i+(i-n),g=o+(o-l)):(u=i,g=o);const m=i+2*(u-i)/3,y=o+2*(g-o)/3,C=d+2*(u-d)/3,b=f+2*(g-f)/3;t.push({key:"C",data:[m,y,C,b,d,f]}),n=u,l=g,i=d,o=f;break}case"Q":{const[d,f,u,g]=h,m=i+2*(d-i)/3,y=o+2*(f-o)/3,C=u+2*(d-u)/3,b=g+2*(f-g)/3;t.push({key:"C",data:[m,y,C,b,u,g]}),n=d,l=f,i=u,o=g;break}case"A":{const d=Math.abs(h[0]),f=Math.abs(h[1]),u=h[2],g=h[3],m=h[4],y=h[5],C=h[6];d===0||f===0?(t.push({key:"C",data:[i,o,y,C,y,C]}),i=y,o=C):(i!==y||o!==C)&&(ap(i,o,y,C,d,f,u,g,m).forEach((function(b){t.push({key:"C",data:b})})),i=y,o=C);break}case"Z":t.push({key:"Z",data:[]}),i=s,o=a}r=c}return t}function gi(e,t,r){return[e*Math.cos(r)-t*Math.sin(r),e*Math.sin(r)+t*Math.cos(r)]}function ap(e,t,r,i,o,s,a,n,l,c){const h=(d=a,Math.PI*d/180);var d;let f=[],u=0,g=0,m=0,y=0;if(c)[u,g,m,y]=c;else{[e,t]=gi(e,t,-h),[r,i]=gi(r,i,-h);const W=(e-r)/2,I=(t-i)/2;let A=W*W/(o*o)+I*I/(s*s);A>1&&(A=Math.sqrt(A),o*=A,s*=A);const L=o*o,E=s*s,D=L*E-L*I*I-E*W*W,z=L*I*I+E*W*W,Y=(n===l?-1:1)*Math.sqrt(Math.abs(D/z));m=Y*o*I/s+(e+r)/2,y=Y*-s*W/o+(t+i)/2,u=Math.asin(parseFloat(((t-y)/s).toFixed(9))),g=Math.asin(parseFloat(((i-y)/s).toFixed(9))),eg&&(u-=2*Math.PI),!l&&g>u&&(g-=2*Math.PI)}let C=g-u;if(Math.abs(C)>120*Math.PI/180){const W=g,I=r,A=i;g=l&&g>u?u+120*Math.PI/180*1:u+120*Math.PI/180*-1,f=ap(r=m+o*Math.cos(g),i=y+s*Math.sin(g),I,A,o,s,a,0,l,[g,W,m,y])}C=g-u;const b=Math.cos(u),k=Math.sin(u),w=Math.cos(g),S=Math.sin(g),_=Math.tan(C/4),F=4/3*o*_,B=4/3*s*_,q=[e,t],O=[e+F*k,t-B*b],R=[r+F*S,i-B*w],H=[r,i];if(O[0]=2*q[0]-O[0],O[1]=2*q[1]-O[1],c)return[O,R,H].concat(f);{f=[O,R,H].concat(f);const W=[];for(let I=0;I2){const o=[];for(let s=0;s2*Math.PI&&(u=0,g=2*Math.PI);const m=2*Math.PI/l.curveStepCount,y=Math.min(m/2,(g-u)/2),C=Uh(y,c,h,d,f,u,g,1,l);if(!l.disableMultiStroke){const b=Uh(y,c,h,d,f,u,g,1.5,l);C.push(...b)}return a&&(n?C.push(...or(c,h,c+d*Math.cos(u),h+f*Math.sin(u),l),...or(c,h,c+d*Math.cos(g),h+f*Math.sin(g),l)):C.push({op:"lineTo",data:[c,h]},{op:"lineTo",data:[c+d*Math.cos(u),h+f*Math.sin(u)]})),{type:"path",ops:C}}function zh(e,t){const r=sp(op(sl(e))),i=[];let o=[0,0],s=[0,0];for(const{key:a,data:n}of r)switch(a){case"M":s=[n[0],n[1]],o=[n[0],n[1]];break;case"L":i.push(...or(s[0],s[1],n[0],n[1],t)),s=[n[0],n[1]];break;case"C":{const[l,c,h,d,f,u]=n;i.push(...RT(l,c,h,d,f,u,s,t)),s=[f,u];break}case"Z":i.push(...or(s[0],s[1],o[0],o[1],t)),s=[o[0],o[1]]}return{type:"path",ops:i}}function ia(e,t){const r=[];for(const i of e)if(i.length){const o=t.maxRandomnessOffset||0,s=i.length;if(s>2){r.push({op:"move",data:[i[0][0]+rt(o,t),i[0][1]+rt(o,t)]});for(let a=1;a500?.4:-.0016668*l+1.233334;let h=o.maxRandomnessOffset||0;h*h*100>n&&(h=l/10);const d=h/2,f=.2+.2*hp(o);let u=o.bowing*o.maxRandomnessOffset*(i-t)/200,g=o.bowing*o.maxRandomnessOffset*(e-r)/200;u=rt(u,o,c),g=rt(g,o,c);const m=[],y=()=>rt(d,o,c),C=()=>rt(h,o,c),b=o.preserveVertices;return a?m.push({op:"move",data:[e+(b?0:y()),t+(b?0:y())]}):m.push({op:"move",data:[e+(b?0:rt(h,o,c)),t+(b?0:rt(h,o,c))]}),a?m.push({op:"bcurveTo",data:[u+e+(r-e)*f+y(),g+t+(i-t)*f+y(),u+e+2*(r-e)*f+y(),g+t+2*(i-t)*f+y(),r+(b?0:y()),i+(b?0:y())]}):m.push({op:"bcurveTo",data:[u+e+(r-e)*f+C(),g+t+(i-t)*f+C(),u+e+2*(r-e)*f+C(),g+t+2*(i-t)*f+C(),r+(b?0:C()),i+(b?0:C())]}),m}function mo(e,t,r){if(!e.length)return[];const i=[];i.push([e[0][0]+rt(t,r),e[0][1]+rt(t,r)]),i.push([e[0][0]+rt(t,r),e[0][1]+rt(t,r)]);for(let o=1;o3){const s=[],a=1-r.curveTightness;o.push({op:"move",data:[e[1][0],e[1][1]]});for(let n=1;n+21&&o.push(n)):o.push(n),o.push(e[t+3])}else{const l=e[t+0],c=e[t+1],h=e[t+2],d=e[t+3],f=fr(l,c,.5),u=fr(c,h,.5),g=fr(h,d,.5),m=fr(f,u,.5),y=fr(u,g,.5),C=fr(m,y,.5);Qa([l,f,m,C],0,r,o),Qa([C,y,g,d],0,r,o)}var s,a;return o}function NT(e,t){return ns(e,0,e.length,t)}function ns(e,t,r,i,o){const s=o||[],a=e[t],n=e[r-1];let l=0,c=1;for(let h=t+1;hl&&(l=d,c=h)}return Math.sqrt(l)>i?(ns(e,t,c+1,i,s),ns(e,c,r,i,s)):(s.length||s.push(a),s.push(n)),s}function oa(e,t=.15,r){const i=[],o=(e.length-1)/3;for(let s=0;s0?ns(i,0,i.length,r):i}const se="none";class ls{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,r,i){return{shape:t,sets:r||[],options:i||this.defaultOptions}}line(t,r,i,o,s){const a=this._o(s);return this._d("line",[np(t,r,i,o,a)],a)}rectangle(t,r,i,o,s){const a=this._o(s),n=[],l=DT(t,r,i,o,a);if(a.fill){const c=[[t,r],[t+i,r],[t+i,r+o],[t,r+o]];a.fillStyle==="solid"?n.push(ia([c],a)):n.push(Pr([c],a))}return a.stroke!==se&&n.push(l),this._d("rectangle",n,a)}ellipse(t,r,i,o,s){const a=this._o(s),n=[],l=lp(i,o,a),c=Za(t,r,a,l);if(a.fill)if(a.fillStyle==="solid"){const h=Za(t,r,a,l).opset;h.type="fillPath",n.push(h)}else n.push(Pr([c.estimatedPoints],a));return a.stroke!==se&&n.push(c.opset),this._d("ellipse",n,a)}circle(t,r,i,o){const s=this.ellipse(t,r,i,i,o);return s.shape="circle",s}linearPath(t,r){const i=this._o(r);return this._d("linearPath",[Ao(t,!1,i)],i)}arc(t,r,i,o,s,a,n=!1,l){const c=this._o(l),h=[],d=Wh(t,r,i,o,s,a,n,!0,c);if(n&&c.fill)if(c.fillStyle==="solid"){const f=Object.assign({},c);f.disableMultiStroke=!0;const u=Wh(t,r,i,o,s,a,!0,!1,f);u.type="fillPath",h.push(u)}else h.push((function(f,u,g,m,y,C,b){const k=f,w=u;let S=Math.abs(g/2),_=Math.abs(m/2);S+=rt(.01*S,b),_+=rt(.01*_,b);let F=y,B=C;for(;F<0;)F+=2*Math.PI,B+=2*Math.PI;B-F>2*Math.PI&&(F=0,B=2*Math.PI);const q=(B-F)/b.curveStepCount,O=[];for(let R=F;R<=B;R+=q)O.push([k+S*Math.cos(R),w+_*Math.sin(R)]);return O.push([k+S*Math.cos(B),w+_*Math.sin(B)]),O.push([k,w]),Pr([O],b)})(t,r,i,o,s,a,c));return c.stroke!==se&&h.push(d),this._d("arc",h,c)}curve(t,r){const i=this._o(r),o=[],s=qh(t,i);if(i.fill&&i.fill!==se)if(i.fillStyle==="solid"){const a=qh(t,Object.assign(Object.assign({},i),{disableMultiStroke:!0,roughness:i.roughness?i.roughness+i.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(a.ops)})}else{const a=[],n=t;if(n.length){const l=typeof n[0][0]=="number"?[n]:n;for(const c of l)c.length<3?a.push(...c):c.length===3?a.push(...oa(jh([c[0],c[0],c[1],c[2]]),10,(1+i.roughness)/2)):a.push(...oa(jh(c),10,(1+i.roughness)/2))}a.length&&o.push(Pr([a],i))}return i.stroke!==se&&o.push(s),this._d("curve",o,i)}polygon(t,r){const i=this._o(r),o=[],s=Ao(t,!0,i);return i.fill&&(i.fillStyle==="solid"?o.push(ia([t],i)):o.push(Pr([t],i))),i.stroke!==se&&o.push(s),this._d("polygon",o,i)}path(t,r){const i=this._o(r),o=[];if(!t)return this._d("path",o,i);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const s=i.fill&&i.fill!=="transparent"&&i.fill!==se,a=i.stroke!==se,n=!!(i.simplification&&i.simplification<1),l=(function(h,d,f){const u=sp(op(sl(h))),g=[];let m=[],y=[0,0],C=[];const b=()=>{C.length>=4&&m.push(...oa(C,d)),C=[]},k=()=>{b(),m.length&&(g.push(m),m=[])};for(const{key:S,data:_}of u)switch(S){case"M":k(),y=[_[0],_[1]],m.push(y);break;case"L":b(),m.push([_[0],_[1]]);break;case"C":if(!C.length){const F=m.length?m[m.length-1]:y;C.push([F[0],F[1]])}C.push([_[0],_[1]]),C.push([_[2],_[3]]),C.push([_[4],_[5]]);break;case"Z":b(),m.push([y[0],y[1]])}if(k(),!f)return g;const w=[];for(const S of g){const _=NT(S,f);_.length&&w.push(_)}return w})(t,1,n?4-4*(i.simplification||1):(1+i.roughness)/2),c=zh(t,i);if(s)if(i.fillStyle==="solid")if(l.length===1){const h=zh(t,Object.assign(Object.assign({},i),{disableMultiStroke:!0,roughness:i.roughness?i.roughness+i.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(h.ops)})}else o.push(ia(l,i));else o.push(Pr(l,i));return a&&(n?l.forEach((h=>{o.push(Ao(h,!1,i))})):o.push(c)),this._d("path",o,i)}opsToPath(t,r){let i="";for(const o of t.ops){const s=typeof r=="number"&&r>=0?o.data.map((a=>+a.toFixed(r))):o.data;switch(o.op){case"move":i+=`M${s[0]} ${s[1]} `;break;case"bcurveTo":i+=`C${s[0]} ${s[1]}, ${s[2]} ${s[3]}, ${s[4]} ${s[5]} `;break;case"lineTo":i+=`L${s[0]} ${s[1]} `}}return i.trim()}toPaths(t){const r=t.sets||[],i=t.options||this.defaultOptions,o=[];for(const s of r){let a=null;switch(s.type){case"path":a={d:this.opsToPath(s),stroke:i.stroke,strokeWidth:i.strokeWidth,fill:se};break;case"fillPath":a={d:this.opsToPath(s),stroke:se,strokeWidth:0,fill:i.fill||se};break;case"fillSketch":a=this.fillSketch(s,i)}a&&o.push(a)}return o}fillSketch(t,r){let i=r.fillWeight;return i<0&&(i=r.strokeWidth/2),{d:this.opsToPath(t),stroke:r.fill||se,strokeWidth:i,fill:se}}_mergedShape(t){return t.filter(((r,i)=>i===0||r.op!=="move"))}}class qT{constructor(t,r){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new ls(r)}draw(t){const r=t.sets||[],i=t.options||this.getDefaultOptions(),o=this.ctx,s=t.options.fixedDecimalPlaceDigits;for(const a of r)switch(a.type){case"path":o.save(),o.strokeStyle=i.stroke==="none"?"transparent":i.stroke,o.lineWidth=i.strokeWidth,i.strokeLineDash&&o.setLineDash(i.strokeLineDash),i.strokeLineDashOffset&&(o.lineDashOffset=i.strokeLineDashOffset),this._drawToContext(o,a,s),o.restore();break;case"fillPath":{o.save(),o.fillStyle=i.fill||"";const n=t.shape==="curve"||t.shape==="polygon"||t.shape==="path"?"evenodd":"nonzero";this._drawToContext(o,a,s,n),o.restore();break}case"fillSketch":this.fillSketch(o,a,i)}}fillSketch(t,r,i){let o=i.fillWeight;o<0&&(o=i.strokeWidth/2),t.save(),i.fillLineDash&&t.setLineDash(i.fillLineDash),i.fillLineDashOffset&&(t.lineDashOffset=i.fillLineDashOffset),t.strokeStyle=i.fill||"",t.lineWidth=o,this._drawToContext(t,r,i.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,r,i,o="nonzero"){t.beginPath();for(const s of r.ops){const a=typeof i=="number"&&i>=0?s.data.map((n=>+n.toFixed(i))):s.data;switch(s.op){case"move":t.moveTo(a[0],a[1]);break;case"bcurveTo":t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"lineTo":t.lineTo(a[0],a[1])}}r.type==="fillPath"?t.fill(o):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,r,i,o,s){const a=this.gen.line(t,r,i,o,s);return this.draw(a),a}rectangle(t,r,i,o,s){const a=this.gen.rectangle(t,r,i,o,s);return this.draw(a),a}ellipse(t,r,i,o,s){const a=this.gen.ellipse(t,r,i,o,s);return this.draw(a),a}circle(t,r,i,o){const s=this.gen.circle(t,r,i,o);return this.draw(s),s}linearPath(t,r){const i=this.gen.linearPath(t,r);return this.draw(i),i}polygon(t,r){const i=this.gen.polygon(t,r);return this.draw(i),i}arc(t,r,i,o,s,a,n=!1,l){const c=this.gen.arc(t,r,i,o,s,a,n,l);return this.draw(c),c}curve(t,r){const i=this.gen.curve(t,r);return this.draw(i),i}path(t,r){const i=this.gen.path(t,r);return this.draw(i),i}}const yo="http://www.w3.org/2000/svg";class WT{constructor(t,r){this.svg=t,this.gen=new ls(r)}draw(t){const r=t.sets||[],i=t.options||this.getDefaultOptions(),o=this.svg.ownerDocument||window.document,s=o.createElementNS(yo,"g"),a=t.options.fixedDecimalPlaceDigits;for(const n of r){let l=null;switch(n.type){case"path":l=o.createElementNS(yo,"path"),l.setAttribute("d",this.opsToPath(n,a)),l.setAttribute("stroke",i.stroke),l.setAttribute("stroke-width",i.strokeWidth+""),l.setAttribute("fill","none"),i.strokeLineDash&&l.setAttribute("stroke-dasharray",i.strokeLineDash.join(" ").trim()),i.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${i.strokeLineDashOffset}`);break;case"fillPath":l=o.createElementNS(yo,"path"),l.setAttribute("d",this.opsToPath(n,a)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",i.fill||""),t.shape!=="curve"&&t.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(o,n,i)}l&&s.appendChild(l)}return s}fillSketch(t,r,i){let o=i.fillWeight;o<0&&(o=i.strokeWidth/2);const s=t.createElementNS(yo,"path");return s.setAttribute("d",this.opsToPath(r,i.fixedDecimalPlaceDigits)),s.setAttribute("stroke",i.fill||""),s.setAttribute("stroke-width",o+""),s.setAttribute("fill","none"),i.fillLineDash&&s.setAttribute("stroke-dasharray",i.fillLineDash.join(" ").trim()),i.fillLineDashOffset&&s.setAttribute("stroke-dashoffset",`${i.fillLineDashOffset}`),s}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,r){return this.gen.opsToPath(t,r)}line(t,r,i,o,s){const a=this.gen.line(t,r,i,o,s);return this.draw(a)}rectangle(t,r,i,o,s){const a=this.gen.rectangle(t,r,i,o,s);return this.draw(a)}ellipse(t,r,i,o,s){const a=this.gen.ellipse(t,r,i,o,s);return this.draw(a)}circle(t,r,i,o){const s=this.gen.circle(t,r,i,o);return this.draw(s)}linearPath(t,r){const i=this.gen.linearPath(t,r);return this.draw(i)}polygon(t,r){const i=this.gen.polygon(t,r);return this.draw(i)}arc(t,r,i,o,s,a,n=!1,l){const c=this.gen.arc(t,r,i,o,s,a,n,l);return this.draw(c)}curve(t,r){const i=this.gen.curve(t,r);return this.draw(i)}path(t,r){const i=this.gen.path(t,r);return this.draw(i)}}var X={canvas:(e,t)=>new qT(e,t),svg:(e,t)=>new WT(e,t),generator:e=>new ls(e),newSeed:()=>ls.newSeed()},et=p(async(e,t,r)=>{let i;const o=t.useHtmlLabels||je(yt()?.htmlLabels);r?i=r:i="node default";const s=e.insert("g").attr("class",i).attr("id",t.domId||t.id),a=s.insert("g").attr("class","label").attr("style",Pt(t.labelStyle));let n;t.label===void 0?n="":n=typeof t.label=="string"?t.label:t.label[0];const l=!!t.icon||!!t.img,c=t.labelType==="markdown",h=await Ge(a,be(wr(n),yt()),{useHtmlLabels:o,width:t.width||yt().flowchart?.wrappingWidth,classes:c?"markdown-node-label":"",style:t.labelStyle,addSvgBackground:l,markdown:c},yt());let d=h.getBBox();const f=(t?.padding??0)/2;if(o){const u=h.children[0],g=lt(h);await Ff(u,n),d=u.getBoundingClientRect(),g.attr("width",d.width),g.attr("height",d.height)}return o?a.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):a.attr("transform","translate(0, "+-d.height/2+")"),t.centerLabel&&a.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),a.insert("rect",":first-child"),{shapeSvg:s,bbox:d,halfPadding:f,label:a}},"labelHelper"),sa=p(async(e,t,r)=>{const i=r.useHtmlLabels??Qt(yt()),o=e.insert("g").attr("class","label").attr("style",r.labelStyle||""),s=await Ge(o,be(wr(t),yt()),{useHtmlLabels:i,width:r.width||yt()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let a=s.getBBox();const n=r.padding/2;if(Qt(yt())){const l=s.children[0],c=lt(s);a=l.getBoundingClientRect(),c.attr("width",a.width),c.attr("height",a.height)}return i?o.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"):o.attr("transform","translate(0, "+-a.height/2+")"),r.centerLabel&&o.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),o.insert("rect",":first-child"),{shapeSvg:e,bbox:a,halfPadding:n,label:o}},"insertLabel"),K=p((e,t)=>{const r=t.node().getBBox();e.width=r.width,e.height=r.height},"updateNodeBounds"),tt=p((e,t)=>(e.look==="handDrawn"?"rough-node":"node")+" "+e.cssClasses+" "+(t||""),"getNodeClasses");function pt(e){const t=e.map((r,i)=>`${i===0?"M":"L"}${r.x},${r.y}`);return t.push("Z"),t.join(" ")}p(pt,"createPathFromPoints");function sr(e,t,r,i,o,s){const a=[],l=r-e,c=i-t,h=l/s,d=2*Math.PI/h,f=t+c/2;for(let u=0;u<=50;u++){const g=u/50,m=e+g*l,y=f+o*Math.sin(d*(m-e));a.push({x:m,y})}return a}p(sr,"generateFullSineWavePoints");function zi(e,t,r,i,o,s){const a=[],n=o*Math.PI/180,h=(s*Math.PI/180-n)/(i-1);for(let d=0;dl.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),i=t.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",i);const o=t.find(l=>l.getAttribute("fill")!=="none"),s=t.find(l=>l.getAttribute("stroke")!=="none"),a=p((l,c)=>l?.getAttribute(c)??void 0,"getAttr");if(o){const l={fill:a(o,"fill"),"fill-opacity":a(o,"fill-opacity")??"1"};Object.entries(l).forEach(([c,h])=>{h&&r.setAttribute(c,h)})}if(s){const l={stroke:a(s,"stroke"),"stroke-width":a(s,"stroke-width")??"1","stroke-opacity":a(s,"stroke-opacity")??"1"};Object.entries(l).forEach(([c,h])=>{h&&r.setAttribute(c,h)})}const n=document.createElementNS("http://www.w3.org/2000/svg","g");return n.appendChild(r),n}p(Ja,"mergePaths");var zT=p((e,t)=>{var r=e.x,i=e.y,o=t.x-r,s=t.y-i,a=e.width/2,n=e.height/2,l,c;return Math.abs(s)*a>Math.abs(o)*n?(s<0&&(n=-n),l=s===0?0:n*o/s,c=n):(o<0&&(a=-a),l=a,c=o===0?0:a*s/o),{x:r+l,y:i+c}},"intersectRect"),oi=zT,HT=p(async(e,t,r,i=!1,o=!1)=>{let s=t||"";typeof s=="object"&&(s=s[0]);const a=yt(),n=Qt(a);return await Ge(e,s,{style:r,isTitle:i,useHtmlLabels:n,markdown:!1,isNode:o,width:Number.POSITIVE_INFINITY},a)},"createLabel"),Qe=HT,ar=p((e,t,r,i,o)=>["M",e+o,t,"H",e+r-o,"A",o,o,0,0,1,e+r,t+o,"V",t+i-o,"A",o,o,0,0,1,e+r-o,t+i,"H",e+o,"A",o,o,0,0,1,e,t+i-o,"V",t+o,"A",o,o,0,0,1,e+o,t,"Z"].join(" "),"createRoundedRectPathD"),cp=p(async(e,t)=>{N.info("Creating subgraph rect for ",t.id,t);const r=yt(),{themeVariables:i,handDrawnSeed:o}=r,{clusterBkg:s,clusterBorder:a}=i,{labelStyles:n,nodeStyles:l,borderStyles:c,backgroundStyles:h}=Z(t),d=e.insert("g").attr("class","cluster "+t.cssClasses).attr("id",t.domId).attr("data-look",t.look),f=Qt(r),u=d.insert("g").attr("class","cluster-label ");let g;t.labelType==="markdown"?g=await Ge(u,t.label,{style:t.labelStyle,useHtmlLabels:f,isNode:!0,width:t.width}):g=await Qe(u,t.label,t.labelStyle||"",!1,!0);let m=g.getBBox();if(Qt(r)){const F=g.children[0],B=lt(g);m=F.getBoundingClientRect(),B.attr("width",m.width),B.attr("height",m.height)}const y=t.width<=m.width+t.padding?m.width+t.padding:t.width;t.width<=m.width+t.padding?t.diff=(y-t.width)/2-t.padding:t.diff=-t.padding;const C=t.height,b=t.x-y/2,k=t.y-C/2;N.trace("Data ",t,JSON.stringify(t));let w;if(t.look==="handDrawn"){const F=X.svg(d),B=V(t,{roughness:.7,fill:s,stroke:a,fillWeight:3,seed:o}),q=F.path(ar(b,k,y,C,0),B);w=d.insert(()=>(N.debug("Rough node insert CXC",q),q),":first-child"),w.select("path:nth-child(2)").attr("style",c.join(";")),w.select("path").attr("style",h.join(";").replace("fill","stroke"))}else w=d.insert("rect",":first-child"),w.attr("style",l).attr("rx",t.rx).attr("ry",t.ry).attr("x",b).attr("y",k).attr("width",y).attr("height",C);const{subGraphTitleTopMargin:S}=Gn(r);if(u.attr("transform",`translate(${t.x-m.width/2}, ${t.y-t.height/2+S})`),n){const F=u.select("span");F&&F.attr("style",n)}const _=w.node().getBBox();return t.offsetX=0,t.width=_.width,t.height=_.height,t.offsetY=m.height-t.padding/2,t.intersect=function(F){return oi(t,F)},{cluster:d,labelBBox:m}},"rect"),YT=p((e,t)=>{const r=e.insert("g").attr("class","note-cluster").attr("id",t.domId),i=r.insert("rect",":first-child"),o=0*t.padding,s=o/2;i.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-s).attr("y",t.y-t.height/2-s).attr("width",t.width+o).attr("height",t.height+o).attr("fill","none");const a=i.node().getBBox();return t.width=a.width,t.height=a.height,t.intersect=function(n){return oi(t,n)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),UT=p(async(e,t)=>{const r=yt(),{themeVariables:i,handDrawnSeed:o}=r,{altBackground:s,compositeBackground:a,compositeTitleBackground:n,nodeBorder:l}=i,c=e.insert("g").attr("class",t.cssClasses).attr("id",t.domId).attr("data-id",t.id).attr("data-look",t.look),h=c.insert("g",":first-child"),d=c.insert("g").attr("class","cluster-label");let f=c.append("rect");const u=await Qe(d,t.label,t.labelStyle,void 0,!0);let g=u.getBBox();if(Qt(r)){const q=u.children[0],O=lt(u);g=q.getBoundingClientRect(),O.attr("width",g.width),O.attr("height",g.height)}const m=0*t.padding,y=m/2,C=(t.width<=g.width+t.padding?g.width+t.padding:t.width)+m;t.width<=g.width+t.padding?t.diff=(C-t.width)/2-t.padding:t.diff=-t.padding;const b=t.height+m,k=t.height+m-g.height-6,w=t.x-C/2,S=t.y-b/2;t.width=C;const _=t.y-t.height/2-y+g.height+2;let F;if(t.look==="handDrawn"){const q=t.cssClasses.includes("statediagram-cluster-alt"),O=X.svg(c),R=t.rx||t.ry?O.path(ar(w,S,C,b,10),{roughness:.7,fill:n,fillStyle:"solid",stroke:l,seed:o}):O.rectangle(w,S,C,b,{seed:o});F=c.insert(()=>R,":first-child");const H=O.rectangle(w,_,C,k,{fill:q?s:a,fillStyle:q?"hachure":"solid",stroke:l,seed:o});F=c.insert(()=>R,":first-child"),f=c.insert(()=>H)}else F=h.insert("rect",":first-child"),F.attr("class","outer").attr("x",w).attr("y",S).attr("width",C).attr("height",b).attr("data-look",t.look),f.attr("class","inner").attr("x",w).attr("y",_).attr("width",C).attr("height",k);d.attr("transform",`translate(${t.x-g.width/2}, ${S+1-(Qt(r)?0:3)})`);const B=F.node().getBBox();return t.height=B.height,t.offsetX=0,t.offsetY=g.height-t.padding/2,t.labelBBox=g,t.intersect=function(q){return oi(t,q)},{cluster:c,labelBBox:g}},"roundedWithTitle"),jT=p(async(e,t)=>{N.info("Creating subgraph rect for ",t.id,t);const r=yt(),{themeVariables:i,handDrawnSeed:o}=r,{clusterBkg:s,clusterBorder:a}=i,{labelStyles:n,nodeStyles:l,borderStyles:c,backgroundStyles:h}=Z(t),d=e.insert("g").attr("class","cluster "+t.cssClasses).attr("id",t.domId).attr("data-look",t.look),f=Qt(r),u=d.insert("g").attr("class","cluster-label "),g=await Ge(u,t.label,{style:t.labelStyle,useHtmlLabels:f,isNode:!0,width:t.width});let m=g.getBBox();if(Qt(r)){const F=g.children[0],B=lt(g);m=F.getBoundingClientRect(),B.attr("width",m.width),B.attr("height",m.height)}const y=t.width<=m.width+t.padding?m.width+t.padding:t.width;t.width<=m.width+t.padding?t.diff=(y-t.width)/2-t.padding:t.diff=-t.padding;const C=t.height,b=t.x-y/2,k=t.y-C/2;N.trace("Data ",t,JSON.stringify(t));let w;if(t.look==="handDrawn"){const F=X.svg(d),B=V(t,{roughness:.7,fill:s,stroke:a,fillWeight:4,seed:o}),q=F.path(ar(b,k,y,C,t.rx),B);w=d.insert(()=>(N.debug("Rough node insert CXC",q),q),":first-child"),w.select("path:nth-child(2)").attr("style",c.join(";")),w.select("path").attr("style",h.join(";").replace("fill","stroke"))}else w=d.insert("rect",":first-child"),w.attr("style",l).attr("rx",t.rx).attr("ry",t.ry).attr("x",b).attr("y",k).attr("width",y).attr("height",C);const{subGraphTitleTopMargin:S}=Gn(r);if(u.attr("transform",`translate(${t.x-m.width/2}, ${t.y-t.height/2+S})`),n){const F=u.select("span");F&&F.attr("style",n)}const _=w.node().getBBox();return t.offsetX=0,t.width=_.width,t.height=_.height,t.offsetY=m.height-t.padding/2,t.intersect=function(F){return oi(t,F)},{cluster:d,labelBBox:m}},"kanbanSection"),GT=p((e,t)=>{const r=yt(),{themeVariables:i,handDrawnSeed:o}=r,{nodeBorder:s}=i,a=e.insert("g").attr("class",t.cssClasses).attr("id",t.domId).attr("data-look",t.look),n=a.insert("g",":first-child"),l=0*t.padding,c=t.width+l;t.diff=-t.padding;const h=t.height+l,d=t.x-c/2,f=t.y-h/2;t.width=c;let u;if(t.look==="handDrawn"){const y=X.svg(a).rectangle(d,f,c,h,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:s,seed:o});u=a.insert(()=>y,":first-child")}else{u=n.insert("rect",":first-child");let m="outer";t.look,m="divider",u.attr("class",m).attr("x",d).attr("y",f).attr("width",c).attr("height",h).attr("data-look",t.look)}const g=u.node().getBBox();return t.height=g.height,t.offsetX=0,t.offsetY=0,t.intersect=function(m){return oi(t,m)},{cluster:a,labelBBox:{}}},"divider"),XT=cp,VT={rect:cp,squareRect:XT,roundedWithTitle:UT,noteGroup:YT,divider:GT,kanbanSection:jT},dp=new Map,ZT=p(async(e,t)=>{const r=t.shape||"rect",i=await VT[r](e,t);return dp.set(t.id,i),i},"insertCluster"),zB=p(()=>{dp=new Map},"clear");function up(e,t){return e.intersect(t)}p(up,"intersectNode");var KT=up;function fp(e,t,r,i){var o=e.x,s=e.y,a=o-i.x,n=s-i.y,l=Math.sqrt(t*t*n*n+r*r*a*a),c=Math.abs(t*r*a/l);i.x0}p(tn,"sameSign");var JT=mp;function yp(e,t,r){let i=e.x,o=e.y,s=[],a=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(h){a=Math.min(a,h.x),n=Math.min(n,h.y)}):(a=Math.min(a,t.x),n=Math.min(n,t.y));let l=i-e.width/2-a,c=o-e.height/2-n;for(let h=0;h1&&s.sort(function(h,d){let f=h.x-r.x,u=h.y-r.y,g=Math.sqrt(f*f+u*u),m=d.x-r.x,y=d.y-r.y,C=Math.sqrt(m*m+y*y);return gh,":first-child");return d.attr("class","anchor").attr("style",Pt(n)),K(t,d),t.intersect=function(f){return N.info("Circle intersect",t,a,f),j.circle(t,a,f)},s}p(Cp,"anchor");function en(e,t,r,i,o,s,a){const l=(e+r)/2,c=(t+i)/2,h=Math.atan2(i-t,r-e),d=(r-e)/2,f=(i-t)/2,u=d/o,g=f/s,m=Math.sqrt(u**2+g**2);if(m>1)throw new Error("The given radii are too small to create an arc between the points.");const y=Math.sqrt(1-m**2),C=l+y*s*Math.sin(h)*(a?-1:1),b=c-y*o*Math.cos(h)*(a?-1:1),k=Math.atan2((t-b)/s,(e-C)/o);let S=Math.atan2((i-b)/s,(r-C)/o)-k;a&&S<0&&(S+=2*Math.PI),!a&&S>0&&(S-=2*Math.PI);const _=[];for(let F=0;F<20;F++){const B=F/19,q=k+B*S,O=C+o*Math.cos(q),R=b+s*Math.sin(q);_.push({x:O,y:R})}return _}p(en,"generateArcPoints");function xp(e,t,r){const[i,o]=[t,r].sort((s,a)=>a-s);return o*(1-Math.sqrt(1-(e/i/2)**2))}p(xp,"calculateArcSagitta");async function bp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?12:o,n=p(q=>q+a,"calcTotalHeight"),l=p(q=>{const O=q/2;return[O/(2.5+q/50),O]},"calcEllipseRadius"),{shapeSvg:c,bbox:h}=await et(e,t,tt(t)),d=n(t?.height?t?.height:h.height),[f,u]=l(d),g=xp(d,f,u),y=(t?.width?t?.width:h.width)+s*2+g-g,C=d,{cssStyles:b}=t,k=[{x:y/2,y:-C/2},{x:-y/2,y:-C/2},...en(-y/2,-C/2,-y/2,C/2,f,u,!1),{x:y/2,y:C/2},...en(y/2,C/2,y/2,-C/2,f,u,!0)],w=X.svg(c),S=V(t,{});t.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");const _=pt(k),F=w.path(_,S),B=c.insert(()=>F,":first-child");return B.attr("class","basic label-container outer-path"),b&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",b),i&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",i),B.attr("transform",`translate(${f/2}, 0)`),K(t,B),t.intersect=function(q){return j.polygon(t,k,q)},c}p(bp,"bowTieRect");function Xe(e,t,r,i){return e.insert("polygon",":first-child").attr("points",i.map(function(o){return o.x+","+o.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+r/2+")")}p(Xe,"insertPolygonShape");var Co=12;async function kp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?28:o,a=t.look==="neo"?24:o,{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=(t?.width??l.width)+(t.look==="neo"?s*2:s+Co),h=(t?.height??l.height)+(t.look==="neo"?a*2:a),d=0,f=c,u=-h,g=0,m=[{x:d+Co,y:u},{x:f,y:u},{x:f,y:g},{x:d,y:g},{x:d,y:u+Co},{x:d+Co,y:u}];let y;const{cssStyles:C}=t;if(t.look==="handDrawn"){const b=X.svg(n),k=V(t,{}),w=pt(m),S=b.path(w,k);y=n.insert(()=>S,":first-child").attr("transform",`translate(${-c/2}, ${h/2})`),C&&y.attr("style",C)}else y=Xe(n,c,h,m);return i&&y.attr("style",i),K(t,y),t.intersect=function(b){return j.polygon(t,m,b)},n}p(kp,"card");function Tp(e,t){const{nodeStyles:r}=Z(t);t.label="";const i=e.insert("g").attr("class",tt(t)).attr("id",t.domId??t.id),{cssStyles:o}=t,s=Math.max(28,t.width??0),a=[{x:0,y:s/2},{x:s/2,y:0},{x:0,y:-s/2},{x:-s/2,y:0}],n=X.svg(i),l=V(t,{});t.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const c=pt(a),h=n.path(c,l),d=i.insert(()=>h,":first-child");return o&&t.look!=="handDrawn"&&d.selectAll("path").attr("style",o),r&&t.look!=="handDrawn"&&d.selectAll("path").attr("style",r),t.width=28,t.height=28,t.intersect=function(f){return j.polygon(t,a,f)},i}p(Tp,"choice");async function al(e,t,r){const{labelStyles:i,nodeStyles:o}=Z(t);t.labelStyle=i;const{shapeSvg:s,bbox:a,halfPadding:n}=await et(e,t,tt(t)),l=16,c=r?.padding??n,h=t.look==="neo"?a.width/2+l*2:a.width/2+c;let d;const{cssStyles:f}=t;if(t.look==="handDrawn"){const u=X.svg(s),g=V(t,{}),m=u.circle(0,0,h*2,g);d=s.insert(()=>m,":first-child"),d.attr("class","basic label-container").attr("style",Pt(f))}else d=s.insert("circle",":first-child").attr("class","basic label-container").attr("style",o).attr("r",h).attr("cx",0).attr("cy",0);return K(t,d),t.calcIntersect=function(u,g){const m=u.width/2;return j.circle(u,m,g)},t.intersect=function(u){return N.info("Circle intersect",t,h,u),j.circle(t,h,u)},s}p(al,"circle");function wp(e){const t=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),i=e*2,o={x:i/2*t,y:i/2*r},s={x:-(i/2)*t,y:i/2*r},a={x:-(i/2)*t,y:-(i/2)*r},n={x:i/2*t,y:-(i/2)*r};return`M ${s.x},${s.y} L ${n.x},${n.y} + M ${o.x},${o.y} L ${a.x},${a.y}`}p(wp,"createLine");function Sp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r,t.label="";const o=e.insert("g").attr("class",tt(t)).attr("id",t.domId??t.id),s=Math.max(30,t?.width??0),{cssStyles:a}=t,n=X.svg(o),l=V(t,{});t.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const c=n.circle(0,0,s*2,l),h=wp(s),d=n.path(h,l),f=o.insert(()=>c,":first-child");return f.insert(()=>d),f.attr("class","outer-path"),a&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",a),i&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",i),K(t,f),t.intersect=function(u){return N.info("crossedCircle intersect",t,{radius:s,point:u}),j.circle(t,s,u)},o}p(Sp,"crossedCircle");function Ne(e,t,r,i=100,o=0,s=180){const a=[],n=o*Math.PI/180,h=(s*Math.PI/180-n)/(i-1);for(let d=0;dS,":first-child").attr("stroke-opacity",0),_.insert(()=>k,":first-child"),_.attr("class","text"),f&&t.look!=="handDrawn"&&_.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&_.selectAll("path").attr("style",i),_.attr("transform",`translate(${d}, 0)`),a.attr("transform",`translate(${-c/2+d-(s.x-(s.left??0))},${-h/2+(t.padding??0)/2-(s.y-(s.top??0))})`),K(t,_),t.intersect=function(F){return j.polygon(t,g,F)},o}p(_p,"curlyBraceLeft");function qe(e,t,r,i=100,o=0,s=180){const a=[],n=o*Math.PI/180,h=(s*Math.PI/180-n)/(i-1);for(let d=0;dS,":first-child").attr("stroke-opacity",0),_.insert(()=>k,":first-child"),_.attr("class","text"),f&&t.look!=="handDrawn"&&_.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&_.selectAll("path").attr("style",i),_.attr("transform",`translate(${-d}, 0)`),a.attr("transform",`translate(${-c/2+(t.padding??0)/2-(s.x-(s.left??0))},${-h/2+(t.padding??0)/2-(s.y-(s.top??0))})`),K(t,_),t.intersect=function(F){return j.polygon(t,g,F)},o}p(vp,"curlyBraceRight");function qt(e,t,r,i=100,o=0,s=180){const a=[],n=o*Math.PI/180,h=(s*Math.PI/180-n)/(i-1);for(let d=0;dq,":first-child").attr("stroke-opacity",0),O.insert(()=>w,":first-child"),O.insert(()=>F,":first-child"),O.attr("class","text"),f&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",i),O.attr("transform",`translate(${d-d/4}, 0)`),a.attr("transform",`translate(${-c/2+(t.padding??0)/2-(s.x-(s.left??0))},${-h/2+(t.padding??0)/2-(s.y-(s.top??0))})`),K(t,O),t.intersect=function(R){return j.polygon(t,m,R)},o}p(Bp,"curlyBraces");async function Lp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?12:o,n=20,l=5,{shapeSvg:c,bbox:h}=await et(e,t,tt(t)),d=Math.max(n,(h.width+s*2)*1.25,t?.width??0),f=Math.max(l,h.height+a*2,t?.height??0),u=f/2,{cssStyles:g}=t,m=X.svg(c),y=V(t,{});t.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const C=d,b=f,k=C-u,w=b/4,S=[{x:k,y:0},{x:w,y:0},{x:0,y:b/2},{x:w,y:b},{x:k,y:b},...zi(-k,-b/2,u,50,270,90)],_=pt(S),F=m.path(_,y),B=c.insert(()=>F,":first-child");return B.attr("class","basic label-container outer-path"),g&&t.look!=="handDrawn"&&B.selectChildren("path").attr("style",g),i&&t.look!=="handDrawn"&&B.selectChildren("path").attr("style",i),B.attr("transform",`translate(${-d/2}, ${-f/2})`),K(t,B),t.intersect=function(q){return j.polygon(t,S,q)},c}p(Lp,"curvedTrapezoid");var ew=p((e,t,r,i,o,s)=>[`M${e},${t+s}`,`a${o},${s} 0,0,0 ${r},0`,`a${o},${s} 0,0,0 ${-r},0`,`l0,${i}`,`a${o},${s} 0,0,0 ${r},0`,`l0,${-i}`].join(" "),"createCylinderPathD"),rw=p((e,t,r,i,o,s)=>[`M${e},${t+s}`,`M${e+r},${t+s}`,`a${o},${s} 0,0,0 ${-r},0`,`l0,${i}`,`a${o},${s} 0,0,0 ${r},0`,`l0,${-i}`].join(" "),"createOuterCylinderPathD"),iw=p((e,t,r,i,o,s)=>[`M${e-r/2},${-i/2}`,`a${o},${s} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Gh=8,Xh=8;async function Fp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?24:o,a=t.look==="neo"?24:o;if(t.width||t.height){const y=t.width??0;t.width=(t.width??0)-a,t.widthS,":first-child"),g=n.insert(()=>w,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{const y=ew(0,0,h,u,d,f);g=n.insert("path",":first-child").attr("d",y).attr("class","basic label-container outer-path").attr("style",Pt(m)).attr("style",i)}return g.attr("label-offset-y",f),g.attr("transform",`translate(${-h/2}, ${-(u/2+f)})`),K(t,g),c.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(t.padding??0)/1.5-(l.y-(l.top??0))})`),t.intersect=function(y){const C=j.rect(t,y),b=C.x-(t.x??0);if(d!=0&&(Math.abs(b)<(t.width??0)/2||Math.abs(b)==(t.width??0)/2&&Math.abs(C.y-(t.y??0))>(t.height??0)/2-f)){let k=f*f*(1-b*b/(d*d));k>0&&(k=Math.sqrt(k)),k=f-k,y.y-(t.y??0)>0&&(k=-k),C.y+=k}return C},n}p(Fp,"cylinder");async function si(e,t,r){const{labelStyles:i,nodeStyles:o}=Z(t);t.labelStyle=i;const{shapeSvg:s,bbox:a}=await et(e,t,tt(t)),n=Math.max(a.width+r.labelPaddingX*2,t?.width||0),l=Math.max(a.height+r.labelPaddingY*2,t?.height||0),c=-n/2,h=-l/2;let d,{rx:f,ry:u}=t;const{cssStyles:g}=t;if(r?.rx&&r.ry&&(f=r.rx,u=r.ry),t.look==="handDrawn"){const m=X.svg(s),y=V(t,{}),C=f||u?m.path(ar(c,h,n,l,f||0),y):m.rectangle(c,h,n,l,y);d=s.insert(()=>C,":first-child"),d.attr("class","basic label-container").attr("style",Pt(g))}else d=s.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",o).attr("rx",Pt(f)).attr("ry",Pt(u)).attr("x",c).attr("y",h).attr("width",n).attr("height",l);return K(t,d),t.calcIntersect=function(m,y){return j.rect(m,y)},t.intersect=function(m){return j.rect(t,m)},s}p(si,"drawRect");async function Ap(e,t){const{cssClasses:r,labelPaddingX:i,labelPaddingY:o,padding:s,width:a,height:n}=t,l={rx:0,ry:0,labelPaddingX:i??(s??0)*2,labelPaddingY:o??s??0},c=await si(e,t,l);if(t.look==="handDrawn"){const u=X.svg(c),g=V(t,{}),m=c.select(".basic.label-container > path:nth-child(2)"),y=m.node();if(!y)return c;let C=null;if(y instanceof SVGGraphicsElement)C=y.getBBox();else return c;return c.insert(()=>u.line(C.x,C.y,C.x+C.width,C.y,g),".basic.label-container g.label"),c.insert(()=>u.line(C.x,C.y+C.height,C.x+C.width,C.y+C.height,g),".basic.label-container g.label"),m.remove(),c}const h=c.select(".basic.label-container"),d=(Number(h.attr("width"))||a)??0,f=(Number(h.attr("height"))||n)??0;return d>0&&f>0&&h.attr("stroke-dasharray",`${d} ${f}`),c}p(Ap,"datastore");async function Ep(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.look==="neo"?16:t.padding??0,s=t.look==="neo"?16:t.padding??0,{shapeSvg:a,bbox:n,label:l}=await et(e,t,tt(t)),c=n.width+o,h=n.height+s,d=h*.2,f=-c/2,u=-h/2-d/2,{cssStyles:g}=t,m=X.svg(a),y=V(t,{});t.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const C=[{x:f,y:u+d},{x:-f,y:u+d},{x:-f,y:-u},{x:f,y:-u},{x:f,y:u},{x:-f,y:u},{x:-f,y:u+d}],b=m.polygon(C.map(w=>[w.x,w.y]),y),k=a.insert(()=>b,":first-child");return k.attr("class","basic label-container outer-path"),g&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",g),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),l.attr("transform",`translate(${f+(t.padding??0)/2-(n.x-(n.left??0))}, ${u+d+(t.padding??0)/2-(n.y-(n.top??0))})`),K(t,k),t.intersect=function(w){return j.rect(t,w)},a}p(Ep,"dividedRectangle");async function Mp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t),o=t.look==="neo"?12:5;t.labelStyle=r;const s=t.padding??0,a=t.look==="neo"?16:s,{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=(t?.width?t?.width/2:l.width/2)+(a??0),h=c-o;let d;const{cssStyles:f}=t;if(t.look==="handDrawn"){const u=X.svg(n),g=V(t,{roughness:.2,strokeWidth:2.5}),m=V(t,{roughness:.2,strokeWidth:1.5}),y=u.circle(0,0,c*2,g),C=u.circle(0,0,h*2,m);d=n.insert("g",":first-child"),d.attr("class",Pt(t.cssClasses)).attr("style",Pt(f)),d.node()?.appendChild(y),d.node()?.appendChild(C)}else{d=n.insert("g",":first-child");const u=d.insert("circle",":first-child"),g=d.insert("circle");d.attr("class","basic label-container").attr("style",i),u.attr("class","outer-circle").attr("style",i).attr("r",c).attr("cx",0).attr("cy",0),g.attr("class","inner-circle").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0)}return K(t,d),t.intersect=function(u){return N.info("DoubleCircle intersect",t,c,u),j.circle(t,c,u)},n}p(Mp,"doublecircle");function $p(e,t,{config:{themeVariables:r}}){const{labelStyles:i,nodeStyles:o}=Z(t);t.label="",t.labelStyle=i;const s=e.insert("g").attr("class",tt(t)).attr("id",t.domId??t.id),a=7,{cssStyles:n}=t,l=X.svg(s),{nodeBorder:c}=r,h=V(t,{fillStyle:"solid"});t.look!=="handDrawn"&&(h.roughness=0);const d=l.circle(0,0,a*2,h),f=s.insert(()=>d,":first-child");return f.selectAll("path").attr("style",`fill: ${c} !important;`),n&&n.length>0&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",n),o&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",o),K(t,f),t.intersect=function(u){return N.info("filledCircle intersect",t,{radius:a,point:u}),j.circle(t,a,u)},s}p($p,"filledCircle");var Vh=10,Zh=10;async function Op(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?o*2:o;(t.width||t.height)&&(t.height=t?.height??0,t.heightC,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return u&&t.look!=="handDrawn"&&b.selectChildren("path").attr("style",u),i&&t.look!=="handDrawn"&&b.selectChildren("path").attr("style",i),t.width=c,t.height=h,K(t,b),l.attr("transform",`translate(${-n.width/2-(n.x-(n.left??0))}, ${-h/2+(t.padding??0)/2+(n.y-(n.top??0))})`),t.intersect=function(k){return N.info("Triangle intersect",t,f,k),j.polygon(t,f,k)},a}p(Op,"flippedTriangle");function Ip(e,t,{dir:r,config:{state:i,themeVariables:o}}){const{nodeStyles:s}=Z(t);t.label="";const a=e.insert("g").attr("class",tt(t)).attr("id",t.domId??t.id),{cssStyles:n}=t;let l=Math.max(70,t?.width??0),c=Math.max(10,t?.height??0);r==="LR"&&(l=Math.max(10,t?.width??0),c=Math.max(70,t?.height??0));const h=-1*l/2,d=-1*c/2,f=X.svg(a),u=V(t,{stroke:o.lineColor,fill:o.lineColor});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const g=f.rectangle(h,d,l,c,u),m=a.insert(()=>g,":first-child");n&&t.look!=="handDrawn"&&m.selectAll("path").attr("style",n),s&&t.look!=="handDrawn"&&m.selectAll("path").attr("style",s),K(t,m);const y=i?.padding??0;return t.width&&t.height&&(t.width+=y/2||0,t.height+=y/2||0),t.intersect=function(C){return j.rect(t,C)},a}p(Ip,"forkJoin");async function Dp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=15,s=10,a=t.look==="neo"?16:t.padding??0,n=t.look==="neo"?12:t.padding??0;(t.width||t.height)&&(t.height=(t?.height??0)-n*2,t.heightb,":first-child");return k.attr("class","basic label-container outer-path"),u&&t.look!=="handDrawn"&&k.selectChildren("path").attr("style",u),i&&t.look!=="handDrawn"&&k.selectChildren("path").attr("style",i),K(t,k),t.intersect=function(w){return N.info("Pill intersect",t,{radius:f,point:w}),j.polygon(t,y,w)},l}p(Dp,"halfRoundedRectangle");var ow=p((e,t,r,i,o)=>[`M${e+o},${t}`,`L${e+r-o},${t}`,`L${e+r},${t-i/2}`,`L${e+r-o},${t-i}`,`L${e+o},${t-i}`,`L${e},${t-i/2}`,"Z"].join(" "),"createHexagonPathD");async function Rp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t),o=t.look==="neo"?3.5:4;t.labelStyle=r;const s=t.padding??0,a=70,n=32,l=t.look==="neo"?a:s,c=t.look==="neo"?n:s;if(t.width||t.height){const k=(t.height??0)/o;t.width=(t?.width??0)-2*k-c,t.height=(t.height??0)-l}const{shapeSvg:h,bbox:d}=await et(e,t,tt(t)),f=(t?.height?t?.height:d.height)+l,u=f/o,g=(t?.width?t?.width:d.width)+2*u+c,m=[{x:u,y:0},{x:g-u,y:0},{x:g,y:-f/2},{x:g-u,y:-f},{x:u,y:-f},{x:0,y:-f/2}];let y;const{cssStyles:C}=t;if(t.look==="handDrawn"){const b=X.svg(h),k=V(t,{}),w=ow(0,0,g,f,u),S=b.path(w,k);y=h.insert(()=>S,":first-child").attr("transform",`translate(${-g/2}, ${f/2})`),C&&y.attr("style",C)}else y=Xe(h,g,f,m);return i&&y.attr("style",i),t.width=g,t.height=f,K(t,y),t.intersect=function(b){return j.polygon(t,m,b)},h}p(Rp,"hexagon");async function Pp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.label="",t.labelStyle=r;const{shapeSvg:o}=await et(e,t,tt(t)),s=Math.max(30,t?.width??0),a=Math.max(30,t?.height??0),{cssStyles:n}=t,l=X.svg(o),c=V(t,{});t.look!=="handDrawn"&&(c.roughness=0,c.fillStyle="solid");const h=[{x:0,y:0},{x:s,y:0},{x:0,y:a},{x:s,y:a}],d=pt(h),f=l.path(d,c),u=o.insert(()=>f,":first-child");return u.attr("class","basic label-container outer-path"),n&&t.look!=="handDrawn"&&u.selectChildren("path").attr("style",n),i&&t.look!=="handDrawn"&&u.selectChildren("path").attr("style",i),u.attr("transform",`translate(${-s/2}, ${-a/2})`),K(t,u),t.intersect=function(g){return N.info("Pill intersect",t,{points:h}),j.polygon(t,h,g)},o}p(Pp,"hourglass");async function Np(e,t,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:o}=Z(t);t.labelStyle=o;const s=t.assetHeight??48,a=t.assetWidth??48,n=Math.max(s,a),l=i?.wrappingWidth;t.width=Math.max(n,l??0);const{shapeSvg:c,bbox:h,label:d}=await et(e,t,"icon-shape default"),f=t.pos==="t",u=n,g=n,{nodeBorder:m}=r,{stylesMap:y}=ii(t),C=-g/2,b=-u/2,k=t.label?8:0,w=X.svg(c),S=V(t,{stroke:"none",fill:"none"});t.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");const _=w.rectangle(C,b,g,u,S),F=Math.max(g,h.width),B=u+h.height+k,q=w.rectangle(-F/2,-B/2,F,B,{...S,fill:"transparent",stroke:"none"}),O=c.insert(()=>_,":first-child"),R=c.insert(()=>q);if(t.icon){const H=c.append("g");H.html(`${await Qi(t.icon,{height:n,width:n,fallbackPrefix:""})}`);const W=H.node().getBBox(),I=W.width,A=W.height,L=W.x,E=W.y;H.attr("transform",`translate(${-I/2-L},${f?h.height/2+k/2-A/2-E:-h.height/2-k/2-A/2-E})`),H.attr("style",`color: ${y.get("stroke")??m};`)}return d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-B/2:B/2-h.height})`),O.attr("transform",`translate(0,${f?h.height/2+k/2:-h.height/2-k/2})`),K(t,R),t.intersect=function(H){if(N.info("iconSquare intersect",t,H),!t.label)return j.rect(t,H);const W=t.x??0,I=t.y??0,A=t.height??0;let L=[];return f?L=[{x:W-h.width/2,y:I-A/2},{x:W+h.width/2,y:I-A/2},{x:W+h.width/2,y:I-A/2+h.height+k},{x:W+g/2,y:I-A/2+h.height+k},{x:W+g/2,y:I+A/2},{x:W-g/2,y:I+A/2},{x:W-g/2,y:I-A/2+h.height+k},{x:W-h.width/2,y:I-A/2+h.height+k}]:L=[{x:W-g/2,y:I-A/2},{x:W+g/2,y:I-A/2},{x:W+g/2,y:I-A/2+u},{x:W+h.width/2,y:I-A/2+u},{x:W+h.width/2/2,y:I+A/2},{x:W-h.width/2,y:I+A/2},{x:W-h.width/2,y:I-A/2+u},{x:W-g/2,y:I-A/2+u}],j.polygon(t,L,H)},c}p(Np,"icon");async function qp(e,t,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:o}=Z(t);t.labelStyle=o;const s=t.assetHeight??48,a=t.assetWidth??48,n=Math.max(s,a),l=i?.wrappingWidth;t.width=Math.max(n,l??0);const{shapeSvg:c,bbox:h,label:d}=await et(e,t,"icon-shape default"),f=20,u=t.label?8:0,g=t.pos==="t",{nodeBorder:m,mainBkg:y}=r,{stylesMap:C}=ii(t),b=X.svg(c),k=V(t,{});t.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const w=C.get("fill");k.stroke=w??y;const S=c.append("g");t.icon&&S.html(`${await Qi(t.icon,{height:n,width:n,fallbackPrefix:""})}`);const _=S.node().getBBox(),F=_.width,B=_.height,q=_.x,O=_.y,R=Math.max(F,B)*Math.SQRT2+f*2,H=b.circle(0,0,R,k),W=Math.max(R,h.width),I=R+h.height+u,A=b.rectangle(-W/2,-I/2,W,I,{...k,fill:"transparent",stroke:"none"}),L=c.insert(()=>H,":first-child"),E=c.insert(()=>A);return S.attr("transform",`translate(${-F/2-q},${g?h.height/2+u/2-B/2-O:-h.height/2-u/2-B/2-O})`),S.attr("style",`color: ${C.get("stroke")??m};`),d.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${g?-I/2:I/2-h.height})`),L.attr("transform",`translate(0,${g?h.height/2+u/2:-h.height/2-u/2})`),K(t,E),t.intersect=function(D){return N.info("iconSquare intersect",t,D),j.rect(t,D)},c}p(qp,"iconCircle");async function Wp(e,t,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:o}=Z(t);t.labelStyle=o;const s=t.assetHeight??48,a=t.assetWidth??48,n=Math.max(s,a),l=i?.wrappingWidth;t.width=Math.max(n,l??0);const{shapeSvg:c,bbox:h,halfPadding:d,label:f}=await et(e,t,"icon-shape default"),u=t.pos==="t",g=n+d*2,m=n+d*2,{nodeBorder:y,mainBkg:C}=r,{stylesMap:b}=ii(t),k=-m/2,w=-g/2,S=t.label?8:0,_=X.svg(c),F=V(t,{});t.look!=="handDrawn"&&(F.roughness=0,F.fillStyle="solid");const B=b.get("fill");F.stroke=B??C;const q=_.path(ar(k,w,m,g,5),F),O=Math.max(m,h.width),R=g+h.height+S,H=_.rectangle(-O/2,-R/2,O,R,{...F,fill:"transparent",stroke:"none"}),W=c.insert(()=>q,":first-child").attr("class","icon-shape2"),I=c.insert(()=>H);if(t.icon){const A=c.append("g");A.html(`${await Qi(t.icon,{height:n,width:n,fallbackPrefix:""})}`);const L=A.node().getBBox(),E=L.width,D=L.height,z=L.x,Y=L.y;A.attr("transform",`translate(${-E/2-z},${u?h.height/2+S/2-D/2-Y:-h.height/2-S/2-D/2-Y})`),A.attr("style",`color: ${b.get("stroke")??y};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${u?-R/2:R/2-h.height})`),W.attr("transform",`translate(0,${u?h.height/2+S/2:-h.height/2-S/2})`),K(t,I),t.intersect=function(A){if(N.info("iconSquare intersect",t,A),!t.label)return j.rect(t,A);const L=t.x??0,E=t.y??0,D=t.height??0;let z=[];return u?z=[{x:L-h.width/2,y:E-D/2},{x:L+h.width/2,y:E-D/2},{x:L+h.width/2,y:E-D/2+h.height+S},{x:L+m/2,y:E-D/2+h.height+S},{x:L+m/2,y:E+D/2},{x:L-m/2,y:E+D/2},{x:L-m/2,y:E-D/2+h.height+S},{x:L-h.width/2,y:E-D/2+h.height+S}]:z=[{x:L-m/2,y:E-D/2},{x:L+m/2,y:E-D/2},{x:L+m/2,y:E-D/2+g},{x:L+h.width/2,y:E-D/2+g},{x:L+h.width/2/2,y:E+D/2},{x:L-h.width/2,y:E+D/2},{x:L-h.width/2,y:E-D/2+g},{x:L-m/2,y:E-D/2+g}],j.polygon(t,z,A)},c}p(Wp,"iconRounded");async function zp(e,t,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:o}=Z(t);t.labelStyle=o;const s=t.assetHeight??48,a=t.assetWidth??48,n=Math.max(s,a),l=i?.wrappingWidth;t.width=Math.max(n,l??0);const{shapeSvg:c,bbox:h,halfPadding:d,label:f}=await et(e,t,"icon-shape default"),u=t.pos==="t",g=n+d*2,m=n+d*2,{nodeBorder:y,mainBkg:C}=r,{stylesMap:b}=ii(t),k=-m/2,w=-g/2,S=t.label?8:0,_=X.svg(c),F=V(t,{});t.look!=="handDrawn"&&(F.roughness=0,F.fillStyle="solid");const B=b.get("fill");F.stroke=B??C;const q=_.path(ar(k,w,m,g,.1),F),O=Math.max(m,h.width),R=g+h.height+S,H=_.rectangle(-O/2,-R/2,O,R,{...F,fill:"transparent",stroke:"none"}),W=c.insert(()=>q,":first-child"),I=c.insert(()=>H);if(t.icon){const A=c.append("g");A.html(`${await Qi(t.icon,{height:n,width:n,fallbackPrefix:""})}`);const L=A.node().getBBox(),E=L.width,D=L.height,z=L.x,Y=L.y;A.attr("transform",`translate(${-E/2-z},${u?h.height/2+S/2-D/2-Y:-h.height/2-S/2-D/2-Y})`),A.attr("style",`color: ${b.get("stroke")??y};`)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${u?-R/2:R/2-h.height})`),W.attr("transform",`translate(0,${u?h.height/2+S/2:-h.height/2-S/2})`),K(t,I),t.intersect=function(A){if(N.info("iconSquare intersect",t,A),!t.label)return j.rect(t,A);const L=t.x??0,E=t.y??0,D=t.height??0;let z=[];return u?z=[{x:L-h.width/2,y:E-D/2},{x:L+h.width/2,y:E-D/2},{x:L+h.width/2,y:E-D/2+h.height+S},{x:L+m/2,y:E-D/2+h.height+S},{x:L+m/2,y:E+D/2},{x:L-m/2,y:E+D/2},{x:L-m/2,y:E-D/2+h.height+S},{x:L-h.width/2,y:E-D/2+h.height+S}]:z=[{x:L-m/2,y:E-D/2},{x:L+m/2,y:E-D/2},{x:L+m/2,y:E-D/2+g},{x:L+h.width/2,y:E-D/2+g},{x:L+h.width/2/2,y:E+D/2},{x:L-h.width/2,y:E+D/2},{x:L-h.width/2,y:E-D/2+g},{x:L-m/2,y:E-D/2+g}],j.polygon(t,z,A)},c}p(zp,"iconSquare");async function Hp(e,t,{config:{flowchart:r}}){const i=new Image;i.src=t?.img??"",await i.decode();const o=Number(i.naturalWidth.toString().replace("px","")),s=Number(i.naturalHeight.toString().replace("px",""));t.imageAspectRatio=o/s;const{labelStyles:a}=Z(t);t.labelStyle=a;const n=r?.wrappingWidth;t.defaultWidth=r?.wrappingWidth;const l=Math.max(t.label?n??0:0,t?.assetWidth??o),c=t.constraint==="on"&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:l,h=t.constraint==="on"?c/t.imageAspectRatio:t?.assetHeight??s;t.width=Math.max(c,n??0);const{shapeSvg:d,bbox:f,label:u}=await et(e,t,"image-shape default"),g=t.pos==="t",m=-c/2,y=-h/2,C=t.label?8:0,b=X.svg(d),k=V(t,{});t.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const w=b.rectangle(m,y,c,h,k),S=Math.max(c,f.width),_=h+f.height+C,F=b.rectangle(-S/2,-_/2,S,_,{...k,fill:"none",stroke:"none"}),B=d.insert(()=>w,":first-child"),q=d.insert(()=>F);if(t.img){const O=d.append("image");O.attr("href",t.img),O.attr("width",c),O.attr("height",h),O.attr("preserveAspectRatio","none"),O.attr("transform",`translate(${-c/2},${g?_/2-h:-_/2})`)}return u.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-h/2-f.height/2-C/2:h/2-f.height/2+C/2})`),B.attr("transform",`translate(0,${g?f.height/2+C/2:-f.height/2-C/2})`),K(t,q),t.intersect=function(O){if(N.info("iconSquare intersect",t,O),!t.label)return j.rect(t,O);const R=t.x??0,H=t.y??0,W=t.height??0;let I=[];return g?I=[{x:R-f.width/2,y:H-W/2},{x:R+f.width/2,y:H-W/2},{x:R+f.width/2,y:H-W/2+f.height+C},{x:R+c/2,y:H-W/2+f.height+C},{x:R+c/2,y:H+W/2},{x:R-c/2,y:H+W/2},{x:R-c/2,y:H-W/2+f.height+C},{x:R-f.width/2,y:H-W/2+f.height+C}]:I=[{x:R-c/2,y:H-W/2},{x:R+c/2,y:H-W/2},{x:R+c/2,y:H-W/2+h},{x:R+f.width/2,y:H-W/2+h},{x:R+f.width/2/2,y:H+W/2},{x:R-f.width/2,y:H+W/2},{x:R-f.width/2,y:H-W/2+h},{x:R-c/2,y:H-W/2+h}],j.polygon(t,I,O)},d}p(Hp,"imageSquare");async function Yp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=o,a=t.look==="neo"?o*2:o,{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=Math.max(l.width+(a??0)*2,t?.width??0),h=Math.max(l.height+(s??0)*2,t?.height??0),d=[{x:0,y:0},{x:c,y:0},{x:c+3*h/6,y:-h},{x:-3*h/6,y:-h}];let f;const{cssStyles:u}=t;if(t.look==="handDrawn"){const g=X.svg(n),m=V(t,{}),y=pt(d),C=g.path(y,m);f=n.insert(()=>C,":first-child").attr("transform",`translate(${-c/2}, ${h/2})`),u&&f.attr("style",u)}else f=Xe(n,c,h,d);return i&&f.attr("style",i),t.width=c,t.height=h,K(t,f),t.intersect=function(g){return j.polygon(t,d,g)},n}p(Yp,"inv_trapezoid");async function Up(e,t){const{shapeSvg:r,bbox:i,label:o}=await et(e,t,"label"),s=r.insert("rect",":first-child");return s.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),o.attr("transform",`translate(${-(i.width/2)-(i.x-(i.left??0))}, ${-(i.height/2)-(i.y-(i.top??0))})`),K(t,s),t.intersect=function(l){return j.rect(t,l)},r}p(Up,"labelRect");async function jp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=o,a=t.look==="neo"?o*2:o,{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=(t?.height??l.height)+s,h=(t?.width??l.width)+a,d=[{x:0,y:0},{x:h+3*c/6,y:0},{x:h,y:-c},{x:-(3*c)/6,y:-c}];let f;const{cssStyles:u}=t;if(t.look==="handDrawn"){const g=X.svg(n),m=V(t,{}),y=pt(d),C=g.path(y,m);f=n.insert(()=>C,":first-child").attr("transform",`translate(${-h/2}, ${c/2})`),u&&f.attr("style",u)}else f=Xe(n,h,c,d);return i&&f.attr("style",i),t.width=h,t.height=c,K(t,f),t.intersect=function(g){return j.polygon(t,d,g)},n}p(jp,"lean_left");async function Gp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=o,a=t.look==="neo"?o*2:o,{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=(t?.height??l.height)+s,h=(t?.width??l.width)+a,d=[{x:-3*c/6,y:0},{x:h,y:0},{x:h+3*c/6,y:-c},{x:0,y:-c}];let f;const{cssStyles:u}=t;if(t.look==="handDrawn"){const g=X.svg(n),m=V(t,{}),y=pt(d),C=g.path(y,m);f=n.insert(()=>C,":first-child").attr("transform",`translate(${-h/2}, ${c/2})`),u&&f.attr("style",u)}else f=Xe(n,h,c,d);return i&&f.attr("style",i),t.width=h,t.height=c,K(t,f),t.intersect=function(g){return j.polygon(t,d,g)},n}p(Gp,"lean_right");function Xp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.label="",t.labelStyle=r;const o=e.insert("g").attr("class",tt(t)).attr("id",t.domId??t.id),{cssStyles:s}=t,a=Math.max(35,t?.width??0),n=Math.max(35,t?.height??0),l=7,c=[{x:a,y:0},{x:0,y:n+l/2},{x:a-2*l,y:n+l/2},{x:0,y:2*n},{x:a,y:n-l/2},{x:2*l,y:n-l/2}],h=X.svg(o),d=V(t,{});t.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");const f=pt(c),u=h.path(f,d),g=o.insert(()=>u,":first-child");return g.attr("class","outer-path"),s&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",s),i&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",i),g.attr("transform",`translate(-${a/2},${-n})`),K(t,g),t.intersect=function(m){return N.info("lightningBolt intersect",t,m),j.polygon(t,c,m)},o}p(Xp,"lightningBolt");var sw=p((e,t,r,i,o,s,a)=>[`M${e},${t+s}`,`a${o},${s} 0,0,0 ${r},0`,`a${o},${s} 0,0,0 ${-r},0`,`l0,${i}`,`a${o},${s} 0,0,0 ${r},0`,`l0,${-i}`,`M${e},${t+s+a}`,`a${o},${s} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),aw=p((e,t,r,i,o,s,a)=>[`M${e},${t+s}`,`M${e+r},${t+s}`,`a${o},${s} 0,0,0 ${-r},0`,`l0,${i}`,`a${o},${s} 0,0,0 ${r},0`,`l0,${-i}`,`M${e},${t+s+a}`,`a${o},${s} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),nw=p((e,t,r,i,o,s)=>[`M${e-r/2},${-i/2}`,`a${o},${s} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Kh=10,Qh=10;async function Vp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?24:o;if(t.width||t.height){const C=t.width??0;t.width=(t.width??0)-s,t.width_,":first-child").attr("class","line"),m=n.insert(()=>S,":first-child"),m.attr("class","basic label-container"),y&&m.attr("style",y)}else{const C=sw(0,0,h,u,d,f,g);m=n.insert("path",":first-child").attr("d",C).attr("class","basic label-container outer-path").attr("style",Pt(y)).attr("style",i)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-h/2}, ${-(u/2+f)})`),K(t,m),c.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),t.intersect=function(C){const b=j.rect(t,C),k=b.x-(t.x??0);if(d!=0&&(Math.abs(k)<(t.width??0)/2||Math.abs(k)==(t.width??0)/2&&Math.abs(b.y-(t.y??0))>(t.height??0)/2-f)){let w=f*f*(1-k*k/(d*d));w>0&&(w=Math.sqrt(w)),w=f-w,C.y-(t.y??0)>0&&(w=-w),b.y+=w}return b},n}p(Vp,"linedCylinder");async function Zp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?12:o;if(t.width||t.height){const w=t.width;t.width=(w??0)*10/11-s*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-a*2,t.height<10&&(t.height=10)}const{shapeSvg:n,bbox:l,label:c}=await et(e,t,tt(t)),h=(t?.width?t?.width:l.width)+(s??0)*2,d=(t?.height?t?.height:l.height)+(a??0)*2,f=t.look==="neo"?d/4:d/8,u=d+f,{cssStyles:g}=t,m=X.svg(n),y=V(t,{});t.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const C=[{x:-h/2-h/2*.1,y:-u/2},{x:-h/2-h/2*.1,y:u/2},...sr(-h/2-h/2*.1,u/2,h/2+h/2*.1,u/2,f,.8),{x:h/2+h/2*.1,y:-u/2},{x:-h/2-h/2*.1,y:-u/2},{x:-h/2,y:-u/2},{x:-h/2,y:u/2*1.1},{x:-h/2,y:-u/2}],b=m.polygon(C.map(w=>[w.x,w.y]),y),k=n.insert(()=>b,":first-child");return k.attr("class","basic label-container outer-path"),g&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",g),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(0,${-f/2})`),c.attr("transform",`translate(${-h/2+(t.padding??0)+h/2*.1/2-(l.x-(l.left??0))},${-d/2+(t.padding??0)-f/2-(l.y-(l.top??0))})`),K(t,k),t.intersect=function(w){return j.polygon(t,C,w)},n}p(Zp,"linedWaveEdgedRect");async function Kp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?12:o,n=t.look==="neo"?10:5;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-s*2-2*n,10),t.height=Math.max((t?.height??0)-a*2-2*n,10));const{shapeSvg:l,bbox:c,label:h}=await et(e,t,tt(t)),d=(t?.width?t?.width:c.width)+s*2+2*n,f=(t?.height?t?.height:c.height)+a*2+2*n,u=d-2*n,g=f-2*n,m=-u/2,y=-g/2,{cssStyles:C}=t,b=X.svg(l),k=V(t,{}),w=[{x:m-n,y:y+n},{x:m-n,y:y+g+n},{x:m+u-n,y:y+g+n},{x:m+u-n,y:y+g},{x:m+u,y:y+g},{x:m+u,y:y+g-n},{x:m+u+n,y:y+g-n},{x:m+u+n,y:y-n},{x:m+n,y:y-n},{x:m+n,y},{x:m,y},{x:m,y:y+n}],S=[{x:m,y:y+n},{x:m+u-n,y:y+n},{x:m+u-n,y:y+g},{x:m+u,y:y+g},{x:m+u,y},{x:m,y}];t.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const _=pt(w);let F=b.path(_,k);const B=pt(S);let q=b.path(B,k);t.look!=="handDrawn"&&(F=Ja(F),q=Ja(q));const O=l.insert("g",":first-child");return O.insert(()=>F),O.insert(()=>q),O.attr("class","basic label-container outer-path"),C&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",C),i&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",i),h.attr("transform",`translate(${-(c.width/2)-n-(c.x-(c.left??0))}, ${-(c.height/2)+n-(c.y-(c.top??0))})`),K(t,O),t.intersect=function(R){return j.polygon(t,w,R)},l}p(Kp,"multiRect");async function Qp(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:o,bbox:s,label:a}=await et(e,t,tt(t)),n=t.padding??0,l=t.look==="neo"?16:n,c=t.look==="neo"?12:n;let h=!0;(t.width||t.height)&&(h=!1,t.width=(t?.width??0)-l*2,t.height=(t?.height??0)-c*3);const d=Math.max(s.width,t?.width??0)+l*2,f=Math.max(s.height,t?.height??0)+c*3,u=t.look==="neo"?f/4:f/8,g=f+(h?u/2:-u/2),m=-d/2,y=-g/2,C=10,{cssStyles:b}=t,k=sr(m-C,y+g+C,m+d-C,y+g+C,u,.8),w=k?.[k.length-1],S=[{x:m-C,y:y+C},{x:m-C,y:y+g+C},...k,{x:m+d-C,y:w.y-C},{x:m+d,y:w.y-C},{x:m+d,y:w.y-2*C},{x:m+d+C,y:w.y-2*C},{x:m+d+C,y:y-C},{x:m+C,y:y-C},{x:m+C,y},{x:m,y},{x:m,y:y+C}],_=[{x:m,y:y+C},{x:m+d-C,y:y+C},{x:m+d-C,y:w.y-C},{x:m+d,y:w.y-C},{x:m+d,y},{x:m,y}],F=X.svg(o),B=V(t,{});t.look!=="handDrawn"&&(B.roughness=0,B.fillStyle="solid");const q=pt(S),O=F.path(q,B),R=pt(_),H=F.path(R,B),W=o.insert(()=>O,":first-child");return W.insert(()=>H),W.attr("class","basic label-container outer-path"),b&&t.look!=="handDrawn"&&W.selectAll("path").attr("style",b),i&&t.look!=="handDrawn"&&W.selectAll("path").attr("style",i),W.attr("transform",`translate(0,${-u/2})`),a.attr("transform",`translate(${-(s.width/2)-C-(s.x-(s.left??0))}, ${-(s.height/2)+C-u/2-(s.y-(s.top??0))})`),K(t,W),t.intersect=function(I){return j.polygon(t,S,I)},o}p(Qp,"multiWaveEdgedRectangle");async function Jp(e,t,{config:{themeVariables:r}}){const{labelStyles:i,nodeStyles:o}=Z(t);t.labelStyle=i,t.useHtmlLabels||Qt(vt())||(t.centerLabel=!0);const{shapeSvg:a,bbox:n,label:l}=await et(e,t,tt(t)),c=Math.max(n.width+(t.padding??0)*2,t?.width??0),h=Math.max(n.height+(t.padding??0)*2,t?.height??0),d=-c/2,f=-h/2,{cssStyles:u}=t,g=X.svg(a),m=V(t,{fill:r.noteBkgColor,stroke:r.noteBorderColor});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const y=g.rectangle(d,f,c,h,m),C=a.insert(()=>y,":first-child");return C.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),u&&t.look!=="handDrawn"&&C.selectAll("path").attr("style",u),o&&t.look!=="handDrawn"&&C.selectAll("path").attr("style",o),l.attr("transform",`translate(${-n.width/2-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),K(t,C),t.intersect=function(b){return j.rect(t,b)},a}p(Jp,"note");var lw=p((e,t,r)=>[`M${e+r/2},${t}`,`L${e+r},${t-r/2}`,`L${e+r/2},${t-r}`,`L${e},${t-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function tg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:o,bbox:s}=await et(e,t,tt(t)),a=s.width+(t.padding??0),n=s.height+(t.padding??0),l=a+n,c=.5,h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let d;const{cssStyles:f}=t;if(t.look==="handDrawn"){const u=X.svg(o),g=V(t,{}),m=lw(0,0,l),y=u.path(m,g);d=o.insert(()=>y,":first-child").attr("transform",`translate(${-l/2+c}, ${l/2})`),f&&d.attr("style",f)}else d=Xe(o,l,l,h),d.attr("transform",`translate(${-l/2+c}, ${l/2})`);return i&&d.attr("style",i),K(t,d),t.calcIntersect=function(u,g){const m=u.width,y=[{x:m/2,y:0},{x:m,y:-m/2},{x:m/2,y:-m},{x:0,y:-m/2}],C=j.polygon(u,y,g);return{x:C.x-.5,y:C.y-.5}},t.intersect=function(u){return this.calcIntersect(t,u)},o}p(tg,"question");async function eg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?21:o??0,a=t.look==="neo"?12:o??0,{shapeSvg:n,bbox:l,label:c}=await et(e,t,tt(t)),h=(t?.width??l.width)+(t.look==="neo"?s*2:s),d=(t?.height??l.height)+(t.look==="neo"?a*2:a),f=-h/2,u=-d/2,g=u/2,m=[{x:f+g,y:u},{x:f,y:0},{x:f+g,y:-u},{x:-f,y:-u},{x:-f,y:u}],{cssStyles:y}=t,C=X.svg(n),b=V(t,{});t.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const k=pt(m),w=C.path(k,b),S=n.insert(()=>w,":first-child");return S.attr("class","basic label-container outer-path"),y&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",y),i&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",i),S.attr("transform",`translate(${-g/2},0)`),c.attr("transform",`translate(${-g/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),K(t,S),t.intersect=function(_){return j.polygon(t,m,_)},n}p(eg,"rect_left_inv_arrow");async function rg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;let o;t.cssClasses?o="node "+t.cssClasses:o="node default";const s=e.insert("g").attr("class",o).attr("id",t.domId||t.id),a=s.insert("g"),n=s.insert("g").attr("class","label").attr("style",i),l=t.description,c=t.label,h=await Qe(n,c,t.labelStyle,!0,!0);let d={width:0,height:0};if(Qt(yt())){const B=h.children[0],q=lt(h);d=B.getBoundingClientRect(),q.attr("width",d.width),q.attr("height",d.height)}N.info("Text 2",l);const f=l||[],u=h.getBBox(),g=await Qe(n,Array.isArray(f)?f.join("
    "):f,t.labelStyle,!0,!0),m=g.children[0],y=lt(g);d=m.getBoundingClientRect(),y.attr("width",d.width),y.attr("height",d.height);const C=(t.padding||0)/2;lt(g).attr("transform","translate( "+(d.width>u.width?0:(u.width-d.width)/2)+", "+(u.height+C+5)+")"),lt(h).attr("transform","translate( "+(d.width(N.debug("Rough node insert CXC",O),R),":first-child"),_=s.insert(()=>(N.debug("Rough node insert CXC",O),O),":first-child")}else _=a.insert("rect",":first-child"),F=a.insert("line"),_.attr("class","outer title-state").attr("style",i).attr("x",-d.width/2-C).attr("y",-d.height/2-C).attr("width",d.width+(t.padding||0)).attr("height",d.height+(t.padding||0)),F.attr("class","divider").attr("x1",-d.width/2-C).attr("x2",d.width/2+C).attr("y1",-d.height/2-C+u.height+C).attr("y2",-d.height/2-C+u.height+C);return K(t,_),t.intersect=function(B){return j.rect(t,B)},s}p(rg,"rectWithTitle");async function ig(e,t,{config:{themeVariables:r}}){const i=r?.radius??5,o={rx:i,ry:i,labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1};return si(e,t,o)}p(ig,"roundedRect");var dr=8;async function og(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.look==="neo"?16:t.padding??0,s=t.look==="neo"?12:t.padding??0,{shapeSvg:a,bbox:n,label:l}=await et(e,t,tt(t)),c=(t?.width??n.width)+o*2+(t.look==="neo"?dr:dr*2),h=(t?.height??n.height)+s*2,d=c-dr,f=h,u=dr-c/2,g=-h/2,{cssStyles:m}=t,y=X.svg(a),C=V(t,{});t.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const b=[{x:u,y:g},{x:u+d,y:g},{x:u+d,y:g+f},{x:u-dr,y:g+f},{x:u-dr,y:g},{x:u,y:g},{x:u,y:g+f}],k=y.polygon(b.map(S=>[S.x,S.y]),C),w=a.insert(()=>k,":first-child");return w.attr("class","basic label-container outer-path").attr("style",Pt(m)),i&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",i),m&&t.look!=="handDrawn"&&w.selectAll("path").attr("style",i),l.attr("transform",`translate(${dr/2-n.width/2-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),K(t,w),t.intersect=function(S){return j.rect(t,S)},a}p(og,"shadedProcess");async function sg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?12:o;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-s*2,10),t.height=Math.max((t?.height??0)/1.5-a*2,10));const{shapeSvg:n,bbox:l,label:c}=await et(e,t,tt(t)),h=(t?.width?t?.width:l.width)+s*2,d=((t?.height?t?.height:l.height)+a*2)*1.5,f=h,u=d/1.5,g=-f/2,m=-u/2,{cssStyles:y}=t,C=X.svg(n),b=V(t,{});t.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const k=[{x:g,y:m},{x:g,y:m+u},{x:g+f,y:m+u},{x:g+f,y:m-u/2}],w=pt(k),S=C.path(w,b),_=n.insert(()=>S,":first-child");return _.attr("class","basic label-container outer-path"),y&&t.look!=="handDrawn"&&_.selectChildren("path").attr("style",y),i&&t.look!=="handDrawn"&&_.selectChildren("path").attr("style",i),_.attr("transform",`translate(0, ${u/4})`),c.attr("transform",`translate(${-f/2+(t.padding??0)-(l.x-(l.left??0))}, ${-u/4+(t.padding??0)-(l.y-(l.top??0))})`),K(t,_),t.intersect=function(F){return j.polygon(t,k,F)},n}p(sg,"slopedRect");async function ag(e,t){const r=t.padding??0,i=t.look==="neo"?16:r*2,o=t.look==="neo"?12:r,s={rx:0,ry:0,labelPaddingX:t.labelPaddingX??i,labelPaddingY:o};return si(e,t,s)}p(ag,"squareRect");async function ng(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?20:o,a=t.look==="neo"?12:o,{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=l.height+(t.look==="neo"?a*2:a),h=l.width+c/4+(t.look==="neo"?s*2:s),d=c/2,{cssStyles:f}=t,u=X.svg(n),g=V(t,{});t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const m=[{x:-h/2+d,y:-c/2},{x:h/2-d,y:-c/2},...zi(-h/2+d,0,d,50,90,270),{x:h/2-d,y:c/2},...zi(h/2-d,0,d,50,270,450)],y=pt(m),C=u.path(y,g),b=n.insert(()=>C,":first-child");return b.attr("class","basic label-container outer-path"),f&&t.look!=="handDrawn"&&b.selectChildren("path").attr("style",f),i&&t.look!=="handDrawn"&&b.selectChildren("path").attr("style",i),K(t,b),t.intersect=function(k){return j.polygon(t,m,k)},n}p(ng,"stadium");async function lg(e,t){const r={rx:t.look==="neo"?3:5,ry:t.look==="neo"?3:5};return si(e,t,r)}p(lg,"state");function hg(e,t,{config:{themeVariables:r}}){const{labelStyles:i,nodeStyles:o}=Z(t);t.labelStyle=i;const{cssStyles:s}=t,{lineColor:a,stateBorder:n,nodeBorder:l,nodeShadow:c}=r;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||(t.width=14),t.height||(t.height=14);const h=e.insert("g").attr("class","node default").attr("id",t.domId??t.id),d=X.svg(h),f=V(t,{});t.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const u=d.circle(0,0,t.width,{...f,stroke:a,strokeWidth:2}),g=n??l,m=(t.width??0)*5/14,y=d.circle(0,0,m,{...f,fill:g,stroke:g,strokeWidth:2,fillStyle:"solid"}),C=h.insert(()=>u,":first-child");if(C.insert(()=>y),t.look!=="handDrawn"&&C.attr("class","outer-path"),s&&C.selectAll("path").attr("style",s),o&&C.selectAll("path").attr("style",o),t.width<25&&c&&t.look!=="handDrawn"){const b=e.node()?.ownerSVGElement?.id??"",k=b?`${b}-drop-shadow-small`:"drop-shadow-small";C.attr("style",`filter:url(#${k})`)}return K(t,C),t.intersect=function(b){return j.circle(t,(t.width??0)/2,b)},h}p(hg,"stateEnd");function cg(e,t,{config:{themeVariables:r}}){const{lineColor:i,nodeShadow:o}=r;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||(t.width=14),t.height||(t.height=14);const s=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let a;if(t.look==="handDrawn"){const l=X.svg(s).circle(0,0,t.width,y2(i));a=s.insert(()=>l),a.attr("class","state-start").attr("r",(t.width??7)/2).attr("width",t.width??14).attr("height",t.height??14)}else a=s.insert("circle",":first-child"),a.attr("class","state-start").attr("r",(t.width??7)/2).attr("width",t.width??14).attr("height",t.height??14);if(t.width<25&&o&&t.look!=="handDrawn"){const n=e.node()?.ownerSVGElement?.id??"",l=n?`${n}-drop-shadow-small`:"drop-shadow-small";a.attr("style",`filter:url(#${l})`)}return K(t,a),t.intersect=function(n){return j.circle(t,(t.width??7)/2,n)},s}p(cg,"stateStart");var Nr=8;async function dg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t?.padding??8,s=t.look==="neo"?28:o,a=t.look==="neo"?12:o,{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=(t?.width??l.width)+2*Nr+s,h=(t?.height??l.height)+a,d=c-2*Nr,f=h,u=-c/2,g=-h/2,m=[{x:0,y:0},{x:d,y:0},{x:d,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(t.look==="handDrawn"){const y=X.svg(n),C=V(t,{}),b=y.rectangle(u,g,d+16,f,C),k=y.line(u+Nr,g,u+Nr,g+f,C),w=y.line(u+Nr+d,g,u+Nr+d,g+f,C);n.insert(()=>k,":first-child"),n.insert(()=>w,":first-child");const S=n.insert(()=>b,":first-child"),{cssStyles:_}=t;S.attr("class","basic label-container").attr("style",Pt(_)),K(t,S)}else{const y=Xe(n,d,f,m);i&&y.attr("style",i),K(t,y)}return t.intersect=function(y){return j.polygon(t,m,y)},n}p(dg,"subroutine");var aa=.2;async function ug(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?12:o;(t.width||t.height)&&(t.height=Math.max((t?.height??0)-a*2,10),t.width=Math.max((t?.width??0)-s*2-aa*(t.height+a*2),10));const{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=(t?.height?t?.height:l.height)+a*2,h=aa*c,d=aa*c,u=(t?.width?t?.width:l.width)+s*2+h-h,g=c,m=-u/2,y=-g/2,{cssStyles:C}=t,b=X.svg(n),k=V(t,{}),w=[{x:m-h/2,y},{x:m+u+h/2,y},{x:m+u+h/2,y:y+g},{x:m-h/2,y:y+g}],S=[{x:m+u-h/2,y:y+g},{x:m+u+h/2,y:y+g},{x:m+u+h/2,y:y+g-d}];t.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const _=pt(w),F=b.path(_,k),B=pt(S),q=b.path(B,{...k,fillStyle:"solid"}),O=n.insert(()=>q,":first-child");return O.insert(()=>F,":first-child"),O.attr("class","basic label-container outer-path"),C&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",C),i&&t.look!=="handDrawn"&&O.selectAll("path").attr("style",i),K(t,O),t.intersect=function(R){return j.polygon(t,w,R)},n}p(ug,"taggedRect");async function fg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:o,bbox:s,label:a}=await et(e,t,tt(t)),n=Math.max(s.width+(t.padding??0)*2,t?.width??0),l=Math.max(s.height+(t.padding??0)*2,t?.height??0),c=l/8,h=.2*n,d=.2*l,f=l+c,{cssStyles:u}=t,g=X.svg(o),m=V(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const y=[{x:-n/2-n/2*.1,y:f/2},...sr(-n/2-n/2*.1,f/2,n/2+n/2*.1,f/2,c,.8),{x:n/2+n/2*.1,y:-f/2},{x:-n/2-n/2*.1,y:-f/2}],C=-n/2+n/2*.1,b=-f/2-d*.4,k=[{x:C+n-h,y:(b+l)*1.3},{x:C+n,y:b+l-d},{x:C+n,y:(b+l)*.9},...sr(C+n,(b+l)*1.25,C+n-h,(b+l)*1.3,-l*.02,.5)],w=pt(y),S=g.path(w,m),_=pt(k),F=g.path(_,{...m,fillStyle:"solid"}),B=o.insert(()=>F,":first-child");return B.insert(()=>S,":first-child"),B.attr("class","basic label-container outer-path"),u&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",u),i&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",i),B.attr("transform",`translate(0,${-c/2})`),a.attr("transform",`translate(${-n/2+(t.padding??0)-(s.x-(s.left??0))},${-l/2+(t.padding??0)-c/2-(s.y-(s.top??0))})`),K(t,B),t.intersect=function(q){return j.polygon(t,y,q)},o}p(fg,"taggedWaveEdgedRectangle");async function pg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:o,bbox:s}=await et(e,t,tt(t)),a=Math.max(s.width+(t.padding??0),t?.width||0),n=Math.max(s.height+(t.padding??0),t?.height||0),l=-a/2,c=-n/2,h=o.insert("rect",":first-child");return h.attr("class","text").attr("style",i).attr("rx",0).attr("ry",0).attr("x",l).attr("y",c).attr("width",a).attr("height",n),K(t,h),t.intersect=function(d){return j.rect(t,d)},o}p(pg,"text");var hw=p((e,t,r,i,o,s)=>`M${e},${t} + a${o},${s} 0,0,1 0,${-i} + l${r},0 + a${o},${s} 0,0,1 0,${i} + M${r},${-i} + a${o},${s} 0,0,0 0,${i} + l${-r},0`,"createCylinderPathD"),cw=p((e,t,r,i,o,s)=>[`M${e},${t}`,`M${e+r},${t}`,`a${o},${s} 0,0,0 0,${-i}`,`l${-r},0`,`a${o},${s} 0,0,0 0,${i}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),dw=p((e,t,r,i,o,s)=>[`M${e+r/2},${-i/2}`,`a${o},${s} 0,0,0 0,${i}`].join(" "),"createInnerCylinderPathD"),Jh=5,tc=10;async function gg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?12:o/2;if(t.width||t.height){const m=t.height??0;t.height=(t.height??0)-s,t.heightk,":first-child"),g=a.insert(()=>b,":first-child"),g.attr("class","basic label-container"),u&&g.attr("style",u)}else{const m=hw(0,0,f,c,d,h);g=a.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",Pt(u)).attr("style",i),g.attr("class","basic label-container outer-path"),u&&g.selectAll("path").attr("style",u),i&&g.selectAll("path").attr("style",i)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-f/2}, ${c/2} )`),l.attr("transform",`translate(${-(n.width/2)-d-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),K(t,g),t.intersect=function(m){const y=j.rect(t,m),C=y.y-(t.y??0);if(h!=0&&(Math.abs(C)<(t.height??0)/2||Math.abs(C)==(t.height??0)/2&&Math.abs(y.x-(t.x??0))>(t.width??0)/2-d)){let b=d*d*(1-C*C/(h*h));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,m.x-(t.x??0)>0&&(b=-b),y.x+=b}return y},a}p(gg,"tiltedCylinder");async function mg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=(t.look==="neo",o),a=t.look==="neo"?o*2:o,{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=(t?.height??l.height)+s,h=(t?.width??l.width)+a,d=[{x:-3*c/6,y:0},{x:h+3*c/6,y:0},{x:h,y:-c},{x:0,y:-c}];let f;const{cssStyles:u}=t;if(t.look==="handDrawn"){const g=X.svg(n),m=V(t,{}),y=pt(d),C=g.path(y,m);f=n.insert(()=>C,":first-child").attr("transform",`translate(${-h/2}, ${c/2})`),u&&f.attr("style",u)}else f=Xe(n,h,c,d);return i&&f.attr("style",i),t.width=h,t.height=c,K(t,f),t.intersect=function(g){return j.polygon(t,d,g)},n}p(mg,"trapezoid");async function yg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?12:o,n=15,l=5;(t.width||t.height)&&(t.height=(t.height??0)-a*2,t.heightb,":first-child");return k.attr("class","basic label-container outer-path"),u&&t.look!=="handDrawn"&&k.selectChildren("path").attr("style",u),i&&t.look!=="handDrawn"&&k.selectChildren("path").attr("style",i),K(t,k),t.intersect=function(w){return j.polygon(t,y,w)},c}p(yg,"trapezoidalPentagon");var ec=10,rc=10;async function Cg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?o*2:o;(t.width||t.height)&&(t.width=((t?.width??0)-s)/2,t.widthb,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return g&&t.look!=="handDrawn"&&k.selectChildren("path").attr("style",g),i&&t.look!=="handDrawn"&&k.selectChildren("path").attr("style",i),t.width=h,t.height=d,K(t,k),l.attr("transform",`translate(${-n.width/2-(n.x-(n.left??0))}, ${d/2-(n.height+(t.padding??0)/(c?2:1)-(n.y-(n.top??0)))})`),t.intersect=function(w){return N.info("Triangle intersect",t,u,w),j.polygon(t,u,w)},a}p(Cg,"triangle");async function xg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?12:o;let n=!0;(t.width||t.height)&&(n=!1,t.width=(t?.width??0)-s*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-a*2,t.height<10&&(t.height=10));const{shapeSvg:l,bbox:c,label:h}=await et(e,t,tt(t)),d=(t?.width?t?.width:c.width)+(s??0)*2,f=(t?.height?t?.height:c.height)+(a??0)*2,u=t.look==="neo"?f/4:f/8,g=f+(n?u:-u),{cssStyles:m}=t,C=14-d,b=C>0?C/2:0,k=X.svg(l),w=V(t,{});t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");const S=[{x:-d/2-b,y:g/2},...sr(-d/2-b,g/2,d/2+b,g/2,u,.8),{x:d/2+b,y:-g/2},{x:-d/2-b,y:-g/2}],_=pt(S),F=k.path(_,w),B=l.insert(()=>F,":first-child");return B.attr("class","basic label-container outer-path"),m&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",m),i&&t.look!=="handDrawn"&&B.selectAll("path").attr("style",i),B.attr("transform",`translate(0,${-u/2})`),h.attr("transform",`translate(${-d/2+(t.padding??0)-(c.x-(c.left??0))},${-f/2+(t.padding??0)-u-(c.y-(c.top??0))})`),K(t,B),t.intersect=function(q){return j.polygon(t,S,q)},l}p(xg,"waveEdgedRectangle");async function bg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.padding??0,s=t.look==="neo"?16:o,a=t.look==="neo"?20:o;if(t.width||t.height){t.width=t?.width??0,t.width<20&&(t.width=20),t.height=t?.height??0,t.height<10&&(t.height=10);const w=Math.min(t.height*.2,t.height/4);t.height=Math.ceil(t.height-a-w*(20/9)),t.width=t.width-s*2}const{shapeSvg:n,bbox:l}=await et(e,t,tt(t)),c=(t?.width?t?.width:l.width)+s*2,h=(t?.height?t?.height:l.height)+a,d=h/8,f=h+d*2,{cssStyles:u}=t,g=X.svg(n),m=V(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const y=[{x:-c/2,y:f/2},...sr(-c/2,f/2,c/2,f/2,d,1),{x:c/2,y:-f/2},...sr(c/2,-f/2,-c/2,-f/2,d,-1)],C=pt(y),b=g.path(C,m),k=n.insert(()=>b,":first-child");return k.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",u),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),K(t,k),t.intersect=function(w){return j.polygon(t,y,w)},n}p(bg,"waveRectangle");var Bt=10;async function kg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t.look==="neo"?16:t.padding??0,s=t.look==="neo"?12:t.padding??0;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-o*2-Bt,10),t.height=Math.max((t?.height??0)-s*2-Bt,10));const{shapeSvg:a,bbox:n,label:l}=await et(e,t,tt(t)),c=(t?.width?t?.width:n.width)+o*2+Bt,h=(t?.height?t?.height:n.height)+s*2+Bt,d=c-Bt,f=h-Bt,u=-d/2,g=-f/2,{cssStyles:m}=t,y=X.svg(a),C=V(t,{}),b=[{x:u-Bt,y:g-Bt},{x:u-Bt,y:g+f},{x:u+d,y:g+f},{x:u+d,y:g-Bt}],k=`M${u-Bt},${g-Bt} L${u+d},${g-Bt} L${u+d},${g+f} L${u-Bt},${g+f} L${u-Bt},${g-Bt} + M${u-Bt},${g} L${u+d},${g} + M${u},${g-Bt} L${u},${g+f}`;t.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const w=y.path(k,C),S=a.insert(()=>w,":first-child");return S.attr("transform",`translate(${Bt/2}, ${Bt/2})`),S.attr("class","basic label-container outer-path"),m&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",m),i&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",i),l.attr("transform",`translate(${-(n.width/2)+Bt/2-(n.x-(n.left??0))}, ${-(n.height/2)+Bt/2-(n.y-(n.top??0))})`),K(t,S),t.intersect=function(_){return j.polygon(t,b,_)},a}p(kg,"windowPane");var ic=new Set(["redux-color","redux-dark-color"]),uw=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function nl(e,t){const r=t;r.alias&&(t.label=r.alias);const{theme:i,themeVariables:o}=vt(),{rowEven:s,rowOdd:a,nodeBorder:n,borderColorArray:l}=o;if(t.look==="handDrawn"){const{themeVariables:G}=vt(),{background:ct}=G,st={...t,id:t.id+"-background",domId:(t.domId||t.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${ct}`]};await nl(e,st)}const c=vt();t.useHtmlLabels=c.htmlLabels;let h=c.er?.diagramPadding??10,d=c.er?.entityPadding??6;const{cssStyles:f}=t,{labelStyles:u,nodeStyles:g}=Z(t);if(r.attributes.length===0&&t.label){const G={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};Ye(t.label,c)+G.labelPaddingX*20){const G=C.width+h*2-(S+_+F+B);S+=G/R,_+=G/R,F>0&&(F+=G/R),B>0&&(B+=G/R)}const W=S+_+F+B,I=X.svg(y),A=V(t,{});t.look!=="handDrawn"&&(A.roughness=0,A.fillStyle="solid");let L=0;w.length>0&&(L=w.reduce((G,ct)=>G+(ct?.rowHeight??0),0));const E=Math.max(H.width+h*2,t?.width||0,W),D=Math.max((L??0)+C.height,t?.height||0),z=-E/2,Y=-D/2;if(y.selectAll("g:not(:first-child)").each((G,ct,st)=>{const wt=lt(st[ct]),at=wt.attr("transform");let _t=0,oe=0;if(at){const Br=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(at);Br&&(_t=parseFloat(Br[1]),oe=parseFloat(Br[2]),wt.attr("class").includes("attribute-name")?_t+=S:wt.attr("class").includes("attribute-keys")?_t+=S+_:wt.attr("class").includes("attribute-comment")&&(_t+=S+_+F))}wt.attr("transform",`translate(${z+h/2+_t}, ${oe+Y+C.height+d/2})`)}),y.select(".name").attr("transform","translate("+-C.width/2+", "+(Y+d/2)+")"),i!=null&&ic.has(i)){const G=r.colorIndex??0;y.attr("data-color-id",`color-${G%l.length}`)}const ht=I.rectangle(z,Y,E,D,A),mt=y.insert(()=>ht,":first-child").attr("class","outer-path").attr("style",f.join(""));k.push(0);for(const[G,ct]of w.entries()){const wt=(G+1)%2===0&&ct.yOffset!==0,at=I.rectangle(z,C.height+Y+ct?.yOffset,E,ct?.rowHeight,{...A,fill:wt?s:a,stroke:n});y.insert(()=>at,"g.label").attr("style",f.join("")).attr("class",`row-rect-${wt?"even":"odd"}`)}const ut=1e-4;let ft=Hr(z,C.height+Y,E+z,C.height+Y,ut),xt=I.polygon(ft.map(G=>[G.x,G.y]),A);if(y.insert(()=>xt).attr("class","divider"),ft=Hr(S+z,C.height+Y,S+z,D+Y,ut),xt=I.polygon(ft.map(G=>[G.x,G.y]),A),y.insert(()=>xt).attr("class","divider"),q){const G=S+_+z;ft=Hr(G,C.height+Y,G,D+Y,ut),xt=I.polygon(ft.map(ct=>[ct.x,ct.y]),A),y.insert(()=>xt).attr("class","divider")}if(O){const G=S+_+F+z;ft=Hr(G,C.height+Y,G,D+Y,ut),xt=I.polygon(ft.map(ct=>[ct.x,ct.y]),A),y.insert(()=>xt).attr("class","divider")}for(const G of k){const ct=C.height+Y+G;ft=Hr(z,ct,E+z,ct,ut),xt=I.polygon(ft.map(st=>[st.x,st.y]),A),y.insert(()=>xt).attr("class","divider")}if(K(t,mt),g&&t.look!=="handDrawn")if(i!=null&&uw.has(i))y.selectAll("path").attr("style",g);else{const ct=g.split(";")?.filter(st=>st.includes("stroke"))?.map(st=>`${st}`).join("; ");y.selectAll("path").attr("style",ct??""),y.selectAll(".row-rect-even path").attr("style",g)}return t.intersect=function(G){return j.rect(t,G)},y}p(nl,"erBox");async function zr(e,t,r,i=0,o=0,s=[],a=""){const n=e.insert("g").attr("class",`label ${s.join(" ")}`).attr("transform",`translate(${i}, ${o})`).attr("style",a);t!==Gl(t)&&(t=Gl(t),t=t.replaceAll("<","<").replaceAll(">",">"));const l=n.node().appendChild(await Ge(n,t,{width:Ye(t,r)+100,style:a,useHtmlLabels:r.htmlLabels},r));if(t.includes("<")||t.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let c=l.getBBox();if(je(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const d=lt(l);c=h.getBoundingClientRect(),d.attr("width",c.width),d.attr("height",c.height)}return c}p(zr,"addText");function Hr(e,t,r,i,o){return e===r?[{x:e-o/2,y:t},{x:e+o/2,y:t},{x:r+o/2,y:i},{x:r-o/2,y:i}]:[{x:e,y:t-o/2},{x:e,y:t+o/2},{x:r,y:i+o/2},{x:r,y:i-o/2}]}p(Hr,"lineToPolygon");async function Tg(e,t,r,i,o=r.class.padding??12){const s=i?0:3,a=e.insert("g").attr("class",tt(t)).attr("id",t.domId||t.id);let n=null,l=null,c=null,h=null,d=0,f=0,u=0;if(n=a.insert("g").attr("class","annotation-group text"),t.annotations.length>0){const b=t.annotations[0];await _i(n,{text:`«${b}»`},0),d=n.node().getBBox().height}l=a.insert("g").attr("class","label-group text"),await _i(l,t,0,["font-weight: bolder"]);const g=l.node().getBBox();f=g.height,c=a.insert("g").attr("class","members-group text");let m=0;for(const b of t.members){const k=await _i(c,b,m,[b.parseClassifier()]);m+=k+s}u=c.node().getBBox().height,u<=0&&(u=o/2),h=a.insert("g").attr("class","methods-group text");let y=0;for(const b of t.methods){const k=await _i(h,b,y,[b.parseClassifier()]);y+=k+s}let C=a.node().getBBox();if(n!==null){const b=n.node().getBBox();n.attr("transform",`translate(${-b.width/2})`)}return l.attr("transform",`translate(${-g.width/2}, ${d})`),C=a.node().getBBox(),c.attr("transform",`translate(0, ${d+f+o*2})`),C=a.node().getBBox(),h.attr("transform",`translate(0, ${d+f+(u?u+o*4:o*2)})`),C=a.node().getBBox(),{shapeSvg:a,bbox:C}}p(Tg,"textHelper");async function _i(e,t,r,i=[]){const o=e.insert("g").attr("class","label").attr("style",i.join("; ")),s=vt();let a="useHtmlLabels"in t?t.useHtmlLabels:je(s.htmlLabels)??!0,n="";"text"in t?n=t.text:n=t.label,!a&&n.startsWith("\\")&&(n=n.substring(1)),$i(n)&&(a=!0);const l=await Ge(o,mn(wr(n)),{width:Ye(n,s)+50,classes:"markdown-node-label",useHtmlLabels:a},s);let c,h=1;if(a){const d=l.children[0],f=lt(l);h=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(h+=d.innerHTML.split("").length-1);const u=d.getElementsByTagName("img");if(u){const g=n.replace(/]*>/g,"").trim()==="";await Promise.all([...u].map(m=>new Promise(y=>{function C(){if(m.style.display="flex",m.style.flexDirection="column",g){const b=s.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,w=parseInt(b,10)*5+"px";m.style.minWidth=w,m.style.maxWidth=w}else m.style.width="100%";y(m)}p(C,"setupImage"),setTimeout(()=>{m.complete&&C()}),m.addEventListener("error",C),m.addEventListener("load",C)})))}c=d.getBoundingClientRect(),f.attr("width",c.width),f.attr("height",c.height)}else{i.includes("font-weight: bolder")&<(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const d=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(d.textContent=n[0]+n.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),n[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),c=l.getBBox()}return o.attr("transform","translate(0,"+(-c.height/(2*h)+r)+")"),c.height}p(_i,"addText");async function wg(e,t){const r=yt(),{themeVariables:i}=r,{useGradient:o}=i,s=r.class.padding??12,a=s,n=t.useHtmlLabels??je(r.htmlLabels)??!0,l=t;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:c,bbox:h}=await Tg(e,t,r,n,a),{labelStyles:d,nodeStyles:f}=Z(t);t.labelStyle=d,t.cssStyles=l.styles||"";const u=l.styles?.join(";")||f||"";t.cssStyles||(t.cssStyles=u.replaceAll("!important","").split(";"));const g=l.members.length===0&&l.methods.length===0&&!r.class?.hideEmptyMembersBox,m=X.svg(c),y=V(t,{});t.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const C=Math.max(t.width??0,h.width);let b=Math.max(t.height??0,h.height);const k=(t.height??0)>h.height;l.members.length===0&&l.methods.length===0?b+=a:l.members.length>0&&l.methods.length===0&&(b+=a*2);const w=-C/2,S=-b/2;let _=g?s*2:l.members.length===0&&l.methods.length===0?-s:0;k&&(_=s*2);const F=m.rectangle(w-s,S-s-(g?s:l.members.length===0&&l.methods.length===0?-s/2:0),C+2*s,b+2*s+_,y),B=c.insert(()=>F,":first-child");B.attr("class","basic label-container outer-path");const q=B.node().getBBox(),O=c.select(".annotation-group").node().getBBox().height-(g?s/2:0)||0,R=c.select(".label-group").node().getBBox().height-(g?s/2:0)||0,H=c.select(".members-group").node().getBBox().height-(g?s/2:0)||0,W=(O+R+S+s-(S-s-(g?s:l.members.length===0&&l.methods.length===0?-s/2:0)))/2;if(c.selectAll(".text").each((I,A,L)=>{const E=lt(L[A]),D=E.attr("transform");let z=0;if(D){const ut=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(D);ut&&(z=parseFloat(ut[2]))}let Y=z+S+s-(g?s:l.members.length===0&&l.methods.length===0?-s/2:0);if(E.attr("class").includes("methods-group")){const mt=Math.max(H,a/2);k?Y=Math.max(W,O+R+mt+S+a*2+s)+a*2:Y=O+R+mt+S+a*4+s}l.members.length===0&&l.methods.length===0&&r.class?.hideEmptyMembersBox&&(l.annotations.length>0?Y=z-a:Y=z),n||(Y-=4);let ht=w;(E.attr("class").includes("label-group")||E.attr("class").includes("annotation-group"))&&(ht=-E.node()?.getBBox().width/2||0,c.selectAll("text").each(function(mt,ut,ft){window.getComputedStyle(ft[ut]).textAnchor==="middle"&&(ht=0)})),E.attr("transform",`translate(${ht}, ${Y})`)}),l.members.length>0||l.methods.length>0||g){const I=O+R+S+s,A=m.line(q.x,I,q.x+q.width,I+.001,y);c.insert(()=>A).attr("class",`divider${t.look==="neo"&&!o?" neo-line":""}`).attr("style",u)}if(g||l.members.length>0||l.methods.length>0){const I=O+R+H+S+a*2+s,A=m.line(q.x,k?Math.max(W,I):I,q.x+q.width,(k?Math.max(W,I):I)+.001,y);c.insert(()=>A).attr("class",`divider${t.look==="neo"&&!o?" neo-line":""}`).attr("style",u)}if(l.look!=="handDrawn"&&c.selectAll("path").attr("style",u),B.select(":nth-child(2)").attr("style",u),c.selectAll(".divider").select("path").attr("style",u),t.labelStyle?c.selectAll("span").attr("style",t.labelStyle):c.selectAll("span").attr("style",u),!n){const I=RegExp(/color\s*:\s*([^;]*)/),A=I.exec(u);if(A){const L=A[0].replace("color","fill");c.selectAll("tspan").attr("style",L)}else if(d){const L=I.exec(d);if(L){const E=L[0].replace("color","fill");c.selectAll("tspan").attr("style",E)}}}return K(t,B),t.intersect=function(I){return j.rect(t,I)},c}p(wg,"classBox");async function Sg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const o=t,s=t,a=20,n=20,l="verifyMethod"in t,c=tt(t),{themeVariables:h}=yt(),{borderColorArray:d,requirementEdgeLabelBackground:f}=h,u=e.insert("g").attr("class",c).attr("id",t.domId??t.id);let g;l?g=await Le(u,`<<${o.type}>>`,0,t.labelStyle):g=await Le(u,"<<Element>>",0,t.labelStyle);let m=g;const y=await Le(u,o.name,m,t.labelStyle+"; font-weight: bold;");if(m+=y+n,l){const q=await Le(u,`${o.requirementId?`ID: ${o.requirementId}`:""}`,m,t.labelStyle);m+=q;const O=await Le(u,`${o.text?`Text: ${o.text}`:""}`,m,t.labelStyle);m+=O;const R=await Le(u,`${o.risk?`Risk: ${o.risk}`:""}`,m,t.labelStyle);m+=R,await Le(u,`${o.verifyMethod?`Verification: ${o.verifyMethod}`:""}`,m,t.labelStyle)}else{const q=await Le(u,`${s.type?`Type: ${s.type}`:""}`,m,t.labelStyle);m+=q,await Le(u,`${s.docRef?`Doc Ref: ${s.docRef}`:""}`,m,t.labelStyle)}const C=(u.node()?.getBBox().width??200)+a,b=(u.node()?.getBBox().height??200)+a,k=-C/2,w=-b/2,S=X.svg(u),_=V(t,{});t.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");const F=S.rectangle(k,w,C,b,_),B=u.insert(()=>F,":first-child");if(B.attr("class","basic label-container outer-path").attr("style",i),d?.length){const q=t.colorIndex??0;u.attr("data-color-id",`color-${q%d.length}`)}if(u.selectAll(".label").each((q,O,R)=>{const H=lt(R[O]),W=H.attr("transform");let I=0,A=0;if(W){const z=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(W);z&&(I=parseFloat(z[1]),A=parseFloat(z[2]))}const L=A-b/2;let E=k+a/2;(O===0||O===1)&&(E=I),H.attr("transform",`translate(${E}, ${L+a})`)}),m>g+y+n){const q=w+g+y+n;let O;if(t.look==="neo"){const W=[[k,q],[k+C,q],[k+C,q+.001],[k,q+.001]];O=S.polygon(W,_)}else O=S.line(k,q,k+C,q,_);u.insert(()=>O).attr("class","divider")}return K(t,B),t.intersect=function(q){return j.rect(t,q)},i&&t.look!=="handDrawn"&&(f||d?.length)&&u.selectAll("path").attr("style",i),u}p(Sg,"requirementBox");async function Le(e,t,r,i=""){if(t==="")return 0;const o=e.insert("g").attr("class","label").attr("style",i),s=yt(),a=s.htmlLabels??!0,n=await Ge(o,mn(wr(t)),{width:Ye(t,s)+50,classes:"markdown-node-label",useHtmlLabels:a,style:i},s);let l;if(a){const c=n.children[0],h=lt(n);l=c.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const c=n.children[0];for(const h of c.children)i&&h.setAttribute("style",i);l=n.getBBox(),l.height+=6}return o.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}p(Le,"addText");var fw=p(e=>{switch(e){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function _g(e,t,{config:r}){const{labelStyles:i,nodeStyles:o}=Z(t);t.labelStyle=i||"";const s=10,a=t.width;t.width=(t.width??200)-10;const{shapeSvg:n,bbox:l,label:c}=await et(e,t,tt(t)),h=t.padding||10;let d="",f;"ticket"in t&&t.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",t.ticket),f=n.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));const u={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||"",width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1};let g,m;f?{label:g,bbox:m}=await sa(f,"ticket"in t&&t.ticket||"",u):{label:g,bbox:m}=await sa(n,"ticket"in t&&t.ticket||"",u);const{label:y,bbox:C}=await sa(n,"assigned"in t&&t.assigned||"",u);t.width=a;const b=10,k=t?.width||0,w=Math.max(m.height,C.height)/2,S=Math.max(l.height+b*2,t?.height||0)+w,_=-k/2,F=-S/2;c.attr("transform","translate("+(h-k/2)+", "+(-w-l.height/2)+")"),g.attr("transform","translate("+(h-k/2)+", "+(-w+l.height/2)+")"),y.attr("transform","translate("+(h+k/2-C.width-2*s)+", "+(-w+l.height/2)+")");let B;const{rx:q,ry:O}=t,{cssStyles:R}=t;if(t.look==="handDrawn"){const H=X.svg(n),W=V(t,{}),I=q||O?H.path(ar(_,F,k,S,q||0),W):H.rectangle(_,F,k,S,W);B=n.insert(()=>I,":first-child"),B.attr("class","basic label-container").attr("style",R||null)}else{B=n.insert("rect",":first-child"),B.attr("class","basic label-container __APA__").attr("style",o).attr("rx",q??5).attr("ry",O??5).attr("x",_).attr("y",F).attr("width",k).attr("height",S);const H="priority"in t&&t.priority;if(H){const W=n.append("line"),I=_+2,A=F+Math.floor((q??0)/2),L=F+S-Math.floor((q??0)/2);W.attr("x1",I).attr("y1",A).attr("x2",I).attr("y2",L).attr("stroke-width","4").attr("stroke",fw(H))}}return K(t,B),t.height=S,t.intersect=function(H){return j.rect(t,H)},n}p(_g,"kanbanItem");async function vg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:o,bbox:s,halfPadding:a,label:n}=await et(e,t,tt(t)),l=s.width+10*a,c=s.height+8*a,h=.15*l,{cssStyles:d}=t,f=s.width+20,u=s.height+20,g=Math.max(l,f),m=Math.max(c,u);n.attr("transform",`translate(${-s.width/2}, ${-s.height/2})`);let y;const C=`M0 0 + a${h},${h} 1 0,0 ${g*.25},${-1*m*.1} + a${h},${h} 1 0,0 ${g*.25},0 + a${h},${h} 1 0,0 ${g*.25},0 + a${h},${h} 1 0,0 ${g*.25},${m*.1} + + a${h},${h} 1 0,0 ${g*.15},${m*.33} + a${h*.8},${h*.8} 1 0,0 0,${m*.34} + a${h},${h} 1 0,0 ${-1*g*.15},${m*.33} + + a${h},${h} 1 0,0 ${-1*g*.25},${m*.15} + a${h},${h} 1 0,0 ${-1*g*.25},0 + a${h},${h} 1 0,0 ${-1*g*.25},0 + a${h},${h} 1 0,0 ${-1*g*.25},${-1*m*.15} + + a${h},${h} 1 0,0 ${-1*g*.1},${-1*m*.33} + a${h*.8},${h*.8} 1 0,0 0,${-1*m*.34} + a${h},${h} 1 0,0 ${g*.1},${-1*m*.33} + H0 V0 Z`;if(t.look==="handDrawn"){const b=X.svg(o),k=V(t,{}),w=b.path(C,k);y=o.insert(()=>w,":first-child"),y.attr("class","basic label-container").attr("style",Pt(d))}else y=o.insert("path",":first-child").attr("class","basic label-container").attr("style",i).attr("d",C);return y.attr("transform",`translate(${-g/2}, ${-m/2})`),K(t,y),t.calcIntersect=function(b,k){return j.rect(b,k)},t.intersect=function(b){return N.info("Bang intersect",t,b),j.rect(t,b)},o}p(vg,"bang");async function Bg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:o,bbox:s,halfPadding:a,label:n}=await et(e,t,tt(t)),l=s.width+2*a,c=s.height+2*a,h=.15*l,d=.25*l,f=.35*l,u=.2*l,{cssStyles:g}=t;let m;const y=`M0 0 + a${h},${h} 0 0,1 ${l*.25},${-1*l*.1} + a${f},${f} 1 0,1 ${l*.4},${-1*l*.1} + a${d},${d} 1 0,1 ${l*.35},${l*.2} + + a${h},${h} 1 0,1 ${l*.15},${c*.35} + a${u},${u} 1 0,1 ${-1*l*.15},${c*.65} + + a${d},${h} 1 0,1 ${-1*l*.25},${l*.15} + a${f},${f} 1 0,1 ${-1*l*.5},0 + a${h},${h} 1 0,1 ${-1*l*.25},${-1*l*.15} + + a${h},${h} 1 0,1 ${-1*l*.1},${-1*c*.35} + a${u},${u} 1 0,1 ${l*.1},${-1*c*.65} + H0 V0 Z`;if(t.look==="handDrawn"){const C=X.svg(o),b=V(t,{}),k=C.path(y,b);m=o.insert(()=>k,":first-child"),m.attr("class","basic label-container").attr("style",Pt(g))}else m=o.insert("path",":first-child").attr("class","basic label-container").attr("style",i).attr("d",y);return n.attr("transform",`translate(${-s.width/2}, ${-s.height/2})`),m.attr("transform",`translate(${-l/2}, ${-c/2})`),K(t,m),t.calcIntersect=function(C,b){return j.rect(C,b)},t.intersect=function(C){return N.info("Cloud intersect",t,C),j.rect(t,C)},o}p(Bg,"cloud");async function Lg(e,t){const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:o,bbox:s,halfPadding:a,label:n}=await et(e,t,tt(t)),l=s.width+8*a,c=s.height+2*a,h=5,d=t.look==="neo"?` + M${-l/2} ${c/2-h} + v${-c+2*h} + q0,-${h} ${h},-${h} + h${l-2*h} + q${h},0 ${h},${h} + v${c-h} + H${-l/2} + Z + `:` + M${-l/2} ${c/2-h} + v${-c+2*h} + q0,-${h} ${h},-${h} + h${l-2*h} + q${h},0 ${h},${h} + v${c-2*h} + q0,${h} ${-h},${h} + h${-(l-2*h)} + q${-h},0 ${-h},${-h} + Z + `;if(!t.domId)throw new Error(`defaultMindmapNode: node "${t.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=o.append("path").attr("id",t.domId).attr("class","node-bkg node-"+t.type).attr("style",i).attr("d",d);return o.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",c/2).attr("x2",l/2).attr("y2",c/2),n.attr("transform",`translate(${-s.width/2}, ${-s.height/2})`),o.append(()=>n.node()),K(t,f),t.calcIntersect=function(u,g){return j.rect(u,g)},t.intersect=function(u){return j.rect(t,u)},o}p(Lg,"defaultMindmapNode");async function Fg(e,t){const r={padding:t.padding??0};return al(e,t,r)}p(Fg,"mindmapCircle");var pw=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:ag},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:ig},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:ng},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:dg},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:Fp},{semanticName:"Data Store",name:"Data Store",shortName:"datastore",description:"Data flow diagram data store",aliases:["data-store"],handler:Ap},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:al},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:vg},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:Bg},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:tg},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:Rp},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:Gp},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:jp},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:mg},{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:Yp},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:Mp},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:pg},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:kp},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:og},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:cg},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:hg},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:Ip},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:Pp},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:_p},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:vp},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:Bp},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:Xp},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:xg},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:Dp},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:gg},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:Vp},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:Lp},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:Ep},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:Cg},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:kg},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:$p},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:yg},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:Op},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:sg},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:Qp},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:Kp},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:bp},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:Sp},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:fg},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:ug},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:bg},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:eg},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:Zp}],gw=p(()=>{const t=[...Object.entries({state:lg,choice:Tp,note:Jp,rectWithTitle:rg,labelRect:Up,iconSquare:zp,iconCircle:qp,icon:Np,iconRounded:Wp,imageSquare:Hp,anchor:Cp,kanbanItem:_g,mindmapCircle:Fg,defaultMindmapNode:Lg,classBox:wg,erBox:nl,requirementBox:Sg}),...pw.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(o=>[o,r.handler]))];return Object.fromEntries(t)},"generateShapeMap"),Ag=gw();function mw(e){return e in Ag}p(mw,"isValidShape");var vs=new Map;async function Eg(e,t,r){let i,o;t.shape==="rect"&&(t.rx&&t.ry?t.shape="roundedRect":t.shape="squareRect");const s=t.shape?Ag[t.shape]:void 0;if(!s)throw new Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let a;r.config.securityLevel==="sandbox"?a="_top":t.linkTarget&&(a=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",a??null),o=await s(i,t,r)}else o=await s(e,t,r),i=o;return i.attr("data-look",Pt(t.look)),t.tooltip&&o.attr("title",t.tooltip),vs.set(t.id,i),t.haveCallback&&i.attr("class",i.attr("class")+" clickable"),i}p(Eg,"insertNode");var HB=p((e,t)=>{vs.set(t.id,e)},"setNodeElem"),YB=p(()=>{vs.clear()},"clear"),UB=p(e=>{const t=vs.get(e.id);N.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const r=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-r)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode"),yw=p((e,t,r,i,o,s=!1,a)=>{t.arrowTypeStart&&oc(e,"start",t.arrowTypeStart,r,i,o,s,a),t.arrowTypeEnd&&oc(e,"end",t.arrowTypeEnd,r,i,o,s,a)},"addEdgeMarkers"),Cw={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},xw=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],oc=p((e,t,r,i,o,s,a=!1,n)=>{const l=Cw[r],c=l&&xw.includes(l.type);if(!l){N.warn(`Unknown arrow type: ${r}`);return}const h=l.type,u=`${o}_${s}-${h}${t==="start"?"Start":"End"}${a&&c?"-margin":""}`;if(n&&n.trim()!==""){const g=n.replace(/[^\dA-Za-z]/g,"_"),m=`${u}_${g}`;if(!document.getElementById(m)){const y=document.getElementById(u);if(y){const C=y.cloneNode(!0);C.id=m,C.querySelectorAll("path, circle, line").forEach(k=>{k.setAttribute("stroke",n),l.fill&&k.setAttribute("fill",n)}),y.parentNode?.appendChild(C)}}e.attr(`marker-${t}`,`url(${i}#${m})`)}else e.attr(`marker-${t}`,`url(${i}#${u})`)},"addEdgeMarker"),bw=p(e=>typeof e=="string"?e:yt()?.flowchart?.curve,"resolveEdgeCurveType"),hs=new Map,Wt=new Map,jB=p(()=>{hs.clear(),Wt.clear()},"clear"),yi=p(e=>e?typeof e=="string"?e:e.reduce((t,r)=>t+";"+r,""):"","getLabelStyles"),kw=p(async(e,t)=>{const r=yt();let i=Qt(r);const{labelStyles:o}=Z(t);t.labelStyle=o;const s=e.insert("g").attr("class","edgeLabel"),a=s.insert("g").attr("class","label").attr("data-id",t.id),n=t.labelType==="markdown",c=await Ge(e,t.label,{style:yi(t.labelStyle),useHtmlLabels:i,addSvgBackground:!0,isNode:!1,markdown:n,width:n?void 0:void 0},r);a.node().appendChild(c),N.info("abc82",t,t.labelType);let h=c.getBBox(),d=h;if(i){const u=c.children[0],g=lt(c);h=u.getBoundingClientRect(),d=h,g.attr("width",h.width),g.attr("height",h.height)}else{const u=lt(c).select("text").node();u&&typeof u.getBBox=="function"&&(d=u.getBBox())}a.attr("transform",ui(d,i)),hs.set(t.id,s),t.width=h.width,t.height=h.height;let f;if(t.startLabelLeft){const u=e.insert("g").attr("class","edgeTerminals"),g=u.insert("g").attr("class","inner"),m=await Qe(g,t.startLabelLeft,yi(t.labelStyle)||"",!1,!1);f=m;let y=m.getBBox();if(i){const C=m.children[0],b=lt(m);y=C.getBoundingClientRect(),b.attr("width",y.width),b.attr("height",y.height)}g.attr("transform",ui(y,i)),Wt.get(t.id)||Wt.set(t.id,{}),Wt.get(t.id).startLeft=u,vi(f,t.startLabelLeft)}if(t.startLabelRight){const u=e.insert("g").attr("class","edgeTerminals"),g=u.insert("g").attr("class","inner"),m=await Qe(g,t.startLabelRight,yi(t.labelStyle)||"",!1,!1);f=m;let y=m.getBBox();if(i){const C=m.children[0],b=lt(m);y=C.getBoundingClientRect(),b.attr("width",y.width),b.attr("height",y.height)}g.attr("transform",ui(y,i)),Wt.get(t.id)||Wt.set(t.id,{}),Wt.get(t.id).startRight=u,vi(f,t.startLabelRight)}if(t.endLabelLeft){const u=e.insert("g").attr("class","edgeTerminals"),g=u.insert("g").attr("class","inner"),m=await Qe(u,t.endLabelLeft,yi(t.labelStyle)||"",!1,!1);f=m;let y=m.getBBox();if(i){const C=m.children[0],b=lt(m);y=C.getBoundingClientRect(),b.attr("width",y.width),b.attr("height",y.height)}g.attr("transform",ui(y,i)),Wt.get(t.id)||Wt.set(t.id,{}),Wt.get(t.id).endLeft=u,vi(f,t.endLabelLeft)}if(t.endLabelRight){const u=e.insert("g").attr("class","edgeTerminals"),g=u.insert("g").attr("class","inner"),m=await Qe(u,t.endLabelRight,yi(t.labelStyle)||"",!1,!1);f=m;let y=m.getBBox();if(i){const C=m.children[0],b=lt(m);y=C.getBoundingClientRect(),b.attr("width",y.width),b.attr("height",y.height)}g.attr("transform",ui(y,i)),Wt.get(t.id)||Wt.set(t.id,{}),Wt.get(t.id).endRight=u,vi(f,t.endLabelRight)}return c},"insertEdgeLabel");function vi(e,t){Qt(yt())&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}p(vi,"setTerminalWidth");var Tw=p((e,t)=>{N.debug("Moving label abc88 ",e.id,e.label,hs.get(e.id),t);let r=t.updatedPath?t.updatedPath:t.originalPath;const i=yt(),{subGraphTitleTotalMargin:o}=Gn(i);if(e.label){const s=hs.get(e.id);let a=e.x,n=e.y;if(r){const l=ye.calcLabelPosition(r);N.debug("Moving label "+e.label+" from (",a,",",n,") to (",l.x,",",l.y,") abc88"),t.updatedPath&&(a=l.x,n=l.y)}s.attr("transform",`translate(${a}, ${n+o/2})`)}if(e.startLabelLeft){const s=Wt.get(e.id).startLeft;let a=e.x,n=e.y;if(r){const l=ye.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",r);a=l.x,n=l.y}s.attr("transform",`translate(${a}, ${n})`)}if(e.startLabelRight){const s=Wt.get(e.id).startRight;let a=e.x,n=e.y;if(r){const l=ye.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",r);a=l.x,n=l.y}s.attr("transform",`translate(${a}, ${n})`)}if(e.endLabelLeft){const s=Wt.get(e.id).endLeft;let a=e.x,n=e.y;if(r){const l=ye.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",r);a=l.x,n=l.y}s.attr("transform",`translate(${a}, ${n})`)}if(e.endLabelRight){const s=Wt.get(e.id).endRight;let a=e.x,n=e.y;if(r){const l=ye.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",r);a=l.x,n=l.y}s.attr("transform",`translate(${a}, ${n})`)}},"positionEdgeLabel"),ww=p((e,t)=>{const r=e.x,i=e.y,o=Math.abs(t.x-r),s=Math.abs(t.y-i),a=e.width/2,n=e.height/2;return o>=a||s>=n},"outsideNode"),Sw=p((e,t,r)=>{N.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(t)} + insidePoint : ${JSON.stringify(r)} + node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const i=e.x,o=e.y,s=Math.abs(i-r.x),a=e.width/2;let n=r.xMath.abs(i-t.x)*l){let d=r.y{N.warn("abc88 cutPathAtIntersect",e,t);let r=[],i=e[0],o=!1;return e.forEach(s=>{if(N.info("abc88 checking point",s,t),!ww(t,s)&&!o){const a=Sw(t,i,s);N.debug("abc88 inside",s,i,a),N.debug("abc88 intersection",a,t);let n=!1;r.forEach(l=>{n=n||l.x===a.x&&l.y===a.y}),r.some(l=>l.x===a.x&&l.y===a.y)?N.warn("abc88 no intersect",a,r):r.push(a),o=!0}else N.warn("abc88 outside",s,i),i=s,o||r.push(s)}),N.debug("returning points",r),r},"cutPathAtIntersect");function Mg(e){const t=[],r=[];for(let i=1;i5&&Math.abs(s.y-o.y)>5||o.y===s.y&&s.x===a.x&&Math.abs(s.x-o.x)>5&&Math.abs(s.y-a.y)>5)&&(t.push(s),r.push(i))}return{cornerPoints:t,cornerPointPositions:r}}p(Mg,"extractCornerPoints");var ac=p(function(e,t,r){const i=t.x-e.x,o=t.y-e.y,s=Math.sqrt(i*i+o*o),a=r/s;return{x:t.x-a*i,y:t.y-a*o}},"findAdjacentPoint"),_w=p(function(e){const{cornerPointPositions:t}=Mg(e),r=[];for(let i=0;i10&&Math.abs(s.y-o.y)>=10){N.debug("Corner point fixing",Math.abs(s.x-o.x),Math.abs(s.y-o.y));const u=5;a.x===n.x?f={x:c<0?n.x-u+d:n.x+u-d,y:h<0?n.y-d:n.y+d}:f={x:c<0?n.x-d:n.x+d,y:h<0?n.y-u+d:n.y+u-d}}else N.debug("Corner point skipping fixing",Math.abs(s.x-o.x),Math.abs(s.y-o.y));r.push(f,l)}else r.push(e[i]);return r},"fixCorners"),vw=p((e,t,r)=>{const i=e-t-r,o=2,s=2,a=o+s,n=Math.floor(i/a),l=Array(n).fill(`${o} ${s}`).join(" ");return`0 ${t} ${l} ${r}`},"generateDashArray"),Bw=p(function(e,t,r,i,o,s,a,n=!1){if(!a)throw new Error(`insertEdge: missing diagramId for edge "${t.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l}=yt();let c=t.points,h=!1;const d=o;var f=s;const u=[];for(const E in t.cssCompiledStyles)Af(E)||u.push(t.cssCompiledStyles[E]);N.debug("UIO intersect check",t.points,f.x,d.x),f.intersect&&d.intersect&&!n&&(c=c.slice(1,t.points.length-1),c.unshift(d.intersect(c[0])),N.debug("Last point UIO",t.start,"-->",t.end,c[c.length-1],f,f.intersect(c[c.length-1])),c.push(f.intersect(c[c.length-1])));const g=btoa(JSON.stringify(c));t.toCluster&&(N.info("to cluster abc88",r.get(t.toCluster)),c=sc(t.points,r.get(t.toCluster).node),h=!0),t.fromCluster&&(N.debug("from cluster abc88",r.get(t.fromCluster),JSON.stringify(c,null,2)),c=sc(c.reverse(),r.get(t.fromCluster).node).reverse(),h=!0);let m=c.filter(E=>!Number.isNaN(E.y));const y=bw(t.curve);y!=="rounded"&&(m=_w(m));let C=Ai;switch(y){case"linear":C=Ai;break;case"basis":C=va;break;case"cardinal":C=yd;break;case"bumpX":C=ud;break;case"bumpY":C=fd;break;case"catmullRom":C=xd;break;case"monotoneX":C=_d;break;case"monotoneY":C=vd;break;case"natural":C=Ld;break;case"step":C=Fd;break;case"stepAfter":C=Ed;break;case"stepBefore":C=Ad;break;case"rounded":C=Ai;break;default:C=va}const{x:b,y:k}=b1(t),w=ik().x(b).y(k).curve(C);let S;switch(t.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(t.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 _,F=y==="rounded"?$g(Og(m,t),5):w(m);const B=Array.isArray(t.style)?t.style:[t.style];let q=B.find(E=>E?.startsWith("stroke:")),O="";t.animate&&(O="edge-animation-fast"),t.animation&&(O="edge-animation-"+t.animation);let R=!1;if(t.look==="handDrawn"){const E=X.svg(e);Object.assign([],m);const D=E.path(F,{roughness:.3,seed:l});S+=" transition",_=lt(D).select("path").attr("id",`${a}-${t.id}`).attr("class"," "+S+(t.classes?" "+t.classes:"")+(O?" "+O:"")).attr("style",B?B.reduce((Y,ht)=>Y+";"+ht,""):"");let z=_.attr("d");_.attr("d",z),e.node().appendChild(_.node())}else{const E=u.join(";"),D=B?B.reduce((ft,xt)=>ft+xt+";",""):"",z=(E?E+";"+D+";":D)+";"+(B?B.reduce((ft,xt)=>ft+";"+xt,""):"");_=e.append("path").attr("d",F).attr("id",`${a}-${t.id}`).attr("class"," "+S+(t.classes?" "+t.classes:"")+(O?" "+O:"")).attr("style",z),q=z.match(/stroke:([^;]+)/)?.[1],R=t.animate===!0||!!t.animation||E.includes("animation");const Y=_.node(),ht=typeof Y.getTotalLength=="function"?Y.getTotalLength():0,mt=bh[t.arrowTypeStart]||0,ut=bh[t.arrowTypeEnd]||0;if(t.look==="neo"&&!R){const xt=`stroke-dasharray: ${t.pattern==="dotted"||t.pattern==="dashed"?vw(ht,mt,ut):`0 ${mt} ${ht-mt-ut} ${ut}`}; stroke-dashoffset: 0;`;_.attr("style",xt+_.attr("style"))}}_.attr("data-edge",!0),_.attr("data-et","edge"),_.attr("data-id",t.id),_.attr("data-points",g),_.attr("data-look",Pt(t.look)),t.showPoints&&m.forEach(E=>{e.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",E.x).attr("cy",E.y)});let H="";(yt().flowchart.arrowMarkerAbsolute||yt().state.arrowMarkerAbsolute)&&(H=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,H=H.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),N.info("arrowTypeStart",t.arrowTypeStart),N.info("arrowTypeEnd",t.arrowTypeEnd);const W=!R&&t?.look==="neo";yw(_,t,H,a,i,W,q);const I=Math.floor(c.length/2),A=c[I];ye.isLabelCoordinateInPath(A,_.attr("d"))||(h=!0);let L={};return h&&(L.updatedPath=c),L.originalPath=t.points,L},"insertEdge");function $g(e,t){if(e.length<2)return"";let r="";const i=e.length,o=1e-5;for(let s=0;s({...o}));if(e.length>=2&&Yt[t.arrowTypeStart]){const o=Yt[t.arrowTypeStart],s=e[0],a=e[1],{angle:n}=rn(s,a),l=o*Math.cos(n),c=o*Math.sin(n);r[0].x=s.x+l,r[0].y=s.y+c}const i=e.length;if(i>=2&&Yt[t.arrowTypeEnd]){const o=Yt[t.arrowTypeEnd],s=e[i-1],a=e[i-2],{angle:n}=rn(a,s),l=o*Math.cos(n),c=o*Math.sin(n);r[i-1].x=s.x-l,r[i-1].y=s.y-c}return r}p(Og,"applyMarkerOffsetsToPoints");var Lw=p((e,t,r,i)=>{t.forEach(o=>{Kw[o](e,r,i)})},"insertMarkers"),Fw=p((e,t,r)=>{N.trace("Making markers for ",r),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),e.append("marker").attr("id",r+"_"+t+"-extensionStart-margin").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd-margin").attr("class","marker extension "+t).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),Aw=p((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart-margin").attr("class","marker composition "+t).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd-margin").attr("class","marker composition "+t).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Ew=p((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart-margin").attr("class","marker aggregation "+t).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd-margin").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Mw=p((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart-margin").attr("class","marker dependency "+t).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd-margin").attr("class","marker dependency "+t).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),$w=p((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart-margin").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd-margin").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),Ow=p((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-pointEnd").attr("class","marker "+t).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"),e.append("marker").attr("id",r+"_"+t+"-pointStart").attr("class","marker "+t).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"),e.append("marker").attr("id",r+"_"+t+"-pointEnd-margin").attr("class","marker "+t).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-pointStart-margin").attr("class","marker "+t).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),Iw=p((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-circleEnd-margin").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-circleStart-margin").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),Dw=p((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-crossEnd-margin").attr("class","marker cross "+t).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),e.append("marker").attr("id",r+"_"+t+"-crossStart-margin").attr("class","marker cross "+t).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),Rw=p((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-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"),Pw=p((e,t,r)=>{const i=vt(),{themeVariables:o}=i,{transitionColor:s}=o;e.append("defs").append("marker").attr("id",r+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${s}`)},"barbNeo"),Nw=p((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).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"),e.append("defs").append("marker").attr("id",r+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).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"),qw=p((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),i.append("path").attr("d","M9,0 L9,18");const o=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");o.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),o.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),Ww=p((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).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"),e.append("defs").append("marker").attr("id",r+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).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"),zw=p((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),i.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const o=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");o.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),o.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),Hw=p((e,t,r)=>{const i=vt(),{themeVariables:o}=i,{strokeWidth:s}=o;e.append("defs").append("marker").attr("id",r+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${s}`),e.append("defs").append("marker").attr("id",r+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${s}`)},"only_one_neo"),Yw=p((e,t,r)=>{const i=vt(),{themeVariables:o}=i,{strokeWidth:s,mainBkg:a}=o,n=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");n.append("circle").attr("fill",a??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${s}`).attr("r",6),n.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${s}`);const l=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",a??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${s}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${s}`)},"zero_or_one_neo"),Uw=p((e,t,r)=>{const i=vt(),{themeVariables:o}=i,{strokeWidth:s}=o;e.append("defs").append("marker").attr("id",r+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${s}`),e.append("defs").append("marker").attr("id",r+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${s}`)},"one_or_more_neo"),jw=p((e,t,r)=>{const i=vt(),{themeVariables:o}=i,{strokeWidth:s,mainBkg:a}=o,n=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");n.append("circle").attr("fill",a??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${s}`),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${s}`);const l=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",a??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${s}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${s}`)},"zero_or_more_neo"),Gw=p((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-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"),Xw=p((e,t,r)=>{const i=vt(),{themeVariables:o}=i,{strokeWidth:s}=o;e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${s}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 + L20,10 + M20,10 + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),Vw=p((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),Zw=p((e,t,r)=>{const i=vt(),{themeVariables:o}=i,{strokeWidth:s}=o,a=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");a.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),a.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),a.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),a.selectAll("*").attr("stroke-width",`${s}`)},"requirement_contains_neo"),Kw={extension:Fw,composition:Aw,aggregation:Ew,dependency:Mw,lollipop:$w,point:Ow,circle:Iw,cross:Dw,barb:Rw,barbNeo:Pw,only_one:Nw,zero_or_one:qw,one_or_more:Ww,zero_or_more:zw,only_one_neo:Hw,zero_or_one_neo:Yw,one_or_more_neo:Uw,zero_or_more_neo:jw,requirement_arrow:Gw,requirement_contains:Vw,requirement_arrow_neo:Xw,requirement_contains_neo:Zw},Qw=Lw,Jw={common:ji,getConfig:vt,insertCluster:ZT,insertEdge:Bw,insertEdgeLabel:kw,insertMarkers:Qw,insertNode:Eg,interpolateToCurve:Wn,labelHelper:et,log:N,positionEdgeLabel:Tw},Hi={},Ig=p(e=>{for(const t of e)Hi[t.name]=t},"registerLayoutLoaders"),tS=p(()=>{Ig([{name:"dagre",loader:p(async()=>await gt(()=>import("./dagre-BM42HDAG.7pHMEqVk.js"),__vite__mapDeps([0,1,2,3])),"loader")},{name:"cose-bilkent",loader:p(async()=>await gt(()=>import("./cose-bilkent-S5V4N54A.ClF2UM5N.js"),__vite__mapDeps([4,5,3])),"loader")}])},"registerDefaultLayoutLoaders");tS();var GB=p(async(e,t)=>{if(!(e.layoutAlgorithm in Hi))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const h of e.nodes){const d=h.domId||h.id;h.domId=`${e.diagramId}-${d}`}const r=Hi[e.layoutAlgorithm],i=await r.loader(),{theme:o,themeVariables:s}=e.config,{useGradient:a,gradientStart:n,gradientStop:l}=s,c=t.attr("id");if(t.append("defs").append("filter").attr("id",`${c}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${o?.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${c}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${o?.includes("dark")?"#FFFFFF":"#000000"}`),a){const h=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",n).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return i.render(e,t,Jw,{algorithm:r.algorithm})},"render"),XB=p((e="",{fallback:t="dagre"}={})=>{if(e in Hi)return e;if(t in Hi)return N.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),ll="comm",Dg="rule",Rg="decl",eS="@media",rS="@import",iS="@supports",oS="@namespace",on="@keyframes",Pg="@layer",sS="@scope",aS=Math.abs,Mi=String.fromCharCode;function Ng(e){return e.trim()}function sn(e,t,r){return e.replace(t,r)}function Xr(e,t){return e.charCodeAt(t)|0}function ei(e,t,r){return e.slice(t,r)}function Fe(e){return e.length}function qg(e){return e.length}function xo(e,t){return t.push(e),e}var Bs=1,ri=1,Wg=0,ce=0,Et=0,ai="";function hl(e,t,r,i,o,s,a,n){return{value:e,root:t,parent:r,type:i,props:o,children:s,line:Bs,column:ri,length:a,return:"",siblings:n}}function nS(){return Et}function lS(){return Et=ce>0?Xr(ai,--ce):0,ri--,Et===10&&(ri=1,Bs--),Et}function xe(){return Et=ce2||Yi(Et)>3?"":" "}function uS(e,t){for(;--t&&xe()&&!(Et<48||Et>102||Et>57&&Et<65||Et>70&&Et<97););return Ls(e,Mo()+(t<6&&Je()==32&&xe()==32))}function an(e){for(;xe();)switch(Et){case e:return ce;case 34:case 39:e!==34&&e!==39&&an(Et);break;case 40:e===41&&an(e);break;case 92:xe();break}return ce}function fS(e,t){for(;xe()&&e+Et!==57;)if(e+Et===84&&Je()===47)break;return"/*"+Ls(t,ce-1)+"*"+Mi(e===47?e:xe())}function pS(e){for(;!Yi(Je());)xe();return Ls(e,ce)}function gS(e){return cS($o("",null,null,null,[""],e=hS(e),0,[0],e))}function $o(e,t,r,i,o,s,a,n,l){for(var c=0,h=0,d=a,f=0,u=0,g=0,m=1,y=1,C=1,b=0,k=0,w="",S=o,_=s,F=i,B=w;y;)switch(g=k,k=xe()){case 40:g!=108&&Xr(B,d-1)==58?(b++,B+="("):B+=na(k);break;case 41:b--,B+=")";break;case 34:case 39:case 91:B+=na(k);break;case 9:case 10:case 13:case 32:if(b>0){B+=Mi(k);break}B+=dS(g);break;case 92:B+=uS(Mo()-1,7);continue;case 47:switch(Je()){case 42:case 47:xo(mS(fS(xe(),Mo()),t,r,l),l),(Yi(g||1)==5||Yi(Je()||1)==5)&&Fe(B)&&ei(B,-1,void 0)!==" "&&(B+=" ");break;default:B+="/"}break;case 123*m:n[c++]=Fe(B)*C;case 125*m:case 59:case 0:if(b>0&&k){B+=Mi(k);break}switch(k){case 0:case 125:y=0;case 59+h:C==-1&&(B=sn(B,/\f/g,"")),u>0&&(Fe(B)-d||m===0)&&xo(u>32?lc(B+";",i,r,d-1,l):lc(sn(B," ","")+";",i,r,d-2,l),l);break;case 59:B+=";";default:if(xo(F=nc(B,t,r,c,h,o,n,w,S=[],_=[],d,s),s),k===123)if(h===0)$o(B,t,F,F,S,s,d,n,_);else{switch(f){case 99:if(Xr(B,3)===110)break;case 108:if(Xr(B,2)===97)break;default:h=0;case 100:case 109:case 115:}h?$o(e,F,F,i&&xo(nc(e,F,F,0,0,o,n,w,o,S=[],d,_),_),o,_,d,n,i?S:_):$o(B,F,F,F,[""],_,0,n,_)}}c=h=u=0,m=C=1,w=B="",d=a;break;case 58:d=1+Fe(B),u=g;default:if(m<1){if(k==123)--m;else if(k==125&&m++==0&&lS()==125)continue}switch(B+=Mi(k),k*m){case 38:C=h>0?1:(B+="\f",-1);break;case 44:if(b>0)break;n[c++]=(Fe(B)-1)*C,C=1;break;case 64:Je()===45&&(B+=na(xe())),f=Je(),h=d=Fe(w=B+=pS(Mo())),k++;break;case 45:g===45&&Fe(B)==2&&(m=0)}}return s}function nc(e,t,r,i,o,s,a,n,l,c,h,d){for(var f=o-1,u=o===0?s:[""],g=qg(u),m=0,y=0,C=0;m0?u[b]+" "+k:sn(k,/&\f/g,u[b])))&&(l[C++]=w);return hl(e,t,r,o===0?Dg:n,l,c,h,d)}function mS(e,t,r,i){return hl(e,t,r,ll,Mi(nS()),ei(e,2,-2),0,i)}function lc(e,t,r,i,o){return hl(e,t,r,Rg,ei(e,0,i),ei(e,i+1,-1),i,o)}function nn(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),bS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./c4Diagram-AAUBKEIU.nat2XixZ.js");return{diagram:t}},__vite__mapDeps([6,7,3]));return{id:zg,diagram:e}},"loader"),kS={id:zg,detector:xS,loader:bS},TS=kS,Hg="flowchart",wS=p((e,t)=>t?.flowchart?.defaultRenderer==="dagre-wrapper"||t?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(e),"detector"),SS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./flowDiagram-I6XJVG4X.ZcEysN7M.js");return{diagram:t}},__vite__mapDeps([8,9,7,10,11,12,3]));return{id:Hg,diagram:e}},"loader"),_S={id:Hg,detector:wS,loader:SS},vS=_S,Yg="flowchart-v2",BS=p((e,t)=>t?.flowchart?.defaultRenderer==="dagre-d3"?!1:(t?.flowchart?.defaultRenderer==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(e)),"detector"),LS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./flowDiagram-I6XJVG4X.ZcEysN7M.js");return{diagram:t}},__vite__mapDeps([8,9,7,10,11,12,3]));return{id:Yg,diagram:e}},"loader"),FS={id:Yg,detector:BS,loader:LS},AS=FS,Ug="er",ES=p(e=>/^\s*erDiagram/.test(e),"detector"),MS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./erDiagram-TEJ5UH35.Bl77lVs6.js");return{diagram:t}},__vite__mapDeps([13,10,11,12,3]));return{id:Ug,diagram:e}},"loader"),$S={id:Ug,detector:ES,loader:MS},OS=$S,jg="gitGraph",IS=p(e=>/^\s*gitGraph/.test(e),"detector"),DS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-PVQCEYII.DyQn-qRf.js");return{diagram:t}},__vite__mapDeps([14,15,16,17,3]));return{id:jg,diagram:e}},"loader"),RS={id:jg,detector:IS,loader:DS},PS=RS,Gg="gantt",NS=p(e=>/^\s*gantt/.test(e),"detector"),qS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./ganttDiagram-6RSMTGT7.Coa5L4Se.js");return{diagram:t}},__vite__mapDeps([18,19,20,21,3]));return{id:Gg,diagram:e}},"loader"),WS={id:Gg,detector:NS,loader:qS},zS=WS,Xg="info",HS=p(e=>/^\s*info/.test(e),"detector"),YS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./infoDiagram-5YYISTIA.JmDa7qGc.js");return{diagram:t}},__vite__mapDeps([22,17,3]));return{id:Xg,diagram:e}},"loader"),US={id:Xg,detector:HS,loader:YS},Vg="pie",jS=p(e=>/^\s*pie/.test(e),"detector"),GS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./pieDiagram-4H26LBE5.CucMMZF9.js");return{diagram:t}},__vite__mapDeps([23,15,17,3,24,25,20]));return{id:Vg,diagram:e}},"loader"),XS={id:Vg,detector:jS,loader:GS},Zg="quadrantChart",VS=p(e=>/^\s*quadrantChart/.test(e),"detector"),ZS=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./quadrantDiagram-W4KKPZXB.SWAq4o9k.js");return{diagram:t}},__vite__mapDeps([26,19,20,21,3]));return{id:Zg,diagram:e}},"loader"),KS={id:Zg,detector:VS,loader:ZS},QS=KS,Kg="xychart",JS=p(e=>/^\s*xychart(-beta)?/.test(e),"detector"),t_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./xychartDiagram-2RQKCTM6.BSHZNS4L.js");return{diagram:t}},__vite__mapDeps([27,20,25,19,21,3]));return{id:Kg,diagram:e}},"loader"),e_={id:Kg,detector:JS,loader:t_},r_=e_,Qg="requirement",i_=p(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),o_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./requirementDiagram-4Y6WPE33.R4IghZp_.js");return{diagram:t}},__vite__mapDeps([28,10,11,3]));return{id:Qg,diagram:e}},"loader"),s_={id:Qg,detector:i_,loader:o_},a_=s_,Jg="sequence",n_=p(e=>/^\s*sequenceDiagram/.test(e),"detector"),l_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./sequenceDiagram-3UESZ5HK.FEIwZiXY.js");return{diagram:t}},__vite__mapDeps([29,7,16,3]));return{id:Jg,diagram:e}},"loader"),h_={id:Jg,detector:n_,loader:l_},c_=h_,tm="class",d_=p((e,t)=>t?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e),"detector"),u_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./classDiagram-4FO5ZUOK.OncdqZO7.js");return{diagram:t}},__vite__mapDeps([30,31,9,7,10,11,3]));return{id:tm,diagram:e}},"loader"),f_={id:tm,detector:d_,loader:u_},p_=f_,em="classDiagram",g_=p((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e),"detector"),m_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./classDiagram-v2-Q7XG4LA2.OncdqZO7.js");return{diagram:t}},__vite__mapDeps([32,31,9,7,10,11,3]));return{id:em,diagram:e}},"loader"),y_={id:em,detector:g_,loader:m_},C_=y_,rm="state",x_=p((e,t)=>t?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e),"detector"),b_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./stateDiagram-AJRCARHV.DkZFlJkF.js");return{diagram:t}},__vite__mapDeps([33,34,10,11,1,2,3]));return{id:rm,diagram:e}},"loader"),k_={id:rm,detector:x_,loader:b_},T_=k_,im="stateDiagram",w_=p((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer==="dagre-wrapper"),"detector"),S_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-BHNVJYJU.CwbP98cE.js");return{diagram:t}},__vite__mapDeps([35,34,10,11,3]));return{id:im,diagram:e}},"loader"),__={id:im,detector:w_,loader:S_},v_=__,om="journey",B_=p(e=>/^\s*journey/.test(e),"detector"),L_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./journeyDiagram-JHISSGLW.D-GNXEdA.js");return{diagram:t}},__vite__mapDeps([36,9,7,24,3]));return{id:om,diagram:e}},"loader"),F_={id:om,detector:B_,loader:L_},A_=F_,E_=p((e,t,r)=>{N.debug(`rendering svg for syntax error +`);const i=uk(t),o=i.append("g");i.attr("viewBox","0 0 2412 512"),Ic(i,100,512,!0),o.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"),o.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"),o.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"),o.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"),o.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"),o.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"),o.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"),o.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"),sm={draw:E_},M_=sm,$_={db:{},renderer:sm,parser:{parse:p(()=>{},"parse")}},O_=$_,am="flowchart-elk",I_=p((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer==="elk"?(t.layout="elk",!0):!1,"detector"),D_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./flowDiagram-I6XJVG4X.ZcEysN7M.js");return{diagram:t}},__vite__mapDeps([8,9,7,10,11,12,3]));return{id:am,diagram:e}},"loader"),R_={id:am,detector:I_,loader:D_},P_=R_,nm="timeline",N_=p(e=>/^\s*timeline/.test(e),"detector"),q_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./timeline-definition-PNZ67QCA.B-57br5T.js");return{diagram:t}},__vite__mapDeps([37,24,3]));return{id:nm,diagram:e}},"loader"),W_={id:nm,detector:N_,loader:q_},z_=W_,lm="mindmap",H_=p(e=>/^\s*mindmap/.test(e),"detector"),Y_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./mindmap-definition-RKZ34NQL.CkDyostU.js");return{diagram:t}},__vite__mapDeps([38,10,11,3]));return{id:lm,diagram:e}},"loader"),U_={id:lm,detector:H_,loader:Y_},j_=U_,hm="kanban",G_=p(e=>/^\s*kanban/.test(e),"detector"),X_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./kanban-definition-UN3LZRKU.Pclr6b-W.js");return{diagram:t}},__vite__mapDeps([39,9,3]));return{id:hm,diagram:e}},"loader"),V_={id:hm,detector:G_,loader:X_},Z_=V_,cm="sankey",K_=p(e=>/^\s*sankey(-beta)?/.test(e),"detector"),Q_=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./sankeyDiagram-5OEKKPKP.BntQo72i.js");return{diagram:t}},__vite__mapDeps([40,25,20,3]));return{id:cm,diagram:e}},"loader"),J_={id:cm,detector:K_,loader:Q_},tv=J_,dm="packet",ev=p(e=>/^\s*packet(-beta)?/.test(e),"detector"),rv=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./diagram-LMA3HP47.B9YE20Dj.js");return{diagram:t}},__vite__mapDeps([41,15,17,3]));return{id:dm,diagram:e}},"loader"),iv={id:dm,detector:ev,loader:rv},um="radar",ov=p(e=>/^\s*radar-beta/.test(e),"detector"),sv=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./diagram-2AECGRRQ.MlUG08pO.js");return{diagram:t}},__vite__mapDeps([42,15,17,3]));return{id:um,diagram:e}},"loader"),av={id:um,detector:ov,loader:sv},fm="block",nv=p(e=>/^\s*block(-beta)?/.test(e),"detector"),lv=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./blockDiagram-GPEHLZMM.DOD1tvWz.js");return{diagram:t}},__vite__mapDeps([43,9,1,12,3]));return{id:fm,diagram:e}},"loader"),hv={id:fm,detector:nv,loader:lv},cv=hv,pm="treeView",dv=p(e=>/^\s*treeView-beta/.test(e),"detector"),uv=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./diagram-5GNKFQAL.CKqaQ_hH.js");return{diagram:t}},__vite__mapDeps([44,15,16,17,3]));return{id:pm,diagram:e}},"loader"),fv={id:pm,detector:dv,loader:uv},pv=fv,gm="architecture",gv=p(e=>/^\s*architecture/.test(e),"detector"),mv=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./architectureDiagram-3BPJPVTR.DScFG-O1.js");return{diagram:t}},__vite__mapDeps([45,15,17,3,5]));return{id:gm,diagram:e}},"loader"),yv={id:gm,detector:gv,loader:mv},Cv=yv,mm="eventmodeling",xv=p(e=>/^\s*eventmodeling/.test(e),"detector"),bv=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./diagram-KO2AKTUF.4up6Ar1O.js");return{diagram:t}},__vite__mapDeps([46,15,17,3]));return{id:mm,diagram:e}},"loader"),kv={id:mm,detector:xv,loader:bv},Tv=kv,ym="ishikawa",wv=p(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),Sv=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-YF4QCWOH.Bq3509jq.js");return{diagram:t}},__vite__mapDeps([47,3]));return{id:ym,diagram:e}},"loader"),_v={id:ym,detector:wv,loader:Sv},Cm="venn",vv=p(e=>/^\s*venn-beta/.test(e),"detector"),Bv=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./vennDiagram-CIIHVFJN.DryuVqLC.js");return{diagram:t}},__vite__mapDeps([48,3]));return{id:Cm,diagram:e}},"loader"),Lv={id:Cm,detector:vv,loader:Bv},Fv=Lv,xm="treemap",Av=p(e=>/^\s*treemap/.test(e),"detector"),Ev=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./diagram-OG6HWLK6.Gn5-3W5d.js");return{diagram:t}},__vite__mapDeps([49,11,15,17,3,21,25,20]));return{id:xm,diagram:e}},"loader"),Mv={id:xm,detector:Av,loader:Ev},bm="wardley-beta",$v=p(e=>/^\s*wardley-beta/i.test(e),"detector"),Ov=p(async()=>{const{diagram:e}=await gt(async()=>{const{diagram:t}=await import("./wardleyDiagram-YWT4CUSO.EXTTov1l.js");return{diagram:t}},__vite__mapDeps([50,15,17,3]));return{id:bm,diagram:e}},"loader"),Iv={id:bm,detector:$v,loader:Ov},Dv=Iv,hc=!1,Fs=p(()=>{hc||(hc=!0,Po("error",O_,e=>e.toLowerCase().trim()==="error"),Po("---",{db:{clear:p(()=>{},"clear")},styles:{},renderer:{draw:p(()=>{},"draw")},parser:{parse:p(()=>{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:p(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),da(P_,j_,Cv),da(TS,Z_,C_,p_,OS,zS,US,XS,a_,c_,AS,vS,z_,PS,v_,T_,A_,QS,tv,iv,r_,cv,Tv,pv,av,_v,Mv,Fv,Dv))},"addDiagrams"),Rv=p(async()=>{N.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(xr).map(async([r,{detector:i,loader:o}])=>{if(o)try{ma(r)}catch{try{const{diagram:s,id:a}=await o();Po(a,s,i)}catch(s){throw N.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete xr[r],s}}}))).filter(r=>r.status==="rejected");if(t.length>0){N.error(`Failed to load ${t.length} external diagrams`);for(const r of t)N.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),Pv="graphics-document document";function km(e,t){e.attr("role",Pv),t!==""&&e.attr("aria-roledescription",t)}p(km,"setA11yDiagramInfo");function Tm(e,t,r,i){if(e.insert!==void 0){if(r){const o=`chart-desc-${i}`;e.attr("aria-describedby",o),e.insert("desc",":first-child").attr("id",o).text(r)}if(t){const o=`chart-title-${i}`;e.attr("aria-labelledby",o),e.insert("title",":first-child").attr("id",o).text(t)}}}p(Tm,"addSVGa11yTitleDescription");var ln=class wm{constructor(t,r,i,o,s){this.type=t,this.text=r,this.db=i,this.parser=o,this.renderer=s}static{p(this,"Diagram")}static async fromText(t,r={}){const i=vt(),o=dn(t,i);t=m2(t)+` +`;try{ma(o)}catch{const c=My(o);if(!c)throw new bc(`Diagram ${o} not found.`);const{id:h,diagram:d}=await c();Po(h,d)}const{db:s,parser:a,renderer:n,init:l}=ma(o);return a.parser&&(a.parser.yy=s),s.clear?.(),l?.(i),r.title&&s.setDiagramTitle?.(r.title),await a.parse(t),new wm(o,t,s,a,n)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},cc=[],Nv=p(()=>{cc.forEach(e=>{e()}),cc=[]},"attachFunctions"),qv=p(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Sm(e){const t=e.match(xc);if(!t)return{text:e,metadata:{}};let r=x1(t[1],{schema:C1})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const i={};return r.displayMode&&(i.displayMode=r.displayMode.toString()),r.title&&(i.title=r.title.toString()),r.config&&(i.config=r.config),{text:e.slice(t[0].length),metadata:i}}p(Sm,"extractFrontMatter");var Wv=p(e=>e.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(t,r,i)=>"<"+r+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),zv=p(e=>{const{text:t,metadata:r}=Sm(e),{displayMode:i,title:o,config:s={}}=r;return i&&(s.gantt||(s.gantt={}),s.gantt.displayMode=i),{title:o,config:s,text:t}},"processFrontmatter"),Hv=p(e=>{const t=ye.detectInit(e)??{},r=ye.detectDirective(e,"wrap");return Array.isArray(r)?t.wrap=r.some(({type:i})=>i==="wrap"):r?.type==="wrap"&&(t.wrap=!0),{text:i2(e),directive:t}},"processDirectives");function cl(e){const t=Wv(e),r=zv(t),i=Hv(r.text),o=jn(r.config,i.directive);return e=qv(i.text),{code:e,title:r.title,config:o}}p(cl,"preprocessDiagram");function _m(e){const t=new TextEncoder().encode(e),r=Array.from(t,i=>String.fromCodePoint(i)).join("");return btoa(r)}p(_m,"toBase64");var Yv=5e4,Uv="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",jv="sandbox",Gv="loose",Xv="http://www.w3.org/2000/svg",Vv="http://www.w3.org/1999/xlink",Zv="http://www.w3.org/1999/xhtml",Kv="100%",Qv="100%",Jv="border:0;margin:0;",tB="margin:0",eB="allow-top-navigation-by-user-activation allow-popups",rB='The "iframe" tag is not supported by your browser.',iB=["foreignobject"],oB=["dominant-baseline"];function dl(e){const t=cl(e);return Do(),s0(t.config??{}),t}p(dl,"processAndSetConfigs");async function vm(e,t){Fs();try{const{code:r,config:i}=dl(e);return{diagramType:(await Lm(r)).type,config:i}}catch(r){if(t?.suppressErrors)return!1;throw r}}p(vm,"parse");var dc=p((e,t,r=[])=>{const i=_c(`{ ${r.join(" !important; ")} !important; }`);return`.${e} ${t} ${i}`},"cssImportantStyles"),sB=p((e,t=new Map)=>{const r=new CSSStyleSheet;if(e.fontFamily!==void 0&&r.insertRule(`:root { --mermaid-font-family: ${e.fontFamily}}`,r.cssRules.length),e.altFontFamily!==void 0&&r.insertRule(`:root { --mermaid-alt-font-family: ${e.altFontFamily}}`,r.cssRules.length),t instanceof Map){const n=Qt(e)?["> *","span"]:["rect","polygon","ellipse","circle","path"];t.forEach(l=>{_h(l.styles)||n.forEach(c=>{r.insertRule(dc(l.id,c,l.styles),r.cssRules.length)}),_h(l.textStyles)||r.insertRule(dc(l.id,"tspan",(l?.textStyles||[]).map(c=>c.replace("color","fill"))),r.cssRules.length)})}let i="";if(e.themeCSS!==void 0)if(typeof r.replaceSync=="function"){const o=new CSSStyleSheet;o.replaceSync(e.themeCSS),i=ga(o)+` +`}else i+=`${e.themeCSS} +`;return i+ga(r)},"createCssStyles"),aB=p((e,t)=>nn(gS(`${e}{${t}}`),CS([p(function(i,o,s,a){if(i.type==="rule"&&Array.isArray(i.props)){if(i.parent&&i.parent.type===on)return;i.props=i.props.map(n=>n.startsWith(e)?n:`${e} ${n}`)}else i.type.startsWith("@")&&([...[eS,iS,Pg,sS,"@container","@starting-style"],on].includes(i.type)||(N.warn(`Removing unsupported at-rule ${i.type} from CSS`),i.type=ll))},"addNamespace"),yS])),"compileCSS"),nB=p((e,t,r,i)=>{const o=sB(e,r),s=S0(t,o,{...e.themeVariables,theme:e.theme,look:e.look},i);return aB(i,s)},"createUserStyles"),lB=p((e="",t,r)=>{let i=e;return!r&&!t&&(i=i.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),i=wr(i),i=i.replace(/
    /g,"
    "),i},"cleanUpSvgCode"),hB=p((e="",t)=>{const r=t?.viewBox?.baseVal?.height?t.viewBox.baseVal.height+"px":Qv,i=_m(`${e}`);return``},"putIntoIFrame"),uc=p((e,t,r,i,o)=>{const s=e.append("div");s.attr("id",r),i&&s.attr("style",i);const a=s.append("svg").attr("id",t).attr("width","100%").attr("xmlns",Xv);return o&&a.attr("xmlns:xlink",o),a.append("g"),e},"appendDivSvgG");function hn(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}p(hn,"sandboxedIframe");var cB=p((e,t,r,i)=>{e.getElementById(t)?.remove(),e.getElementById(r)?.remove(),e.getElementById(i)?.remove()},"removeExistingElements"),dB=p(async function(e,t,r){Fs();const i=dl(t);t=i.code;const o=vt();N.debug(o),t.length>(o?.maxTextSize??Yv)&&(t=Uv);const s=`#${e}`,a="i"+e,n="#"+a,l="d"+e,c="#"+l,h=p(()=>{const W=lt(f?n:c).node();W&&"remove"in W&&W.remove()},"removeTempElements");let d=lt(document.body);const f=o.securityLevel===jv,u=o.securityLevel===Gv,g=o.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const H=hn(lt(r),a);d=lt(H.nodes()[0].contentDocument.body),d.node().style.margin="0"}else d=lt(r);uc(d,e,l,`font-family: ${g}`,Vv)}else{if(cB(document,e,l,a),f){const H=hn(lt(document.body),a);d=lt(H.nodes()[0].contentDocument.body),d.node().style.margin="0"}else d=lt("body");uc(d,e,l)}let m,y;try{m=await ln.fromText(t,{title:i.title})}catch(H){if(o.suppressErrorRendering)throw h(),H;m=await ln.fromText("error"),y=H}const C=d.select(c).node(),b=m.type,k=C.firstChild,w=k.firstChild,S=m.renderer.getClasses?.(t,m),_=nB(o,b,S,s),F=document.createElement("style");F.innerHTML=_,k.insertBefore(F,w);try{await m.renderer.draw(t,e,"11.15.0",m)}catch(H){throw o.suppressErrorRendering?h():M_.draw(t,e,"11.15.0"),H}const B=d.select(`${c} svg`),q=m.db.getAccTitle?.(),O=m.db.getAccDescription?.();Fm(b,B,q,O),d.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",Zv);let R=d.select(c).node().innerHTML;if(N.debug("config.arrowMarkerAbsolute",o.arrowMarkerAbsolute),R=lB(R,f,je(o.arrowMarkerAbsolute)),f){const H=d.select(c+" svg").node();R=hB(R,H)}else u||(R=Vr.sanitize(R,{ADD_TAGS:iB,ADD_ATTR:oB,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(Nv(),y)throw y;return h(),{diagramType:b,svg:R,bindFunctions:m.db.bindFunctions}},"render");function Bm(e={}){const t=It({},e);t?.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),i0(t),t?.theme&&t.theme in We?t.themeVariables=We[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=We.default.getThemeVariables(t.themeVariables));const r=typeof t=="object"?r0(t):vc();cn(r.logLevel),Fs()}p(Bm,"initialize");var Lm=p((e,t={})=>{const{code:r}=cl(e);return ln.fromText(r,t)},"getDiagramFromText");function Fm(e,t,r,i){km(t,e),Tm(t,r,i,t.attr("id"))}p(Fm,"addA11yInfo");var _r=Object.freeze({render:dB,parse:vm,getDiagramFromText:Lm,initialize:Bm,getConfig:vt,setConfig:Bc,getSiteConfig:vc,updateSiteConfig:o0,reset:p(()=>{Do()},"reset"),globalReset:p(()=>{Do(Zr)},"globalReset"),defaultConfig:Zr});cn(vt().logLevel);Do(vt());var uB=p((e,t,r)=>{N.warn(e),Un(e)?(r&&r(e.str,e.hash),t.push({...e,message:e.str,error:e})):(r&&r(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),Am=p(async function(e={querySelector:".mermaid"}){try{await fB(e)}catch(t){if(Un(t)&&N.error(t.str),Ue.parseError&&Ue.parseError(t),!e.suppressErrors)throw N.error("Use the suppressErrors option to suppress these errors"),t}},"run"),fB=p(async function({postRenderCallback:e,querySelector:t,nodes:r}={querySelector:".mermaid"}){const i=_r.getConfig();N.debug(`${e?"":"No "}Callback function found`);let o;if(r)o=r;else if(t)o=document.querySelectorAll(t);else throw new Error("Nodes and querySelector are both undefined");N.debug(`Found ${o.length} diagrams`),i?.startOnLoad!==void 0&&(N.debug("Start On Load: "+i?.startOnLoad),_r.updateSiteConfig({startOnLoad:i?.startOnLoad}));const s=new ye.InitIDGenerator(i.deterministicIds,i.deterministicIDSeed);let a;const n=[];for(const l of Array.from(o)){if(N.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const c=`mermaid-${s.next()}`;a=l.innerHTML,a=Hf(ye.entityDecode(a)).trim().replace(//gi,"
    ");const h=ye.detectInit(a);h&&N.debug("Detected early reinit: ",h);try{const{svg:d,bindFunctions:f}=await Om(c,a,l);l.innerHTML=d,e&&await e(c),f&&f(l)}catch(d){uB(d,n,Ue.parseError)}}if(n.length>0)throw n[0]},"runThrowsErrors"),Em=p(function(e){_r.initialize(e)},"initialize"),pB=p(async function(e,t,r){N.warn("mermaid.init is deprecated. Please use run instead."),e&&Em(e);const i={postRenderCallback:r,querySelector:".mermaid"};typeof t=="string"?i.querySelector=t:t&&(t instanceof HTMLElement?i.nodes=[t]:i.nodes=t),await Am(i)},"init"),gB=p(async(e,{lazyLoad:t=!0}={})=>{Fs(),da(...e),t===!1&&await Rv()},"registerExternalDiagrams"),Mm=p(function(){if(Ue.startOnLoad){const{startOnLoad:e}=_r.getConfig();e&&Ue.run().catch(t=>N.error("Mermaid failed to initialize",t))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Mm,!1);var mB=p(function(e){Ue.parseError=e},"setParseErrorHandler"),cs=[],la=!1,$m=p(async()=>{if(!la){for(la=!0;cs.length>0;){const e=cs.shift();if(e)try{await e()}catch(t){N.error("Error executing queue",t)}}la=!1}},"executeQueue"),yB=p(async(e,t)=>new Promise((r,i)=>{const o=p(()=>new Promise((s,a)=>{_r.parse(e,t).then(n=>{s(n),r(n)},n=>{N.error("Error parsing",n),Ue.parseError?.(n),a(n),i(n)})}),"performCall");cs.push(o),$m().catch(i)}),"parse"),Om=p((e,t,r)=>new Promise((i,o)=>{const s=p(()=>new Promise((a,n)=>{_r.render(e,t,r).then(l=>{a(l),i(l)},l=>{N.error("Error parsing",l),Ue.parseError?.(l),n(l),o(l)})}),"performCall");cs.push(s),$m().catch(o)}),"render"),CB=p(()=>Object.keys(xr).map(e=>({id:e})),"getRegisteredDiagramsMetadata"),Ue={startOnLoad:!0,mermaidAPI:_r,parse:yB,render:Om,init:pB,run:Am,registerExternalDiagrams:gB,registerLayoutLoaders:Ig,initialize:Em,parseError:void 0,contentLoaded:Mm,setParseErrorHandler:mB,detectType:dn,registerIconPacks:wT,getRegisteredDiagramsMetadata:CB},xB=Ue;/*! Check if previously processed *//*! + * Wait for document loaded before starting the execution + */const VB=Object.freeze(Object.defineProperty({__proto__:null,default:xB},Symbol.toStringTag,{value:"Module"}));export{Dc as $,SB as A,tr as B,Gm as C,vt as D,$0 as E,jn as F,Sc as G,l2 as H,uk as I,C1 as J,Py as K,$i as L,TB as M,bs as N,f0 as O,Oc as P,Gl as Q,ik as R,va as S,n2 as T,Ui as U,ke as V,M as W,$ as X,k0 as Y,J1 as Z,p as _,B0 as a,Bw as a$,Jb as a0,Sn as a1,LB as a2,EB as a3,Rr as a4,fh as a5,uh as a6,$B as a7,MB as a8,AB as a9,L1 as aA,q1 as aB,N1 as aC,P1 as aD,z1 as aE,W1 as aF,B1 as aG,yf as aH,$1 as aI,E1 as aJ,A1 as aK,Cf as aL,b1 as aM,Qt as aN,Ge as aO,ui as aP,Gn as aQ,_f as aR,wr as aS,Ff as aT,gc as aU,Qw as aV,YB as aW,jB as aX,zB as aY,K as aZ,HB as a_,vB as aa,BB as ab,FB as ac,IB as ad,OB as ae,ZT as af,Eg as ag,UB as ah,ot as ai,Ee as aj,Yn as ak,X as al,_T as am,Nn as an,Rn as ao,Lo as ap,R1 as aq,D1 as ar,I1 as as,O1 as at,v1 as au,gf as av,F1 as aw,_1 as ax,M1 as ay,mf as az,v0 as b,Tw as b0,kw as b1,tk as b2,kB as b3,zm as b4,Qi as b5,wT as b6,TT as b7,bn as b8,Ke as b9,Di as ba,ah as bb,$x as bc,Z as bd,Af as be,ie as bf,vx as bg,xn as bh,Zc as bi,Xi as bj,Jc as bk,_B as bl,jm as bm,VB as bn,yt as c,lt as d,Ic as e,It as f,F0 as g,Ye as h,be as i,w1 as j,ji as k,N as l,Bf as m,wB as n,XB as o,A0 as p,E0 as q,GB as r,L0 as s,x1 as t,ye as u,mw as v,d2 as w,DB as x,Vr as y,_0 as z}; diff --git a/_astro/mindmap-definition-RKZ34NQL.CkDyostU.js b/_astro/mindmap-definition-RKZ34NQL.CkDyostU.js new file mode 100644 index 0000000..21286f9 --- /dev/null +++ b/_astro/mindmap-definition-RKZ34NQL.CkDyostU.js @@ -0,0 +1,96 @@ +import{g as oe}from"./chunk-55IACEB6.DaHeeVsF.js";import{s as ae}from"./chunk-2J33WTMH.HmvIJeR8.js";import{_ as l,l as C,o as ce,r as le,D as he,G,c as B,i as F,b3 as de,V as ge,W as ue,X as pe}from"./mermaid.core.Ci_VGkOG.js";import"./preload-helper.DK3iz7C1.js";const E=[];for(let e=0;e<256;++e)E.push((e+256).toString(16).slice(1));function fe(e,n=0){return(E[e[n+0]]+E[e[n+1]]+E[e[n+2]]+E[e[n+3]]+"-"+E[e[n+4]]+E[e[n+5]]+"-"+E[e[n+6]]+E[e[n+7]]+"-"+E[e[n+8]]+E[e[n+9]]+"-"+E[e[n+10]]+E[e[n+11]]+E[e[n+12]]+E[e[n+13]]+E[e[n+14]]+E[e[n+15]]).toLowerCase()}const me=new Uint8Array(16);function ye(){return crypto.getRandomValues(me)}function Ee(e,n,g){return crypto.randomUUID?crypto.randomUUID():_e(e)}function _e(e,n,g){e=e||{};const a=e.random??e.rng?.()??ye();if(a.length<16)throw new Error("Random bytes length must be >= 16");return a[6]=a[6]&15|64,a[8]=a[8]&63|128,fe(a)}var Y=(function(){var e=l(function(D,s,i,o){for(i=i||{},o=D.length;o--;i[D[o]]=s);return i},"o"),n=[1,4],g=[1,13],a=[1,12],t=[1,15],h=[1,16],f=[1,20],m=[1,19],_=[6,7,8],T=[1,26],I=[1,24],w=[1,25],d=[6,7,11],R=[1,6,13,15,16,19,22],q=[1,33],J=[1,34],A=[1,6,7,11,13,15,16,19,22],j={trace:l(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:l(function(s,i,o,c,p,r,$){var u=r.length-1;switch(p){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[u].id),c.addNode(r[u-1].length,r[u].id,r[u].descr,r[u].type);break;case 16:c.getLogger().trace("Icon: ",r[u]),c.decorateNode({icon:r[u]});break;case 17:case 21:c.decorateNode({class:r[u]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[u].id),c.addNode(0,r[u].id,r[u].descr,r[u].type);break;case 20:c.decorateNode({icon:r[u]});break;case 25:c.getLogger().trace("node found ..",r[u-2]),this.$={id:r[u-1],descr:r[u-1],type:c.getType(r[u-2],r[u])};break;case 26:this.$={id:r[u],descr:r[u],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[u-3]),this.$={id:r[u-3],descr:r[u-1],type:c.getType(r[u-2],r[u])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:g,7:[1,10],9:9,12:11,13:a,14:14,15:t,16:h,17:17,18:18,19:f,22:m},e(_,[2,3]),{1:[2,2]},e(_,[2,4]),e(_,[2,5]),{1:[2,6],6:g,12:21,13:a,14:14,15:t,16:h,17:17,18:18,19:f,22:m},{6:g,9:22,12:11,13:a,14:14,15:t,16:h,17:17,18:18,19:f,22:m},{6:T,7:I,10:23,11:w},e(d,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:f,22:m}),e(d,[2,18]),e(d,[2,19]),e(d,[2,20]),e(d,[2,21]),e(d,[2,23]),e(d,[2,24]),e(d,[2,26],{19:[1,30]}),{20:[1,31]},{6:T,7:I,10:32,11:w},{1:[2,7],6:g,12:21,13:a,14:14,15:t,16:h,17:17,18:18,19:f,22:m},e(R,[2,14],{7:q,11:J}),e(A,[2,8]),e(A,[2,9]),e(A,[2,10]),e(d,[2,15]),e(d,[2,16]),e(d,[2,17]),{20:[1,35]},{21:[1,36]},e(R,[2,13],{7:q,11:J}),e(A,[2,11]),e(A,[2,12]),{21:[1,37]},e(d,[2,25]),e(d,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:l(function(s,i){if(i.recoverable)this.trace(s);else{var o=new Error(s);throw o.hash=i,o}},"parseError"),parse:l(function(s){var i=this,o=[0],c=[],p=[null],r=[],$=this.table,u="",M=0,K=0,ne=2,Q=1,ie=r.slice.call(arguments,1),y=Object.create(this.lexer),L={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&(L.yy[H]=this.yy[H]);y.setInput(s,L.yy),L.yy.lexer=y,L.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var W=y.yylloc;r.push(W);var se=y.options&&y.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function re(k){o.length=o.length-2*k,p.length=p.length-k,r.length=r.length-k}l(re,"popStack");function Z(){var k;return k=c.pop()||y.lex()||Q,typeof k!="number"&&(k instanceof Array&&(c=k,k=c.pop()),k=i.symbols_[k]||k),k}l(Z,"lex");for(var b,v,S,X,O={},U,x,ee,V;;){if(v=o[o.length-1],this.defaultActions[v]?S=this.defaultActions[v]:((b===null||typeof b>"u")&&(b=Z()),S=$[v]&&$[v][b]),typeof S>"u"||!S.length||!S[0]){var z="";V=[];for(U in $[v])this.terminals_[U]&&U>ne&&V.push("'"+this.terminals_[U]+"'");y.showPosition?z="Parse error on line "+(M+1)+`: +`+y.showPosition()+` +Expecting `+V.join(", ")+", got '"+(this.terminals_[b]||b)+"'":z="Parse error on line "+(M+1)+": Unexpected "+(b==Q?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(z,{text:y.match,token:this.terminals_[b]||b,line:y.yylineno,loc:W,expected:V})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+b);switch(S[0]){case 1:o.push(b),p.push(y.yytext),r.push(y.yylloc),o.push(S[1]),b=null,K=y.yyleng,u=y.yytext,M=y.yylineno,W=y.yylloc;break;case 2:if(x=this.productions_[S[1]][1],O.$=p[p.length-x],O._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},se&&(O._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),X=this.performAction.apply(O,[u,K,M,L.yy,S[1],p,r].concat(ie)),typeof X<"u")return X;x&&(o=o.slice(0,-1*x*2),p=p.slice(0,-1*x),r=r.slice(0,-1*x)),o.push(this.productions_[S[1]][0]),p.push(O.$),r.push(O._$),ee=$[o[o.length-2]][o[o.length-1]],o.push(ee);break;case 3:return!0}}return!0},"parse")},te=(function(){var D={EOF:1,parseError:l(function(i,o){if(this.yy.parser)this.yy.parser.parseError(i,o);else throw new Error(i)},"parseError"),setInput:l(function(s,i){return this.yy=i||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:l(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var i=s.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:l(function(s){var i=s.length,o=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;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),o.length-1&&(this.yylineno-=o.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:o?(o.length===c.length?this.yylloc.first_column:0)+c[c.length-o.length].length-o[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(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:l(function(s){this.unput(this.match.slice(s))},"less"),pastInput:l(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:l(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:l(function(){var s=this.pastInput(),i=new Array(s.length+1).join("-");return s+this.upcomingInput()+` +`+i+"^"},"showPosition"),test_match:l(function(s,i){var o,c,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))),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],o=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),o)return o;if(this._backtrack){for(var r in p)this[r]=p[r];return!1}return!1},"test_match"),next:l(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,i,o,c;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),r=0;ri[0].length)){if(i=o,c=r,this.options.backtrack_lexer){if(s=this.test_match(o,p[r]),s!==!1)return s;if(this._backtrack){i=!1;continue}else return!1}else if(!this.options.flex)break}return i?(s=this.test_match(i,p[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:l(function(){var i=this.next();return i||this.lex()},"lex"),begin:l(function(i){this.conditionStack.push(i)},"begin"),popState:l(function(){var i=this.conditionStack.length-1;return i>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:l(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:l(function(i){return i=this.conditionStack.length-1-Math.abs(i||0),i>=0?this.conditionStack[i]:"INITIAL"},"topState"),pushState:l(function(i){this.begin(i)},"pushState"),stateStackSize:l(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:l(function(i,o,c,p){switch(c){case 0:return i.getLogger().trace("Found comment",o.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:i.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return i.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:i.getLogger().trace("end icon"),this.popState();break;case 10:return i.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return i.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return i.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return i.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:i.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return i.getLogger().trace("description:",o.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),i.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),i.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),i.getLogger().trace("node end ...",o.yytext),"NODE_DEND";case 30:return this.popState(),i.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),i.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),i.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),i.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),i.getLogger().trace("node end (("),"NODE_DEND";case 35:return i.getLogger().trace("Long description:",o.yytext),20;case 36:return i.getLogger().trace("Long description:",o.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return D})();j.lexer=te;function P(){this.yy={}}return l(P,"Parser"),P.prototype=j,j.Parser=P,new P})();Y.parser=Y;var be=Y,ke=12,N={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Se=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=N,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{l(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let n=this.nodes.length-1;n>=0;n--)if(this.nodes[n].level0?this.nodes[0]:null}addNode(e,n,g,a){C.info("addNode",e,n,g,a);let t=!1;this.nodes.length===0?(this.baseLevel=e,e=0,t=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,t=!1);const h=B();let f=h.mindmap?.padding??G.mindmap.padding;switch(a){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:f*=2;break}const m={id:this.count++,nodeId:F(n,h),level:e,descr:F(g,h),type:a,children:[],width:h.mindmap?.maxNodeWidth??G.mindmap.maxNodeWidth,padding:f,isRoot:t},_=this.getParent(e);if(_)_.children.push(m),this.nodes.push(m);else if(t)this.nodes.push(m);else throw new Error(`There can be only one root. No parent could be found for ("${m.descr}")`)}getType(e,n){switch(C.debug("In get type",e,n),e){case"[":return this.nodeType.RECT;case"(":return n===")"?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,n){this.elements[e]=n}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const n=B(),g=this.nodes[this.nodes.length-1];e.icon&&(g.icon=F(e.icon,n)),e.class&&(g.class=F(e.class,n))}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,n){if(e.level===0?e.section=void 0:e.section=n,e.children)for(const[g,a]of e.children.entries()){const t=e.level===0?g%(ke-1):n;this.assignSections(a,t)}}flattenNodes(e,n){const g=B(),a=["mindmap-node"];e.isRoot===!0?a.push("section-root","section--1"):e.section!==void 0&&a.push(`section-${e.section}`),e.class&&a.push(e.class);const t=a.join(" "),h=l(m=>{const T=(g.theme?.toLowerCase()??"").includes("redux");switch(m){case N.CIRCLE:return"mindmapCircle";case N.RECT:return"rect";case N.ROUNDED_RECT:return"rounded";case N.CLOUD:return"cloud";case N.BANG:return"bang";case N.HEXAGON:return"hexagon";case N.DEFAULT:return T?"rounded":"defaultMindmapNode";case N.NO_BORDER:default:return"rect"}},"getShapeFromType"),f={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:h(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:t,cssStyles:[],look:g.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(n.push(f),e.children)for(const m of e.children)this.flattenNodes(m,n)}generateEdges(e,n){if(!e.children)return;const g=B();for(const a of e.children){let t="edge";a.section!==void 0&&(t+=` section-edge-${a.section}`);const h=e.level+1;t+=` edge-depth-${h}`;const f={id:`edge_${e.id}_${a.id}`,start:e.id.toString(),end:a.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:g.look,classes:t,depth:e.level,section:a.section};n.push(f),this.generateEdges(a,n)}}getData(){const e=this.getMindmap(),n=B(),a=de().layout!==void 0,t=n;if(a||(t.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:t};C.debug("getData: mindmapRoot",e,n),this.assignSections(e);const h=[],f=[];this.flattenNodes(e,h),this.generateEdges(e,f),C.debug(`getData: processed ${h.length} nodes and ${f.length} edges`);const m=new Map;for(const _ of h)m.set(_.id,{shape:_.shape,width:_.width,height:_.height,padding:_.padding});return{nodes:h,edges:f,config:t,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(m),type:"mindmap",diagramId:"mindmap-"+Ee()}}getLogger(){return C}},xe=l(async(e,n,g,a)=>{C.debug(`Rendering mindmap diagram +`+e);const t=a.db,h=t.getData(),f=oe(n,h.config.securityLevel);if(h.type=a.type,h.layoutAlgorithm=ce(h.config.layout,{fallback:"cose-bilkent"}),h.diagramId=n,!t.getMindmap())return;h.nodes.forEach(d=>{d.shape==="rounded"?(d.radius=15,d.taper=15,d.stroke="none",d.width=0,d.padding=15):d.shape==="circle"?d.padding=10:d.shape==="rect"?(d.width=0,d.padding=10):d.shape==="hexagon"&&(d.width=0,d.height=0)}),await le(h,f);const{themeVariables:_}=he(),{useGradient:T,gradientStart:I,gradientStop:w}=_;if(T&&I&&w){const d=f.attr("id"),R=f.append("defs").append("linearGradient").attr("id",`${d}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");R.append("stop").attr("offset","0%").attr("stop-color",I).attr("stop-opacity",1),R.append("stop").attr("offset","100%").attr("stop-color",w).attr("stop-opacity",1)}ae(f,h.config.mindmap?.padding??G.mindmap.padding,"mindmapDiagram",h.config.mindmap?.useMaxWidth??G.mindmap.useMaxWidth)},"draw"),Ne={draw:xe},De=l(e=>{const{theme:n,look:g}=e;let a="";for(let t=0;t{let a="";for(let t=0;t{const{theme:n}=e,g=e.svgId,a=e.dropShadow?e.dropShadow.replace("url(#drop-shadow)",`url(${g}-drop-shadow)`):"none";return` + .edge { + stroke-width: 3; + } + ${De(e)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${e.git0}; + } + .section-root text { + fill: ${e.gitBranchLabel0}; + } + .section-root span { + color: ${n?.includes("redux")?e.nodeBorder:e.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } + [data-look="neo"].mindmap-node { + filter: ${a}; + } + [data-look="neo"].mindmap-node.section-root rect, [data-look="neo"].mindmap-node.section-root path, [data-look="neo"].mindmap-node.section-root circle, [data-look="neo"].mindmap-node.section-root polygon { + fill: ${n?.includes("redux")?e.mainBkg:e.git0}; + } + [data-look="neo"].mindmap-node.section-root .text-inner-tspan { + fill: ${n?.includes("redux")?e.nodeBorder:e["cScaleLabel"+(n==="neutral"?1:0)]}; + } + ${e.useGradient&&g&&e.mainBkg?Le(e.THEME_COLOR_LIMIT,g,e.mainBkg):""} +`},"getStyles"),Te=ve,Re={get db(){return new Se},renderer:Ne,parser:be,styles:Te};export{Re as diagram}; diff --git a/_astro/ordinal.BYWQX77i.js b/_astro/ordinal.BYWQX77i.js new file mode 100644 index 0000000..1f7977b --- /dev/null +++ b/_astro/ordinal.BYWQX77i.js @@ -0,0 +1 @@ +import{i as a}from"./init.Gi6I4Gst.js";class o extends Map{constructor(n,t=g){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),n!=null)for(const[r,s]of n)this.set(r,s)}get(n){return super.get(c(this,n))}has(n){return super.has(c(this,n))}set(n,t){return super.set(l(this,n),t)}delete(n){return super.delete(p(this,n))}}function c({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):t}function l({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):(e.set(r,t),t)}function p({_intern:e,_key:n},t){const r=n(t);return e.has(r)&&(t=e.get(r),e.delete(r)),t}function g(e){return e!==null&&typeof e=="object"?e.valueOf():e}const f=Symbol("implicit");function h(){var e=new o,n=[],t=[],r=f;function s(u){let i=e.get(u);if(i===void 0){if(r!==f)return r;e.set(u,i=n.push(u)-1)}return t[i%t.length]}return s.domain=function(u){if(!arguments.length)return n.slice();n=[],e=new o;for(const i of u)e.has(i)||e.set(i,n.push(i)-1);return s},s.range=function(u){return arguments.length?(t=Array.from(u),s):t.slice()},s.unknown=function(u){return arguments.length?(r=u,s):r},s.copy=function(){return h(n,t).unknown(r)},a.apply(s,arguments),s}export{h as o}; diff --git a/_astro/page.CmV2H9l1.js b/_astro/page.CmV2H9l1.js new file mode 100644 index 0000000..898ab29 --- /dev/null +++ b/_astro/page.CmV2H9l1.js @@ -0,0 +1,77 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["_astro/mermaid.core.Ci_VGkOG.js","_astro/preload-helper.DK3iz7C1.js"])))=>i.map(i=>d[i]); +import{_ as T}from"./preload-helper.DK3iz7C1.js";const C={},w=new Set,u=new WeakSet;let h=!0,k,y=!1;function x(e){y||(y=!0,h??=!1,k??="hover",M(),O(),P(),_())}function M(){for(const e of["touchstart","mousedown"])document.addEventListener(e,r=>{m(r.target,"tap")&&l(r.target.href,{ignoreSlowConnection:!0})},{passive:!0})}function O(){let e;document.body.addEventListener("focusin",t=>{m(t.target,"hover")&&r(t)},{passive:!0}),document.body.addEventListener("focusout",a,{passive:!0}),g(()=>{for(const t of document.getElementsByTagName("a"))u.has(t)||m(t,"hover")&&(u.add(t),t.addEventListener("mouseenter",r,{passive:!0}),t.addEventListener("mouseleave",a,{passive:!0}))});function r(t){const n=t.target.href;e&&clearTimeout(e),e=setTimeout(()=>{l(n)},80)}function a(){e&&(clearTimeout(e),e=0)}}function P(){let e;g(()=>{for(const r of document.getElementsByTagName("a"))u.has(r)||m(r,"viewport")&&(u.add(r),e??=I(),e.observe(r))})}function I(){const e=new WeakMap;return new IntersectionObserver((r,a)=>{for(const t of r){const n=t.target,o=e.get(n);t.isIntersecting?(o&&clearTimeout(o),e.set(n,setTimeout(()=>{a.unobserve(n),e.delete(n),l(n.href)},300))):o&&(clearTimeout(o),e.delete(n))}})}function _(){g(()=>{for(const e of document.getElementsByTagName("a"))m(e,"load")&&l(e.href)})}function l(e,r){e=e.replace(/#.*/,"");const a=r?.ignoreSlowConnection??!1;if(N(e,a))if(w.add(e),document.createElement("link").relList?.supports?.("prefetch")&&r?.with!=="fetch"){const t=document.createElement("link");t.rel="prefetch",t.setAttribute("href",e),document.head.append(t)}else{const t=new Headers;for(const[n,o]of Object.entries(C))t.set(n,o);fetch(e,{priority:"low",headers:t})}}function N(e,r){if(!navigator.onLine||!r&&E())return!1;try{const a=new URL(e,location.href);return location.origin===a.origin&&(location.pathname!==a.pathname||location.search!==a.search)&&!w.has(e)}catch{}return!1}function m(e,r){if(e?.tagName!=="A")return!1;const a=e.dataset.astroPrefetch;return a==="false"?!1:r==="tap"&&(a!=null||h)&&E()?!0:a==null&&h||a===""?r===k:a===r}function E(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function g(e){e();let r=!1;document.addEventListener("astro:page-load",()=>{if(!r){r=!0;return}e()})}const i=(...e)=>console.log("[astro-mermaid]",...e),L=(...e)=>console.error("[astro-mermaid]",...e),A=()=>document.querySelectorAll("pre.mermaid").length>0;let c=null;async function B(){return c||(i("Loading mermaid.js..."),c=T(()=>import("./mermaid.core.Ci_VGkOG.js").then(e=>e.bn),__vite__mapDeps([0,1])).then(async({default:e})=>{const r=[];if(r&&r.length>0){i("Registering",r.length,"icon packs");const a=r.map(t=>({name:t.name,loader:()=>fetch(t.url).then(n=>n.json())}));await e.registerIconPacks(a)}return e}).catch(e=>{throw L("Failed to load mermaid:",e),c=null,e}),c)}const f={startOnLoad:!1,theme:"neutral",flowchart:{curve:"basis"}},D={light:"default",dark:"dark"};async function p(){i("Initializing mermaid diagrams...");const e=document.querySelectorAll("pre.mermaid");if(i("Found",e.length,"mermaid diagrams"),e.length===0)return;const r=await B();let a=f.theme;{const t=document.documentElement.getAttribute("data-theme"),n=document.body.getAttribute("data-theme");a=D[t||n]||f.theme,i("Using theme:",a,"from",t?"html":"body")}r.initialize({...f,theme:a,gitGraph:{mainBranchName:"main",showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0}});for(const t of e){if(t.hasAttribute("data-processed"))continue;t.hasAttribute("data-diagram")||t.setAttribute("data-diagram",t.textContent||"");const n=t.getAttribute("data-diagram")||"",o="mermaid-"+Math.random().toString(36).slice(2,11);i("Rendering diagram:",o);try{const d=document.getElementById(o);d&&d.remove();const{svg:s}=await r.render(o,n);t.innerHTML=s,t.setAttribute("data-processed","true"),i("Successfully rendered diagram:",o)}catch(d){L("Mermaid rendering error for diagram:",o,d);const s=document.createElement("div");s.style.cssText="color: red; padding: 1rem; border: 1px solid red; border-radius: 0.5rem;";const b=document.createElement("strong");b.textContent="Error rendering diagram:";const v=document.createElement("span");v.textContent=" "+(d.message||"Unknown error"),s.appendChild(b),s.appendChild(v),t.textContent="",t.appendChild(s),t.setAttribute("data-processed","true")}}}A()?(i("Mermaid diagrams detected on initial load"),p()):i("No mermaid diagrams found on initial load");{const e=new MutationObserver(r=>{for(const a of r)a.type==="attributes"&&a.attributeName==="data-theme"&&(document.querySelectorAll("pre.mermaid[data-processed]").forEach(t=>{t.removeAttribute("data-processed")}),p())});e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),e.observe(document.body,{attributes:!0,attributeFilter:["data-theme"]})}document.addEventListener("astro:after-swap",()=>{i("View transition detected"),A()&&p()});const S=document.createElement("style");S.textContent=` + /* Prevent layout shifts by setting minimum height */ + pre.mermaid { + display: flex; + justify-content: center; + align-items: center; + margin: 2rem 0; + padding: 1rem; + background-color: transparent; + border: none; + overflow: auto; + min-height: 200px; /* Prevent layout shift */ + position: relative; + } + + /* Loading state with skeleton loader */ + pre.mermaid:not([data-processed]) { + background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); + background-size: 200% 100%; + animation: shimmer 1.5s infinite; + } + + /* Dark mode skeleton loader */ + [data-theme="dark"] pre.mermaid:not([data-processed]) { + background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%); + background-size: 200% 100%; + } + + @keyframes shimmer { + 0% { + background-position: -200% 0; + } + 100% { + background-position: 200% 0; + } + } + + /* Show processed diagrams with smooth transition */ + pre.mermaid[data-processed] { + animation: none; + background: transparent; + min-height: auto; /* Allow natural height after render */ + } + + /* Ensure responsive sizing for mermaid SVGs */ + pre.mermaid svg { + max-width: 100%; + height: auto; + } + + /* Optional: Add subtle background for better visibility */ + @media (prefers-color-scheme: dark) { + pre.mermaid[data-processed] { + background-color: rgba(255, 255, 255, 0.02); + border-radius: 0.5rem; + } + } + + @media (prefers-color-scheme: light) { + pre.mermaid[data-processed] { + background-color: rgba(0, 0, 0, 0.02); + border-radius: 0.5rem; + } + } + + /* Respect user's color scheme preference */ + [data-theme="dark"] pre.mermaid[data-processed] { + background-color: rgba(255, 255, 255, 0.02); + border-radius: 0.5rem; + } + + [data-theme="light"] pre.mermaid[data-processed] { + background-color: rgba(0, 0, 0, 0.02); + border-radius: 0.5rem; + } + `;document.head.appendChild(S);x(); diff --git a/_astro/pieDiagram-4H26LBE5.CucMMZF9.js b/_astro/pieDiagram-4H26LBE5.CucMMZF9.js new file mode 100644 index 0000000..fe038ca --- /dev/null +++ b/_astro/pieDiagram-4H26LBE5.CucMMZF9.js @@ -0,0 +1,30 @@ +import{a4 as S,a7 as R,b2 as K,g as Q,s as Y,a as tt,b as et,q as at,p as rt,_ as p,l as z,c as nt,F as it,I as st,N as ot,e as lt,z as ct,G as ut}from"./mermaid.core.Ci_VGkOG.js";import{p as pt}from"./chunk-4BX2VUAB.Bj_lmsp3.js";import{p as dt}from"./wardley-L42UT6IY.BVigPHyG.js";import{d as P}from"./arc.BTyyZ9t0.js";import{o as gt}from"./ordinal.BYWQX77i.js";import"./preload-helper.DK3iz7C1.js";import"./init.Gi6I4Gst.js";function ft(t,a){return at?1:a>=t?0:NaN}function ht(t){return t}function mt(){var t=ht,a=ft,f=null,y=S(0),s=S(R),d=S(0);function o(e){var n,l=(e=K(e)).length,g,h,v=0,c=new Array(l),i=new Array(l),x=+y.apply(this,arguments),w=Math.min(R,Math.max(-R,s.apply(this,arguments)-x)),m,D=Math.min(Math.abs(w)/l,d.apply(this,arguments)),$=D*(w<0?-1:1),u;for(n=0;n0&&(v+=u);for(a!=null?c.sort(function(A,C){return a(i[A],i[C])}):f!=null&&c.sort(function(A,C){return f(e[A],e[C])}),n=0,h=v?(w-l*$)/v:0;n0?u*h:0)+$,i[g]={data:e[g],index:n,value:u,startAngle:x,endAngle:m,padAngle:D};return i}return o.value=function(e){return arguments.length?(t=typeof e=="function"?e:S(+e),o):t},o.sortValues=function(e){return arguments.length?(a=e,f=null,o):a},o.sort=function(e){return arguments.length?(f=e,a=null,o):f},o.startAngle=function(e){return arguments.length?(y=typeof e=="function"?e:S(+e),o):y},o.endAngle=function(e){return arguments.length?(s=typeof e=="function"?e:S(+e),o):s},o.padAngle=function(e){return arguments.length?(d=typeof e=="function"?e:S(+e),o):d},o}var vt=ut.pie,F={sections:new Map,showData:!1},T=F.sections,W=F.showData,xt=structuredClone(vt),St=p(()=>structuredClone(xt),"getConfig"),yt=p(()=>{T=new Map,W=F.showData,ct()},"clear"),wt=p(({label:t,value:a})=>{if(a<0)throw new Error(`"${t}" has invalid value: ${a}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);T.has(t)||(T.set(t,a),z.debug(`added new section: ${t}, with value: ${a}`))},"addSection"),At=p(()=>T,"getSections"),Ct=p(t=>{W=t},"setShowData"),Dt=p(()=>W,"getShowData"),_={getConfig:St,clear:yt,setDiagramTitle:rt,getDiagramTitle:at,setAccTitle:et,getAccTitle:tt,setAccDescription:Y,getAccDescription:Q,addSection:wt,getSections:At,setShowData:Ct,getShowData:Dt},$t=p((t,a)=>{pt(t,a),a.setShowData(t.showData),t.sections.map(a.addSection)},"populateDb"),Tt={parse:p(async t=>{const a=await dt("pie",t);z.debug(a),$t(a,_)},"parse")},bt=p(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"),kt=bt,Et=p(t=>{const a=[...t.values()].reduce((s,d)=>s+d,0),f=[...t.entries()].map(([s,d])=>({label:s,value:d})).filter(s=>s.value/a*100>=1);return mt().value(s=>s.value).sort(null)(f)},"createPieArcs"),Mt=p((t,a,f,y)=>{z.debug(`rendering pie chart +`+t);const s=y.db,d=nt(),o=it(s.getConfig(),d.pie),e=40,n=18,l=4,g=450,h=g,v=st(a),c=v.append("g");c.attr("transform","translate("+h/2+","+g/2+")");const{themeVariables:i}=d;let[x]=ot(i.pieOuterStrokeWidth);x??=2;const w=o.textPosition,m=Math.min(h,g)/2-e,D=P().innerRadius(0).outerRadius(m),$=P().innerRadius(m*w).outerRadius(m*w);c.append("circle").attr("cx",0).attr("cy",0).attr("r",m+x/2).attr("class","pieOuterCircle");const u=s.getSections(),A=Et(u),C=[i.pie1,i.pie2,i.pie3,i.pie4,i.pie5,i.pie6,i.pie7,i.pie8,i.pie9,i.pie10,i.pie11,i.pie12];let b=0;u.forEach(r=>{b+=r});const G=A.filter(r=>(r.data.value/b*100).toFixed(0)!=="0"),k=gt(C).domain([...u.keys()]);c.selectAll("mySlices").data(G).enter().append("path").attr("d",D).attr("fill",r=>k(r.data.label)).attr("class","pieCircle"),c.selectAll("mySlices").data(G).enter().append("text").text(r=>(r.data.value/b*100).toFixed(0)+"%").attr("transform",r=>"translate("+$.centroid(r)+")").style("text-anchor","middle").attr("class","slice");const V=c.append("text").text(s.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),N=[...u.entries()].map(([r,M])=>({label:r,value:M})),E=c.selectAll(".legend").data(N).enter().append("g").attr("class","legend").attr("transform",(r,M)=>{const O=n+l,Z=O*N.length/2,H=12*n,J=M*O-Z;return"translate("+H+","+J+")"});E.append("rect").attr("width",n).attr("height",n).style("fill",r=>k(r.label)).style("stroke",r=>k(r.label)),E.append("text").attr("x",n+l).attr("y",n-l).text(r=>s.getShowData()?`${r.label} [${r.value}]`:r.label);const U=Math.max(...E.selectAll("text").nodes().map(r=>r?.getBoundingClientRect().width??0)),j=h+e+n+l+U,L=V.node()?.getBoundingClientRect().width??0,q=h/2-L/2,X=h/2+L/2,B=Math.min(0,q),I=Math.max(j,X)-B;v.attr("viewBox",`${B} 0 ${I} ${g}`),lt(v,g,I,o.useMaxWidth)},"draw"),Rt={draw:Mt},Ot={parser:Tt,db:_,renderer:Rt,styles:kt};export{Ot as diagram}; diff --git a/_astro/preload-helper.DK3iz7C1.js b/_astro/preload-helper.DK3iz7C1.js new file mode 100644 index 0000000..aa6644c --- /dev/null +++ b/_astro/preload-helper.DK3iz7C1.js @@ -0,0 +1 @@ +const p="modulepreload",v=function(l){return"/codeanalyzer-python/"+l},d={},E=function(f,c,y){let i=Promise.resolve();if(c&&c.length>0){let r=function(e){return Promise.all(e.map(o=>Promise.resolve(o).then(s=>({status:"fulfilled",value:s}),s=>({status:"rejected",reason:s}))))};document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),u=t?.nonce||t?.getAttribute("nonce");i=r(c.map(e=>{if(e=v(e),e in d)return;d[e]=!0;const o=e.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${s}`))return;const n=document.createElement("link");if(n.rel=o?"stylesheet":p,o||(n.as="script"),n.crossOrigin="",n.href=e,u&&n.setAttribute("nonce",u),document.head.appendChild(n),o)return new Promise((m,h)=>{n.addEventListener("load",m),n.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${e}`)))})}))}function a(r){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=r,window.dispatchEvent(t),!t.defaultPrevented)throw r}return i.then(r=>{for(const t of r||[])t.status==="rejected"&&a(t.reason);return f().catch(a)})};export{E as _}; diff --git a/_astro/print.DNXP8c50.css b/_astro/print.DNXP8c50.css new file mode 100644 index 0000000..f721e68 --- /dev/null +++ b/_astro/print.DNXP8c50.css @@ -0,0 +1 @@ +@media print{:root{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: none;--sl-shadow-md: none;--sl-shadow-lg: none}.print\:hidden{display:none}.print\:flex{display:flex}.print\:block{display:block}main{padding-bottom:0}main>.content-panel{padding-block-start:0}.content-panel+.content-panel{border:0}.page>header{position:relative}.page>.main-frame{padding-top:0;padding-inline-start:0}.main-pane{--sl-sidebar-width: 0px;--sl-content-width: 100%}.sl-banner{--sl-color-banner-text: var(--sl-color-white);background-color:transparent}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6){break-after:avoid}.sl-markdown-content :is(p,li){orphans:2;widows:2}.sl-markdown-content pre{overflow-x:hidden;white-space:pre-wrap}.sl-markdown-content .expressive-code,.sl-markdown-content figure,.sl-markdown-content pre{break-inside:avoid}.expressive-code .frame.is-terminal .header:before{box-shadow:inset 99rem 99rem var(--sl-color-gray-5)}.expressive-code .frame.has-title:not(.is-terminal) .header{background:transparent;border-bottom:1px solid var(--sl-color-gray-6)}.expressive-code .frame.has-title:not(.is-terminal) .title{background:transparent}.expressive-code .frame.has-title:not(.is-terminal) .title:after{border-top:0}.expressive-code .copy{display:none}.sl-markdown-content code:not(:where(.not-content *)){background-color:transparent;padding:0;margin-block:unset;font-size:.9375em}.sl-badge{background:transparent;color:var(--sl-color-white)}starlight-file-tree{break-inside:avoid}starlight-file-tree .highlight{outline:3px solid var(--sl-color-accent-low);color:var(--sl-color-text);background-color:transparent}.starlight-aside{break-inside:avoid}.sl-link-button.primary{background:transparent;border-color:var(--sl-color-white);color:var(--sl-color-white)}starlight-tabs{break-inside:avoid}.sl-steps>li:after{box-shadow:inset 99rem 99rem var(--sl-color-hairline-light)}} diff --git a/_astro/quadrantDiagram-W4KKPZXB.SWAq4o9k.js b/_astro/quadrantDiagram-W4KKPZXB.SWAq4o9k.js new file mode 100644 index 0000000..b2b1d10 --- /dev/null +++ b/_astro/quadrantDiagram-W4KKPZXB.SWAq4o9k.js @@ -0,0 +1,7 @@ +import{s as Se,g as _e,q as ee,p as Ae,a as ke,b as Fe,_ as r,c as Et,l as qt,d as vt,e as Pe,z as ve,G as z,i as Ce,K as Le}from"./mermaid.core.Ci_VGkOG.js";import{l as te}from"./linear.CNy4Dr2Q.js";import"./preload-helper.DK3iz7C1.js";import"./init.Gi6I4Gst.js";import"./defaultLocale.DX6XiGOO.js";var Ct=(function(){var t=r(function(Y,s,l,u){for(l=l||{},u=Y.length;u--;l[Y[u]]=s);return l},"o"),a=[1,3],p=[1,4],f=[1,5],o=[1,6],x=[1,7],_=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],c=[55,56,57],S=[2,36],m=[1,37],b=[1,36],y=[1,38],T=[1,35],q=[1,43],g=[1,41],k=[1,45],ct=[1,14],dt=[1,23],ut=[1,18],xt=[1,19],ot=[1,20],bt=[1,21],lt=[1,22],i=[1,24],Dt=[1,25],zt=[1,26],Vt=[1,27],It=[1,28],wt=[1,29],U=[1,32],Q=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Bt=[1,66],Rt=[1,67],Nt=[1,68],Wt=[1,69],Ut=[1,70],Qt=[1,71],Ot=[1,72],Ht=[1,73],Xt=[1,74],Mt=[1,75],Yt=[1,76],jt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],K=[1,91],Z=[1,92],J=[1,93],$=[1,100],tt=[1,94],et=[1,97],it=[1,95],at=[1,96],nt=[1,98],st=[1,99],St=[1,103],Gt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],_t={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:r(function(s,l,u,d,A,e,ht){var n=e.length-1;switch(A){case 23:this.$=e[n];break;case 24:this.$=e[n-1]+""+e[n];break;case 26:this.$=e[n-1]+e[n];break;case 27:this.$=[e[n].trim()];break;case 28:e[n-2].push(e[n].trim()),this.$=e[n-2];break;case 29:this.$=e[n-4],d.addClass(e[n-2],e[n]);break;case 37:this.$=[];break;case 42:this.$=e[n].trim(),d.setDiagramTitle(this.$);break;case 43:this.$=e[n].trim(),d.setAccTitle(this.$);break;case 44:case 45:this.$=e[n].trim(),d.setAccDescription(this.$);break;case 46:d.addSection(e[n].substr(8)),this.$=e[n].substr(8);break;case 47:d.addPoint(e[n-3],"",e[n-1],e[n],[]);break;case 48:d.addPoint(e[n-4],e[n-3],e[n-1],e[n],[]);break;case 49:d.addPoint(e[n-4],"",e[n-2],e[n-1],e[n]);break;case 50:d.addPoint(e[n-5],e[n-4],e[n-2],e[n-1],e[n]);break;case 51:d.setXAxisLeftText(e[n-2]),d.setXAxisRightText(e[n]);break;case 52:e[n-1].text+=" ⟶ ",d.setXAxisLeftText(e[n-1]);break;case 53:d.setXAxisLeftText(e[n]);break;case 54:d.setYAxisBottomText(e[n-2]),d.setYAxisTopText(e[n]);break;case 55:e[n-1].text+=" ⟶ ",d.setYAxisBottomText(e[n-1]);break;case 56:d.setYAxisBottomText(e[n]);break;case 57:d.setQuadrant1Text(e[n]);break;case 58:d.setQuadrant2Text(e[n]);break;case 59:d.setQuadrant3Text(e[n]);break;case 60:d.setQuadrant4Text(e[n]);break;case 64:this.$={text:e[n],type:"text"};break;case 65:this.$={text:e[n-1].text+""+e[n],type:e[n-1].type};break;case 66:this.$={text:e[n],type:"text"};break;case 67:this.$={text:e[n],type:"markdown"};break;case 68:this.$=e[n];break;case 69:this.$=e[n-1]+""+e[n];break}},"anonymous"),table:[{18:a,26:1,27:2,28:p,55:f,56:o,57:x},{1:[3]},{18:a,26:8,27:2,28:p,55:f,56:o,57:x},{18:a,26:9,27:2,28:p,55:f,56:o,57:x},t(_,[2,33],{29:10}),t(h,[2,61]),t(h,[2,62]),t(h,[2,63]),{1:[2,30]},{1:[2,31]},t(c,S,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:m,5:b,10:y,12:T,13:q,14:g,15:k,18:ct,25:dt,35:ut,37:xt,39:ot,41:bt,42:lt,48:i,50:Dt,51:zt,52:Vt,53:It,54:wt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(_,[2,34]),{27:46,55:f,56:o,57:x},t(c,[2,37]),t(c,S,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:m,5:b,10:y,12:T,13:q,14:g,15:k,18:ct,25:dt,35:ut,37:xt,39:ot,41:bt,42:lt,48:i,50:Dt,51:zt,52:Vt,53:It,54:wt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(c,[2,39]),t(c,[2,40]),t(c,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(c,[2,45]),t(c,[2,46]),{18:[1,51]},{4:m,5:b,10:y,12:T,13:q,14:g,15:k,43:52,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:m,5:b,10:y,12:T,13:q,14:g,15:k,43:53,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:m,5:b,10:y,12:T,13:q,14:g,15:k,43:54,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:m,5:b,10:y,12:T,13:q,14:g,15:k,43:55,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:m,5:b,10:y,12:T,13:q,14:g,15:k,43:56,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:m,5:b,10:y,12:T,13:q,14:g,15:k,43:57,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(_,[2,35]),t(c,[2,38]),t(c,[2,42]),t(c,[2,43]),t(c,[2,44]),{3:65,4:Bt,5:Rt,6:Nt,7:Wt,8:Ut,9:Qt,10:Ot,11:Ht,12:Xt,13:Mt,14:Yt,15:jt,21:64},t(c,[2,53],{59:60,58:61,4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(c,[2,56],{59:60,58:61,4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(c,[2,57],{59:60,58:61,4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,63:F,64:P,65:v,66:C,67:L}),t(c,[2,58],{59:60,58:61,4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,63:F,64:P,65:v,66:C,67:L}),t(c,[2,59],{59:60,58:61,4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,63:F,64:P,65:v,66:C,67:L}),t(c,[2,60],{59:60,58:61,4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Bt,5:Rt,6:Nt,7:Wt,8:Ut,9:Qt,10:Ot,11:Ht,12:Xt,13:Mt,14:Yt,15:jt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(c,[2,52],{58:31,43:84,4:m,5:b,10:y,12:T,13:q,14:g,15:k,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(c,[2,55],{58:31,43:85,4:m,5:b,10:y,12:T,13:q,14:g,15:k,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:K,5:Z,6:J,8:$,11:tt,13:et,16:90,17:it,18:at,19:nt,20:st,22:89,23:88},t(w,[2,24]),t(c,[2,51],{59:60,58:61,4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,63:F,64:P,65:v,66:C,67:L}),t(c,[2,54],{59:60,58:61,4:m,5:b,8:H,10:y,12:T,13:q,14:g,15:k,18:X,63:F,64:P,65:v,66:C,67:L}),t(c,[2,47],{22:89,16:90,23:101,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),{46:[1,102]},t(c,[2,29],{10:St}),t(Gt,[2,27],{16:104,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(c,[2,49],{10:St}),t(c,[2,48],{22:89,16:90,23:105,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),{4:K,5:Z,6:J,8:$,11:tt,13:et,16:90,17:it,18:at,19:nt,20:st,22:106},t(N,[2,26]),t(c,[2,50],{10:St}),t(Gt,[2,28],{16:104,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st})],defaultActions:{8:[2,30],9:[2,31]},parseError:r(function(s,l){if(l.recoverable)this.trace(s);else{var u=new Error(s);throw u.hash=l,u}},"parseError"),parse:r(function(s){var l=this,u=[0],d=[],A=[null],e=[],ht=this.table,n="",gt=0,Kt=0,Te=2,Zt=1,qe=e.slice.call(arguments,1),D=Object.create(this.lexer),j={yy:{}};for(var At in this.yy)Object.prototype.hasOwnProperty.call(this.yy,At)&&(j.yy[At]=this.yy[At]);D.setInput(s,j.yy),j.yy.lexer=D,j.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var kt=D.yylloc;e.push(kt);var me=D.options&&D.options.ranges;typeof j.yy.parseError=="function"?this.parseError=j.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function be(R){u.length=u.length-2*R,A.length=A.length-R,e.length=e.length-R}r(be,"popStack");function Jt(){var R;return R=d.pop()||D.lex()||Zt,typeof R!="number"&&(R instanceof Array&&(d=R,R=d.pop()),R=l.symbols_[R]||R),R}r(Jt,"lex");for(var B,G,W,Ft,rt={},pt,M,$t,yt;;){if(G=u[u.length-1],this.defaultActions[G]?W=this.defaultActions[G]:((B===null||typeof B>"u")&&(B=Jt()),W=ht[G]&&ht[G][B]),typeof W>"u"||!W.length||!W[0]){var Pt="";yt=[];for(pt in ht[G])this.terminals_[pt]&&pt>Te&&yt.push("'"+this.terminals_[pt]+"'");D.showPosition?Pt="Parse error on line "+(gt+1)+`: +`+D.showPosition()+` +Expecting `+yt.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Pt="Parse error on line "+(gt+1)+": Unexpected "+(B==Zt?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Pt,{text:D.match,token:this.terminals_[B]||B,line:D.yylineno,loc:kt,expected:yt})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+B);switch(W[0]){case 1:u.push(B),A.push(D.yytext),e.push(D.yylloc),u.push(W[1]),B=null,Kt=D.yyleng,n=D.yytext,gt=D.yylineno,kt=D.yylloc;break;case 2:if(M=this.productions_[W[1]][1],rt.$=A[A.length-M],rt._$={first_line:e[e.length-(M||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(M||1)].first_column,last_column:e[e.length-1].last_column},me&&(rt._$.range=[e[e.length-(M||1)].range[0],e[e.length-1].range[1]]),Ft=this.performAction.apply(rt,[n,Kt,gt,j.yy,W[1],A,e].concat(qe)),typeof Ft<"u")return Ft;M&&(u=u.slice(0,-1*M*2),A=A.slice(0,-1*M),e=e.slice(0,-1*M)),u.push(this.productions_[W[1]][0]),A.push(rt.$),e.push(rt._$),$t=ht[u[u.length-2]][u[u.length-1]],u.push($t);break;case 3:return!0}}return!0},"parse")},ye=(function(){var Y={EOF:1,parseError:r(function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},"parseError"),setInput:r(function(s,l){return this.yy=l||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:r(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var l=s.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),s},"input"),unput:r(function(s){var l=s.length,u=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.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:u?(u.length===d.length?this.yylloc.first_column:0)+d[d.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:r(function(){return this._more=!0,this},"more"),reject:r(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:r(function(s){this.unput(this.match.slice(s))},"less"),pastInput:r(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:r(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:r(function(){var s=this.pastInput(),l=new Array(s.length+1).join("-");return s+this.upcomingInput()+` +`+l+"^"},"showPosition"),test_match:r(function(s,l){var u,d,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))),d=s[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+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],u=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u)return u;if(this._backtrack){for(var e in A)this[e]=A[e];return!1}return!1},"test_match"),next:r(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,l,u,d;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),e=0;el[0].length)){if(l=u,d=e,this.options.backtrack_lexer){if(s=this.test_match(u,A[e]),s!==!1)return s;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(s=this.test_match(l,A[d]),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:r(function(){var l=this.next();return l||this.lex()},"lex"),begin:r(function(l){this.conditionStack.push(l)},"begin"),popState:r(function(){var l=this.conditionStack.length-1;return l>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:r(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:r(function(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},"topState"),pushState:r(function(l){this.begin(l)},"pushState"),stateStackSize:r(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:r(function(l,u,d,A){switch(d){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 15;case 37:return 11;case 38:return 64;case 39:return 10;case 40:return 65;case 41:return 65;case 42:return 14;case 43:return 13;case 44:return 67;case 45:return 66;case 46:return 12;case 47:return 8;case 48:return 5;case 49:return 18;case 50:return 56;case 51:return 63;case 52:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?:[^\x00-\x7F]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return Y})();_t.lexer=ye;function ft(){this.yy={}}return r(ft,"Parser"),ft.prototype=_t,_t.Parser=ft,new ft})();Ct.parser=Ct;var Ee=Ct,I=Le(),De=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{r(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:z.quadrantChart?.chartWidth||500,chartWidth:z.quadrantChart?.chartHeight||500,titlePadding:z.quadrantChart?.titlePadding||10,titleFontSize:z.quadrantChart?.titleFontSize||20,quadrantPadding:z.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:z.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:z.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:z.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:z.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:z.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:z.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:z.quadrantChart?.pointTextPadding||5,pointLabelFontSize:z.quadrantChart?.pointLabelFontSize||12,pointRadius:z.quadrantChart?.pointRadius||5,xAxisPosition:z.quadrantChart?.xAxisPosition||"top",yAxisPosition:z.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:z.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:z.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:I.quadrant1Fill,quadrant2Fill:I.quadrant2Fill,quadrant3Fill:I.quadrant3Fill,quadrant4Fill:I.quadrant4Fill,quadrant1TextFill:I.quadrant1TextFill,quadrant2TextFill:I.quadrant2TextFill,quadrant3TextFill:I.quadrant3TextFill,quadrant4TextFill:I.quadrant4TextFill,quadrantPointFill:I.quadrantPointFill,quadrantPointTextFill:I.quadrantPointTextFill,quadrantXAxisTextFill:I.quadrantXAxisTextFill,quadrantYAxisTextFill:I.quadrantYAxisTextFill,quadrantTitleFill:I.quadrantTitleFill,quadrantInternalBorderStrokeFill:I.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:I.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,qt.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,a){this.classes.set(t,a)}setConfig(t){qt.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){qt.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,a,p,f){const o=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,x={top:t==="top"&&a?o:0,bottom:t==="bottom"&&a?o:0},_=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,h={left:this.config.yAxisPosition==="left"&&p?_:0,right:this.config.yAxisPosition==="right"&&p?_:0},c=this.config.titleFontSize+this.config.titlePadding*2,S={top:f?c:0},m=this.config.quadrantPadding+h.left,b=this.config.quadrantPadding+x.top+S.top,y=this.config.chartWidth-this.config.quadrantPadding*2-h.left-h.right,T=this.config.chartHeight-this.config.quadrantPadding*2-x.top-x.bottom-S.top,q=y/2,g=T/2;return{xAxisSpace:x,yAxisSpace:h,titleSpace:S,quadrantSpace:{quadrantLeft:m,quadrantTop:b,quadrantWidth:y,quadrantHalfWidth:q,quadrantHeight:T,quadrantHalfHeight:g}}}getAxisLabels(t,a,p,f){const{quadrantSpace:o,titleSpace:x}=f,{quadrantHalfHeight:_,quadrantHeight:h,quadrantLeft:c,quadrantHalfWidth:S,quadrantTop:m,quadrantWidth:b}=o,y=!!this.data.xAxisRightText,T=!!this.data.yAxisTopText,q=[];return this.data.xAxisLeftText&&a&&q.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:c+(y?S/2:0),y:t==="top"?this.config.xAxisLabelPadding+x.top:this.config.xAxisLabelPadding+m+h+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:y?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&a&&q.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:c+S+(y?S/2:0),y:t==="top"?this.config.xAxisLabelPadding+x.top:this.config.xAxisLabelPadding+m+h+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:y?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&p&&q.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+c+b+this.config.quadrantPadding,y:m+h-(T?_/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:T?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&p&&q.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+c+b+this.config.quadrantPadding,y:m+_-(T?_/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:T?"center":"left",horizontalPos:"top",rotation:-90}),q}getQuadrants(t){const{quadrantSpace:a}=t,{quadrantHalfHeight:p,quadrantLeft:f,quadrantHalfWidth:o,quadrantTop:x}=a,_=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f+o,y:x,width:o,height:p,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f,y:x,width:o,height:p,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f,y:x+p,width:o,height:p,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f+o,y:x+p,width:o,height:p,fill:this.themeConfig.quadrant4Fill}];for(const h of _)h.text.x=h.x+h.width/2,this.data.points.length===0?(h.text.y=h.y+h.height/2,h.text.horizontalPos="middle"):(h.text.y=h.y+this.config.quadrantTextTopPadding,h.text.horizontalPos="top");return _}getQuadrantPoints(t){const{quadrantSpace:a}=t,{quadrantHeight:p,quadrantLeft:f,quadrantTop:o,quadrantWidth:x}=a,_=te().domain([0,1]).range([f,x+f]),h=te().domain([0,1]).range([p+o,o]);return this.data.points.map(S=>{const m=this.classes.get(S.className);return m&&(S={...m,...S}),{x:_(S.x),y:h(S.y),fill:S.color??this.themeConfig.quadrantPointFill,radius:S.radius??this.config.pointRadius,text:{text:S.text,fill:this.themeConfig.quadrantPointTextFill,x:_(S.x),y:h(S.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:S.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:S.strokeWidth??"0px"}})}getBorders(t){const a=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:p}=t,{quadrantHalfHeight:f,quadrantHeight:o,quadrantLeft:x,quadrantHalfWidth:_,quadrantTop:h,quadrantWidth:c}=p;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:x-a,y1:h,x2:x+c+a,y2:h},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:x+c,y1:h+a,x2:x+c,y2:h+o-a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:x-a,y1:h+o,x2:x+c+a,y2:h+o},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:x,y1:h+a,x2:x,y2:h+o-a},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:x+_,y1:h+a,x2:x+_,y2:h+o-a},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:x+a,y1:h+f,x2:x+c-a,y2:h+f}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const t=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),a=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),p=this.config.showTitle&&!!this.data.titleText,f=this.data.points.length>0?"bottom":this.config.xAxisPosition,o=this.calculateSpace(f,t,a,p);return{points:this.getQuadrantPoints(o),quadrants:this.getQuadrants(o),axisLabels:this.getAxisLabels(f,t,a,o),borderLines:this.getBorders(o),title:this.getTitle(p)}}},Tt=class extends Error{static{r(this,"InvalidStyleError")}constructor(t,a,p){super(`value for ${t} ${a} is invalid, please use a valid ${p}`),this.name="InvalidStyleError"}};function Lt(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}r(Lt,"validateHexCode");function ie(t){return!/^\d+$/.test(t)}r(ie,"validateNumber");function ae(t){return!/^\d+px$/.test(t)}r(ae,"validateSizeInPixels");var ze=Et();function O(t){return Ce(t.trim(),ze)}r(O,"textSanitizer");var V=new De;function ne(t){V.setData({quadrant1Text:O(t.text)})}r(ne,"setQuadrant1Text");function se(t){V.setData({quadrant2Text:O(t.text)})}r(se,"setQuadrant2Text");function re(t){V.setData({quadrant3Text:O(t.text)})}r(re,"setQuadrant3Text");function oe(t){V.setData({quadrant4Text:O(t.text)})}r(oe,"setQuadrant4Text");function le(t){V.setData({xAxisLeftText:O(t.text)})}r(le,"setXAxisLeftText");function he(t){V.setData({xAxisRightText:O(t.text)})}r(he,"setXAxisRightText");function ce(t){V.setData({yAxisTopText:O(t.text)})}r(ce,"setYAxisTopText");function de(t){V.setData({yAxisBottomText:O(t.text)})}r(de,"setYAxisBottomText");function mt(t){const a={};for(const p of t){const[f,o]=p.trim().split(/\s*:\s*/);if(f==="radius"){if(ie(o))throw new Tt(f,o,"number");a.radius=parseInt(o)}else if(f==="color"){if(Lt(o))throw new Tt(f,o,"hex code");a.color=o}else if(f==="stroke-color"){if(Lt(o))throw new Tt(f,o,"hex code");a.strokeColor=o}else if(f==="stroke-width"){if(ae(o))throw new Tt(f,o,"number of pixels (eg. 10px)");a.strokeWidth=o}else throw new Error(`style named ${f} is not supported.`)}return a}r(mt,"parseStyles");function ue(t,a,p,f,o){const x=mt(o);V.addPoints([{x:p,y:f,text:O(t.text),className:a,...x}])}r(ue,"addPoint");function xe(t,a){V.addClass(t,mt(a))}r(xe,"addClass");function fe(t){V.setConfig({chartWidth:t})}r(fe,"setWidth");function ge(t){V.setConfig({chartHeight:t})}r(ge,"setHeight");function pe(){const t=Et(),{themeVariables:a,quadrantChart:p}=t;return p&&V.setConfig(p),V.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),V.setData({titleText:ee()}),V.build()}r(pe,"getQuadrantData");var Ve=r(function(){V.clear(),ve()},"clear"),Ie={setWidth:fe,setHeight:ge,setQuadrant1Text:ne,setQuadrant2Text:se,setQuadrant3Text:re,setQuadrant4Text:oe,setXAxisLeftText:le,setXAxisRightText:he,setYAxisTopText:ce,setYAxisBottomText:de,parseStyles:mt,addPoint:ue,addClass:xe,getQuadrantData:pe,clear:Ve,setAccTitle:Fe,getAccTitle:ke,setDiagramTitle:Ae,getDiagramTitle:ee,getAccDescription:_e,setAccDescription:Se},we=r((t,a,p,f)=>{function o(i){return i==="top"?"hanging":"middle"}r(o,"getDominantBaseLine");function x(i){return i==="left"?"start":"middle"}r(x,"getTextAnchor");function _(i){return`translate(${i.x}, ${i.y}) rotate(${i.rotation||0})`}r(_,"getTransformation");const h=Et();qt.debug(`Rendering quadrant chart +`+t);const c=h.securityLevel;let S;c==="sandbox"&&(S=vt("#i"+a));const b=(c==="sandbox"?vt(S.nodes()[0].contentDocument.body):vt("body")).select(`[id="${a}"]`),y=b.append("g").attr("class","main"),T=h.quadrantChart?.chartWidth??500,q=h.quadrantChart?.chartHeight??500;Pe(b,q,T,h.quadrantChart?.useMaxWidth??!0),b.attr("viewBox","0 0 "+T+" "+q),f.db.setHeight(q),f.db.setWidth(T);const g=f.db.getQuadrantData(),k=y.append("g").attr("class","quadrants"),ct=y.append("g").attr("class","border"),dt=y.append("g").attr("class","data-points"),ut=y.append("g").attr("class","labels"),xt=y.append("g").attr("class","title");g.title&&xt.append("text").attr("x",0).attr("y",0).attr("fill",g.title.fill).attr("font-size",g.title.fontSize).attr("dominant-baseline",o(g.title.horizontalPos)).attr("text-anchor",x(g.title.verticalPos)).attr("transform",_(g.title)).text(g.title.text),g.borderLines&&ct.selectAll("line").data(g.borderLines).enter().append("line").attr("x1",i=>i.x1).attr("y1",i=>i.y1).attr("x2",i=>i.x2).attr("y2",i=>i.y2).style("stroke",i=>i.strokeFill).style("stroke-width",i=>i.strokeWidth);const ot=k.selectAll("g.quadrant").data(g.quadrants).enter().append("g").attr("class","quadrant");ot.append("rect").attr("x",i=>i.x).attr("y",i=>i.y).attr("width",i=>i.width).attr("height",i=>i.height).attr("fill",i=>i.fill),ot.append("text").attr("x",0).attr("y",0).attr("fill",i=>i.text.fill).attr("font-size",i=>i.text.fontSize).attr("dominant-baseline",i=>o(i.text.horizontalPos)).attr("text-anchor",i=>x(i.text.verticalPos)).attr("transform",i=>_(i.text)).text(i=>i.text.text),ut.selectAll("g.label").data(g.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(i=>i.text).attr("fill",i=>i.fill).attr("font-size",i=>i.fontSize).attr("dominant-baseline",i=>o(i.horizontalPos)).attr("text-anchor",i=>x(i.verticalPos)).attr("transform",i=>_(i));const lt=dt.selectAll("g.data-point").data(g.points).enter().append("g").attr("class","data-point");lt.append("circle").attr("cx",i=>i.x).attr("cy",i=>i.y).attr("r",i=>i.radius).attr("fill",i=>i.fill).attr("stroke",i=>i.strokeColor).attr("stroke-width",i=>i.strokeWidth),lt.append("text").attr("x",0).attr("y",0).text(i=>i.text.text).attr("fill",i=>i.text.fill).attr("font-size",i=>i.text.fontSize).attr("dominant-baseline",i=>o(i.text.horizontalPos)).attr("text-anchor",i=>x(i.text.verticalPos)).attr("transform",i=>_(i.text))},"draw"),Be={draw:we},Oe={parser:Ee,db:Ie,renderer:Be,styles:r(()=>"","styles")};export{Oe as diagram}; diff --git a/_astro/requirementDiagram-4Y6WPE33.R4IghZp_.js b/_astro/requirementDiagram-4Y6WPE33.R4IghZp_.js new file mode 100644 index 0000000..fceffd8 --- /dev/null +++ b/_astro/requirementDiagram-4Y6WPE33.R4IghZp_.js @@ -0,0 +1,84 @@ +import{g as ze}from"./chunk-55IACEB6.DaHeeVsF.js";import{s as Ge}from"./chunk-2J33WTMH.HmvIJeR8.js";import{_ as h,D as Ye,b as Xe,a as Je,s as Ze,g as et,p as tt,q as st,c as Te,l as Ne,z as it,C as rt,o as nt,r as at,u as lt}from"./mermaid.core.Ci_VGkOG.js";import"./preload-helper.DK3iz7C1.js";var qe=(function(){var e=h(function($,r,a,c){for(a=a||{},c=$.length;c--;a[$[c]]=r);return a},"o"),u=[1,3],o=[1,4],n=[1,5],i=[1,6],f=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],_=[1,22],E=[2,7],g=[1,26],S=[1,27],k=[1,28],q=[1,29],C=[1,33],A=[1,34],V=[1,35],v=[1,36],L=[1,37],x=[1,38],O=[1,24],w=[1,31],D=[1,32],M=[1,30],p=[1,39],R=[1,40],d=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],P=[1,61],X=[89,90],Ce=[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],de=[27,29],Ae=[1,70],Ve=[1,71],ve=[1,72],Le=[1,73],xe=[1,74],Oe=[1,75],we=[1,76],Z=[1,83],U=[1,80],ee=[1,84],te=[1,85],se=[1,86],ie=[1,87],re=[1,88],ne=[1,89],ae=[1,90],le=[1,91],ce=[1,92],Ee=[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],Y=[63,64],De=[1,101],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],T=[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],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],oe=[1,116],he=[1,117],ue=[1,114],fe=[1,115],_e={trace:h(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:h(function(r,a,c,s,m,t,me){var l=t.length-1;switch(m){case 4:this.$=t[l].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[l].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[l-3],t[l-4]);break;case 22:s.addRequirement(t[l-5],t[l-6]),s.setClass([t[l-5]],t[l-3]);break;case 23:s.setNewReqId(t[l-2]);break;case 24:s.setNewReqText(t[l-2]);break;case 25:s.setNewReqRisk(t[l-2]);break;case 26:s.setNewReqVerifyMethod(t[l-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[l-3]);break;case 43:s.addElement(t[l-5]),s.setClass([t[l-5]],t[l-3]);break;case 44:s.setNewElementType(t[l-2]);break;case 45:s.setNewElementDocRef(t[l-2]);break;case 48:s.addRelationship(t[l-2],t[l],t[l-4]);break;case 49:s.addRelationship(t[l-2],t[l-4],t[l]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[l-2],s.defineClass(t[l-1],t[l]);break;case 58:s.setClass(t[l-1],t[l]);break;case 59:s.setClass([t[l-2]],t[l]);break;case 60:case 62:this.$=[t[l]];break;case 61:case 63:this.$=t[l-2].concat([t[l]]);break;case 64:this.$=t[l-2],s.setCssStyle(t[l-1],t[l]);break;case 65:this.$=[t[l]];break;case 66:t[l-2].push(t[l]),this.$=t[l-2];break;case 68:this.$=t[l-1]+t[l];break}},"anonymous"),table:[{3:1,4:2,6:u,9:o,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:u,9:o,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(f,[2,6]),{3:12,4:2,6:u,9:o,11:n,13:i},{1:[2,2]},{4:17,5:_,7:13,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},e(f,[2,4]),e(f,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:_,7:42,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{4:17,5:_,7:43,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{4:17,5:_,7:44,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{4:17,5:_,7:45,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{4:17,5:_,7:46,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{4:17,5:_,7:47,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{4:17,5:_,7:48,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{4:17,5:_,7:49,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{4:17,5:_,7:50,8:E,9:o,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:g,22:S,23:k,24:q,25:23,33:25,41:C,42:A,43:V,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:p,90:R},{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]},e(d,[2,17]),e(d,[2,18]),e(d,[2,19]),e(d,[2,20]),{30:60,33:62,75:P,89:p,90:R},{30:63,33:62,75:P,89:p,90:R},{30:64,33:62,75:P,89:p,90:R},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ce,[2,81]),e(Ce,[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]},e(de,[2,79]),e(de,[2,80]),{27:[1,67],29:[1,68]},e(de,[2,85]),e(de,[2,86]),{62:69,65:Ae,66:Ve,67:ve,68:Le,69:xe,70:Oe,71:we},{62:77,65:Ae,66:Ve,67:ve,68:Le,69:xe,70:Oe,71:we},{30:78,33:62,75:P,89:p,90:R},{73:79,75:Z,76:U,78:81,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},e(Ee,[2,60]),e(Ee,[2,62]),{73:93,75:Z,76:U,78:81,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},{30:94,33:62,75:P,76:U,89:p,90:R},{5:[1,95]},{30:96,33:62,75:P,89:p,90:R},{5:[1,97]},{30:98,33:62,75:P,89:p,90:R},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(d,[2,59],{76:U}),e(d,[2,64],{76:De}),{33:103,75:[1,102],89:p,90:R},e(Me,[2,65],{79:104,75:Z,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce}),e(T,[2,67]),e(T,[2,69]),e(T,[2,70]),e(T,[2,71]),e(T,[2,72]),e(T,[2,73]),e(T,[2,74]),e(T,[2,75]),e(T,[2,76]),e(T,[2,77]),e(T,[2,78]),e(d,[2,57],{76:De}),e(d,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:oe,40:he,56:113,57:ue,59:fe},{27:[1,118],76:U},{33:119,89:p,90:R},{33:120,89:p,90:R},{75:Z,78:121,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},e(Ee,[2,61]),e(Ee,[2,63]),e(T,[2,68]),e(d,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(d,[2,28]),{5:[1,127]},e(d,[2,42]),{32:[1,128]},{32:[1,129]},{5:oe,40:he,56:130,57:ue,59:fe},e(d,[2,47]),{5:[1,131]},e(d,[2,48]),e(d,[2,49]),e(Me,[2,66],{79:104,75:Z,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce}),{33:132,89:p,90:R},{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]},e(d,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(d,[2,46]),{5:oe,40:he,56:152,57:ue,59:fe},{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]},e(d,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(d,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:oe,40:he,56:163,57:ue,59:fe},{5:oe,40:he,56:164,57:ue,59:fe},e(d,[2,23]),e(d,[2,24]),e(d,[2,25]),e(d,[2,26]),e(d,[2,44]),e(d,[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:h(function(r,a){if(a.recoverable)this.trace(r);else{var c=new Error(r);throw c.hash=a,c}},"parseError"),parse:h(function(r){var a=this,c=[0],s=[],m=[null],t=[],me=this.table,l="",Re=0,Fe=0,He=2,$e=1,Ke=t.slice.call(arguments,1),y=Object.create(this.lexer),z={yy:{}};for(var Se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Se)&&(z.yy[Se]=this.yy[Se]);y.setInput(r,z.yy),z.yy.lexer=y,z.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var be=y.yylloc;t.push(be);var We=y.options&&y.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function je(I){c.length=c.length-2*I,m.length=m.length-I,t.length=t.length-I}h(je,"popStack");function Pe(){var I;return I=s.pop()||y.lex()||$e,typeof I!="number"&&(I instanceof Array&&(s=I,I=s.pop()),I=a.symbols_[I]||I),I}h(Pe,"lex");for(var b,G,N,Ie,J={},ge,F,Ue,ye;;){if(G=c[c.length-1],this.defaultActions[G]?N=this.defaultActions[G]:((b===null||typeof b>"u")&&(b=Pe()),N=me[G]&&me[G][b]),typeof N>"u"||!N.length||!N[0]){var ke="";ye=[];for(ge in me[G])this.terminals_[ge]&&ge>He&&ye.push("'"+this.terminals_[ge]+"'");y.showPosition?ke="Parse error on line "+(Re+1)+`: +`+y.showPosition()+` +Expecting `+ye.join(", ")+", got '"+(this.terminals_[b]||b)+"'":ke="Parse error on line "+(Re+1)+": Unexpected "+(b==$e?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(ke,{text:y.match,token:this.terminals_[b]||b,line:y.yylineno,loc:be,expected:ye})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+b);switch(N[0]){case 1:c.push(b),m.push(y.yytext),t.push(y.yylloc),c.push(N[1]),b=null,Fe=y.yyleng,l=y.yytext,Re=y.yylineno,be=y.yylloc;break;case 2:if(F=this.productions_[N[1]][1],J.$=m[m.length-F],J._$={first_line:t[t.length-(F||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(F||1)].first_column,last_column:t[t.length-1].last_column},We&&(J._$.range=[t[t.length-(F||1)].range[0],t[t.length-1].range[1]]),Ie=this.performAction.apply(J,[l,Fe,Re,z.yy,N[1],m,t].concat(Ke)),typeof Ie<"u")return Ie;F&&(c=c.slice(0,-1*F*2),m=m.slice(0,-1*F),t=t.slice(0,-1*F)),c.push(this.productions_[N[1]][0]),m.push(J.$),t.push(J._$),Ue=me[c[c.length-2]][c[c.length-1]],c.push(Ue);break;case 3:return!0}}return!0},"parse")},Qe=(function(){var $={EOF:1,parseError:h(function(a,c){if(this.yy.parser)this.yy.parser.parseError(a,c);else throw new Error(a)},"parseError"),setInput:h(function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:h(function(r){var a=r.length,c=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===s.length?this.yylloc.first_column:0)+s[s.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(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:h(function(r){this.unput(this.match.slice(r))},"less"),pastInput:h(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+a+"^"},"showPosition"),test_match:h(function(r,a){var c,s,m;if(this.options.backtrack_lexer&&(m={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(m.yylloc.range=this.yylloc.range.slice(0))),s=r[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],c=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var t in m)this[t]=m[t];return!1}return!1},"test_match"),next:h(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,a,c,s;this._more||(this.yytext="",this.match="");for(var m=this._currentRules(),t=0;ta[0].length)){if(a=c,s=t,this.options.backtrack_lexer){if(r=this.test_match(c,m[t]),r!==!1)return r;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(r=this.test_match(a,m[s]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:h(function(){var a=this.next();return a||this.lex()},"lex"),begin:h(function(a){this.conditionStack.push(a)},"begin"),popState:h(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:h(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:h(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:h(function(a){this.begin(a)},"pushState"),stateStackSize:h(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:h(function(a,c,s,m){switch(s){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return c.yytext=c.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return $})();_e.lexer=Qe;function pe(){this.yy={}}return h(pe,"Parser"),pe.prototype=_e,_e.Parser=pe,new pe})();qe.parser=qe;var ct=qe,ot=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=Xe,this.getAccTitle=Je,this.setAccDescription=Ze,this.getAccDescription=et,this.setDiagramTitle=tt,this.getDiagramTitle=st,this.getConfig=h(()=>Te().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{h(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,u){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:u,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"]}),Ne.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,u,o){this.relations.push({type:e,src:u,dst:o})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,it()}setCssStyle(e,u){for(const o of e){const n=this.requirements.get(o)??this.elements.get(o);if(!u||!n)return;for(const i of u)i.includes(",")?n.cssStyles.push(...i.split(",")):n.cssStyles.push(i)}}setClass(e,u){for(const o of e){const n=this.requirements.get(o)??this.elements.get(o);if(n)for(const i of u){n.classes.push(i);const f=this.classes.get(i)?.styles;f&&n.cssStyles.push(...f)}}}defineClass(e,u){for(const o of e){let n=this.classes.get(o);n===void 0&&(n={id:o,styles:[],textStyles:[]},this.classes.set(o,n)),u&&u.forEach(function(i){if(/color/.exec(i)){const f=i.replace("fill","bgFill");n.textStyles.push(f)}n.styles.push(i)}),this.requirements.forEach(i=>{i.classes.includes(o)&&i.cssStyles.push(...u.flatMap(f=>f.split(",")))}),this.elements.forEach(i=>{i.classes.includes(o)&&i.cssStyles.push(...u.flatMap(f=>f.split(",")))})}}getClasses(){return this.classes}getData(){const e=Te(),u=[],o=[];for(const n of this.requirements.values()){const i=n;i.id=n.name,i.cssStyles=n.cssStyles,i.cssClasses=n.classes.join(" "),i.shape="requirementBox",i.look=e.look,i.colorIndex=u.length,u.push(i)}for(const n of this.elements.values()){const i=n;i.shape="requirementBox",i.look=e.look,i.id=n.name,i.cssStyles=n.cssStyles,i.cssClasses=n.classes.join(" "),i.colorIndex=u.length,u.push(i)}for(const n of this.relations){let i=0;const f=n.type===this.Relationships.CONTAINS,_={id:`${n.src}-${n.dst}-${i}`,start:this.requirements.get(n.src)?.name??this.elements.get(n.src)?.name,end:this.requirements.get(n.dst)?.name??this.elements.get(n.dst)?.name,label:`<<${n.type}>>`,classes:"relationshipLine",style:["fill:none",f?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:f?"normal":"dashed",arrowTypeStart:f?"requirement_contains":"",arrowTypeEnd:f?"":"requirement_arrow",look:e.look,labelType:"markdown"};o.push(_),i++}return{nodes:u,edges:o,other:{},config:e,direction:this.getDirection()}}},ht=h(e=>{const u=Ye(),{themeVariables:o,look:n}=u,{bkgColorArray:i,borderColorArray:f}=o;if(!f?.length)return"";let _="";for(let E=0;E{const u=Ye(),{look:o,themeVariables:n}=u,{requirementEdgeLabelBackground:i}=n;return` + ${ht(e)} + marker { + fill: ${e.relationColor}; + stroke: ${e.relationColor}; + } + + marker.cross { + stroke: ${e.lineColor}; + } + + svg { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + } + + .reqBox { + fill: ${e.requirementBackground}; + fill-opacity: 1.0; + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${e.requirementTextColor}; + } + .reqLabelBox { + fill: ${e.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + .relationshipLine { + stroke: ${e.relationColor}; + stroke-width: ${o==="neo"?e.strokeWidth:"1px"}; + } + .relationshipLabel { + fill: ${e.relationLabelColor}; + } + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + } + .edgeLabel .label rect { + fill: ${e.edgeLabelBackground}; + } + .edgeLabel .label text { + fill: ${e.relationLabelColor}; + } + .divider { + stroke: ${e.nodeBorder}; + stroke-width: 1; + } + .label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + .labelBkg { + background-color: ${i??e.edgeLabelBackground}; + } + +`},"getStyles"),ft=ut,Be={};rt(Be,{draw:()=>mt});var mt=h(async function(e,u,o,n){Ne.info("REF0:"),Ne.info("Drawing requirement diagram (unified)",u);const{securityLevel:i,state:f,layout:_,look:E}=Te(),g=n.db.getData(),S=ze(u,i);g.type=n.type,g.layoutAlgorithm=nt(_),g.nodeSpacing=f?.nodeSpacing??50,g.rankSpacing=f?.rankSpacing??50,g.markers=E==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],g.diagramId=u,await at(g,S);const k=8;lt.insertTitle(S,"requirementDiagramTitleText",f?.titleTopMargin??25,n.db.getDiagramTitle()),Ge(S,k,"requirementDiagram",f?.useMaxWidth??!0)},"draw"),gt={parser:ct,get db(){return new ot},renderer:Be,styles:ft};export{gt as diagram}; diff --git a/_astro/sankeyDiagram-5OEKKPKP.BntQo72i.js b/_astro/sankeyDiagram-5OEKKPKP.BntQo72i.js new file mode 100644 index 0000000..791b02b --- /dev/null +++ b/_astro/sankeyDiagram-5OEKKPKP.BntQo72i.js @@ -0,0 +1,40 @@ +import{p as kt,q as mt,s as xt,g as _t,b as vt,a as bt,_ as y,c as ot,A as St,d as G,Y as wt,z as Lt,k as Et}from"./mermaid.core.Ci_VGkOG.js";import{o as At}from"./ordinal.BYWQX77i.js";import"./preload-helper.DK3iz7C1.js";import"./init.Gi6I4Gst.js";function Tt(t){for(var i=t.length/6|0,s=new Array(i),l=0;l=l)&&(s=l);else{let l=-1;for(let u of t)(u=i(u,++l,t))!=null&&(s=u)&&(s=u)}return s}function dt(t,i){let s;if(i===void 0)for(const l of t)l!=null&&(s>l||s===void 0&&l>=l)&&(s=l);else{let l=-1;for(let u of t)(u=i(u,++l,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function J(t,i){let s=0;if(i===void 0)for(let l of t)(l=+l)&&(s+=l);else{let l=-1;for(let u of t)(u=+i(u,++l,t))&&(s+=u)}return s}function Nt(t){return t.target.depth}function Ct(t){return t.depth}function Pt(t,i){return i-1-t.height}function gt(t,i){return t.sourceLinks.length?t.depth:i-1}function It(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?dt(t.sourceLinks,Nt)-1:0}function Y(t){return function(){return t}}function lt(t,i){return q(t.source,i.source)||t.index-i.index}function ct(t,i){return q(t.target,i.target)||t.index-i.index}function q(t,i){return t.y0-i.y0}function tt(t){return t.value}function Ot(t){return t.index}function $t(t){return t.nodes}function zt(t){return t.links}function ut(t,i){const s=t.get(i);if(!s)throw new Error("missing: "+i);return s}function ht({nodes:t}){for(const i of t){let s=i.y0,l=s;for(const u of i.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of i.targetLinks)u.y1=l+u.width/2,l+=u.width}}function Dt(){let t=0,i=0,s=1,l=1,u=24,x=8,g,k=Ot,o=gt,a,h,m=$t,_=zt,d=6;function v(){const n={nodes:m.apply(null,arguments),links:_.apply(null,arguments)};return T(n),A(n),M(n),I(n),S(n),ht(n),n}v.update=function(n){return ht(n),n},v.nodeId=function(n){return arguments.length?(k=typeof n=="function"?n:Y(n),v):k},v.nodeAlign=function(n){return arguments.length?(o=typeof n=="function"?n:Y(n),v):o},v.nodeSort=function(n){return arguments.length?(a=n,v):a},v.nodeWidth=function(n){return arguments.length?(u=+n,v):u},v.nodePadding=function(n){return arguments.length?(x=g=+n,v):x},v.nodes=function(n){return arguments.length?(m=typeof n=="function"?n:Y(n),v):m},v.links=function(n){return arguments.length?(_=typeof n=="function"?n:Y(n),v):_},v.linkSort=function(n){return arguments.length?(h=n,v):h},v.size=function(n){return arguments.length?(t=i=0,s=+n[0],l=+n[1],v):[s-t,l-i]},v.extent=function(n){return arguments.length?(t=+n[0][0],s=+n[1][0],i=+n[0][1],l=+n[1][1],v):[[t,i],[s,l]]},v.iterations=function(n){return arguments.length?(d=+n,v):d};function T({nodes:n,links:f}){for(const[e,r]of n.entries())r.index=e,r.sourceLinks=[],r.targetLinks=[];const c=new Map(n.map((e,r)=>[k(e,r,n),e]));for(const[e,r]of f.entries()){r.index=e;let{source:p,target:b}=r;typeof p!="object"&&(p=r.source=ut(c,p)),typeof b!="object"&&(b=r.target=ut(c,b)),p.sourceLinks.push(r),b.targetLinks.push(r)}if(h!=null)for(const{sourceLinks:e,targetLinks:r}of n)e.sort(h),r.sort(h)}function A({nodes:n}){for(const f of n)f.value=f.fixedValue===void 0?Math.max(J(f.sourceLinks,tt),J(f.targetLinks,tt)):f.fixedValue}function M({nodes:n}){const f=n.length;let c=new Set(n),e=new Set,r=0;for(;c.size;){for(const p of c){p.depth=r;for(const{target:b}of p.sourceLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function I({nodes:n}){const f=n.length;let c=new Set(n),e=new Set,r=0;for(;c.size;){for(const p of c){p.height=r;for(const{source:b}of p.targetLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function N({nodes:n}){const f=at(n,r=>r.depth)+1,c=(s-t-u)/(f-1),e=new Array(f);for(const r of n){const p=Math.max(0,Math.min(f-1,Math.floor(o.call(null,r,f))));r.layer=p,r.x0=t+p*c,r.x1=r.x0+u,e[p]?e[p].push(r):e[p]=[r]}if(a)for(const r of e)r.sort(a);return e}function $(n){const f=dt(n,c=>(l-i-(c.length-1)*g)/J(c,tt));for(const c of n){let e=i;for(const r of c){r.y0=e,r.y1=e+r.value*f,e=r.y1+g;for(const p of r.sourceLinks)p.width=p.value*f}e=(l-e+g)/(c.length+1);for(let r=0;rc.length)-1)),$(f);for(let c=0;c0))continue;let V=(L/j-b.y0)*f;b.y0+=V,b.y1+=V,D(b)}a===void 0&&p.sort(q),z(p,c)}}function F(n,f,c){for(let e=n.length,r=e-2;r>=0;--r){const p=n[r];for(const b of p){let L=0,j=0;for(const{target:W,value:Z}of b.sourceLinks){let U=Z*(W.layer-b.layer);L+=E(b,W)*U,j+=U}if(!(j>0))continue;let V=(L/j-b.y0)*f;b.y0+=V,b.y1+=V,D(b)}a===void 0&&p.sort(q),z(p,c)}}function z(n,f){const c=n.length>>1,e=n[c];O(n,e.y0-g,c-1,f),R(n,e.y1+g,c+1,f),O(n,l,n.length-1,f),R(n,i,0,f)}function R(n,f,c,e){for(;c1e-6&&(r.y0+=p,r.y1+=p),f=r.y1+g}}function O(n,f,c,e){for(;c>=0;--c){const r=n[c],p=(r.y1-f)*e;p>1e-6&&(r.y0-=p,r.y1-=p),f=r.y0-g}}function D({sourceLinks:n,targetLinks:f}){if(h===void 0){for(const{source:{sourceLinks:c}}of f)c.sort(ct);for(const{target:{targetLinks:c}}of n)c.sort(lt)}}function w(n){if(h===void 0)for(const{sourceLinks:f,targetLinks:c}of n)f.sort(ct),c.sort(lt)}function P(n,f){let c=n.y0-(n.sourceLinks.length-1)*g/2;for(const{target:e,width:r}of n.sourceLinks){if(e===f)break;c+=r+g}for(const{source:e,width:r}of f.targetLinks){if(e===n)break;c-=r}return c}function E(n,f){let c=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:e,width:r}of f.targetLinks){if(e===n)break;c+=r+g}for(const{target:e,width:r}of n.sourceLinks){if(e===f)break;c-=r}return c}return v}var et=Math.PI,nt=2*et,B=1e-6,jt=nt-B;function it(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function pt(){return new it}it.prototype=pt.prototype={constructor:it,moveTo:function(t,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+i)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,i){this._+="L"+(this._x1=+t)+","+(this._y1=+i)},quadraticCurveTo:function(t,i,s,l){this._+="Q"+ +t+","+ +i+","+(this._x1=+s)+","+(this._y1=+l)},bezierCurveTo:function(t,i,s,l,u,x){this._+="C"+ +t+","+ +i+","+ +s+","+ +l+","+(this._x1=+u)+","+(this._y1=+x)},arcTo:function(t,i,s,l,u){t=+t,i=+i,s=+s,l=+l,u=+u;var x=this._x1,g=this._y1,k=s-t,o=l-i,a=x-t,h=g-i,m=a*a+h*h;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=i);else if(m>B)if(!(Math.abs(h*k-o*a)>B)||!u)this._+="L"+(this._x1=t)+","+(this._y1=i);else{var _=s-x,d=l-g,v=k*k+o*o,T=_*_+d*d,A=Math.sqrt(v),M=Math.sqrt(m),I=u*Math.tan((et-Math.acos((v+m-T)/(2*A*M)))/2),N=I/M,$=I/A;Math.abs(N-1)>B&&(this._+="L"+(t+N*a)+","+(i+N*h)),this._+="A"+u+","+u+",0,0,"+ +(h*_>a*d)+","+(this._x1=t+$*k)+","+(this._y1=i+$*o)}},arc:function(t,i,s,l,u,x){t=+t,i=+i,s=+s,x=!!x;var g=s*Math.cos(l),k=s*Math.sin(l),o=t+g,a=i+k,h=1^x,m=x?l-u:u-l;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+o+","+a:(Math.abs(this._x1-o)>B||Math.abs(this._y1-a)>B)&&(this._+="L"+o+","+a),s&&(m<0&&(m=m%nt+nt),m>jt?this._+="A"+s+","+s+",0,1,"+h+","+(t-g)+","+(i-k)+"A"+s+","+s+",0,1,"+h+","+(this._x1=o)+","+(this._y1=a):m>B&&(this._+="A"+s+","+s+",0,"+ +(m>=et)+","+h+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=i+s*Math.sin(u))))},rect:function(t,i,s,l){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+i)+"h"+ +s+"v"+ +l+"h"+-s+"Z"},toString:function(){return this._}};function ft(t){return function(){return t}}function Bt(t){return t[0]}function Ft(t){return t[1]}var Rt=Array.prototype.slice;function Vt(t){return t.source}function Wt(t){return t.target}function Ut(t){var i=Vt,s=Wt,l=Bt,u=Ft,x=null;function g(){var k,o=Rt.call(arguments),a=i.apply(this,o),h=s.apply(this,o);if(x||(x=k=pt()),t(x,+l.apply(this,(o[0]=a,o)),+u.apply(this,o),+l.apply(this,(o[0]=h,o)),+u.apply(this,o)),k)return x=null,k+""||null}return g.source=function(k){return arguments.length?(i=k,g):i},g.target=function(k){return arguments.length?(s=k,g):s},g.x=function(k){return arguments.length?(l=typeof k=="function"?k:ft(+k),g):l},g.y=function(k){return arguments.length?(u=typeof k=="function"?k:ft(+k),g):u},g.context=function(k){return arguments.length?(x=k??null,g):x},g}function Gt(t,i,s,l,u){t.moveTo(i,s),t.bezierCurveTo(i=(i+l)/2,s,i,u,l,u)}function Yt(){return Ut(Gt)}function qt(t){return[t.source.x1,t.y0]}function Ht(t){return[t.target.x0,t.y1]}function Xt(){return Yt().source(qt).target(Ht)}var rt=(function(){var t=y(function(k,o,a,h){for(a=a||{},h=k.length;h--;a[k[h]]=o);return a},"o"),i=[1,9],s=[1,10],l=[1,5,10,12],u={trace:y(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:y(function(o,a,h,m,_,d,v){var T=d.length-1;switch(_){case 7:const A=m.findOrCreateNode(d[T-4].trim().replaceAll('""','"')),M=m.findOrCreateNode(d[T-2].trim().replaceAll('""','"')),I=parseFloat(d[T].trim());m.addLink(A,M,I);break;case 8:case 9:case 11:this.$=d[T];break;case 10:this.$=d[T-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:i,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(l,[2,8]),t(l,[2,9]),{19:[1,16]},t(l,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:i,20:s},{15:18,16:7,17:8,18:i,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(l,[2,10]),{15:21,16:7,17:8,18:i,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:y(function(o,a){if(a.recoverable)this.trace(o);else{var h=new Error(o);throw h.hash=a,h}},"parseError"),parse:y(function(o){var a=this,h=[0],m=[],_=[null],d=[],v=this.table,T="",A=0,M=0,I=2,N=1,$=d.slice.call(arguments,1),S=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);S.setInput(o,C.yy),C.yy.lexer=S,C.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var z=S.yylloc;d.push(z);var R=S.options&&S.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(L){h.length=h.length-2*L,_.length=_.length-L,d.length=d.length-L}y(O,"popStack");function D(){var L;return L=m.pop()||S.lex()||N,typeof L!="number"&&(L instanceof Array&&(m=L,L=m.pop()),L=a.symbols_[L]||L),L}y(D,"lex");for(var w,P,E,n,f={},c,e,r,p;;){if(P=h[h.length-1],this.defaultActions[P]?E=this.defaultActions[P]:((w===null||typeof w>"u")&&(w=D()),E=v[P]&&v[P][w]),typeof E>"u"||!E.length||!E[0]){var b="";p=[];for(c in v[P])this.terminals_[c]&&c>I&&p.push("'"+this.terminals_[c]+"'");S.showPosition?b="Parse error on line "+(A+1)+`: +`+S.showPosition()+` +Expecting `+p.join(", ")+", got '"+(this.terminals_[w]||w)+"'":b="Parse error on line "+(A+1)+": Unexpected "+(w==N?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(b,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:z,expected:p})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+w);switch(E[0]){case 1:h.push(w),_.push(S.yytext),d.push(S.yylloc),h.push(E[1]),w=null,M=S.yyleng,T=S.yytext,A=S.yylineno,z=S.yylloc;break;case 2:if(e=this.productions_[E[1]][1],f.$=_[_.length-e],f._$={first_line:d[d.length-(e||1)].first_line,last_line:d[d.length-1].last_line,first_column:d[d.length-(e||1)].first_column,last_column:d[d.length-1].last_column},R&&(f._$.range=[d[d.length-(e||1)].range[0],d[d.length-1].range[1]]),n=this.performAction.apply(f,[T,M,A,C.yy,E[1],_,d].concat($)),typeof n<"u")return n;e&&(h=h.slice(0,-1*e*2),_=_.slice(0,-1*e),d=d.slice(0,-1*e)),h.push(this.productions_[E[1]][0]),_.push(f.$),d.push(f._$),r=v[h[h.length-2]][h[h.length-1]],h.push(r);break;case 3:return!0}}return!0},"parse")},x=(function(){var k={EOF:1,parseError:y(function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},"parseError"),setInput:y(function(o,a){return this.yy=a||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:y(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var a=o.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:y(function(o){var a=o.length,h=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===m.length?this.yylloc.first_column:0)+m[m.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:y(function(){return this._more=!0,this},"more"),reject:y(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:y(function(o){this.unput(this.match.slice(o))},"less"),pastInput:y(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:y(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:y(function(){var o=this.pastInput(),a=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+a+"^"},"showPosition"),test_match:y(function(o,a){var h,m,_;if(this.options.backtrack_lexer&&(_={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&&(_.yylloc.range=this.yylloc.range.slice(0))),m=o[0].match(/(?:\r\n?|\n).*/g),m&&(this.yylineno+=m.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:m?m[m.length-1].length-m[m.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],h=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var d in _)this[d]=_[d];return!1}return!1},"test_match"),next:y(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,a,h,m;this._more||(this.yytext="",this.match="");for(var _=this._currentRules(),d=0;d<_.length;d++)if(h=this._input.match(this.rules[_[d]]),h&&(!a||h[0].length>a[0].length)){if(a=h,m=d,this.options.backtrack_lexer){if(o=this.test_match(h,_[d]),o!==!1)return o;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(o=this.test_match(a,_[m]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:y(function(){var a=this.next();return a||this.lex()},"lex"),begin:y(function(a){this.conditionStack.push(a)},"begin"),popState:y(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:y(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:y(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:y(function(a){this.begin(a)},"pushState"),stateStackSize:y(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:y(function(a,h,m,_){switch(m){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return k})();u.lexer=x;function g(){this.yy={}}return y(g,"Parser"),g.prototype=u,u.Parser=g,new g})();rt.parser=rt;var H=rt,Q=[],K=[],X=new Map,Qt=y(()=>{Q=[],K=[],X=new Map,Lt()},"clear"),Kt=class{constructor(t,i,s=0){this.source=t,this.target=i,this.value=s}static{y(this,"SankeyLink")}},Zt=y((t,i,s)=>{Q.push(new Kt(t,i,s))},"addLink"),Jt=class{constructor(t){this.ID=t}static{y(this,"SankeyNode")}},te=y(t=>{t=Et.sanitizeText(t,ot());let i=X.get(t);return i===void 0&&(i=new Jt(t),X.set(t,i),K.push(i)),i},"findOrCreateNode"),ee=y(()=>K,"getNodes"),ne=y(()=>Q,"getLinks"),ie=y(()=>({nodes:K.map(t=>({id:t.ID})),links:Q.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),re={nodesMap:X,getConfig:y(()=>ot().sankey,"getConfig"),getNodes:ee,getLinks:ne,getGraph:ie,addLink:Zt,findOrCreateNode:te,getAccTitle:bt,setAccTitle:vt,getAccDescription:_t,setAccDescription:xt,getDiagramTitle:mt,setDiagramTitle:kt,clear:Qt},yt=class st{static{y(this,"Uid")}static{this.count=0}static next(i){return new st(i+ ++st.count)}constructor(i){this.id=i,this.href=`#${i}`}toString(){return"url("+this.href+")"}},se={left:Ct,right:Pt,center:It,justify:gt},oe=y(t=>{let i=0,s=0;for(const l of t){const u=l.value??0;u>i&&(i=u,s=l.layer??0)}return s},"findCentralNodeLayer"),ae=y(function(t,i,s,l){const{securityLevel:u,sankey:x}=ot(),g=St.sankey;let k;u==="sandbox"&&(k=G("#i"+i));const o=u==="sandbox"?G(k.nodes()[0].contentDocument.body):G("body"),a=u==="sandbox"?o.select(`[id="${i}"]`):G(`[id="${i}"]`),h=x?.width??g.width,m=x?.height??g.width,_=x?.useMaxWidth??g.useMaxWidth,d=x?.nodeAlignment??g.nodeAlignment,v=x?.prefix??g.prefix,T=x?.suffix??g.suffix,A=x?.showValues??g.showValues,M=x?.nodeWidth??g.nodeWidth??10,I=x?.nodePadding??g.nodePadding??12,N=x?.labelStyle??g.labelStyle??"legacy",$=x?.nodeColors??{},S=l.db.getGraph(),C=se[d];Dt().nodeId(e=>e.id).nodeWidth(M).nodePadding(I+(A?15:0)).nodeAlign(C).extent([[0,0],[h,m]])(S);const z=oe(S.nodes),R=At(Mt),O=y(e=>$[e]??R(e),"getNodeColor");a.append("g").attr("class","nodes").selectAll(".node").data(S.nodes).join("g").attr("class","node").attr("id",e=>(e.uid=yt.next("node-")).id).attr("transform",function(e){return"translate("+e.x0+","+e.y0+")"}).attr("x",e=>e.x0).attr("y",e=>e.y0).append("rect").attr("height",e=>e.y1-e.y0).attr("width",e=>e.x1-e.x0).attr("fill",e=>O(e.id));const D=y(({id:e,value:r})=>A?`${e} +${v}${Math.round(r*100)/100}${T}`:e,"getText"),w=y(e=>N==="outlined"?(e.layer??0)P.selectAll(e?`.${e}`:"text").data(S.nodes).join("text").attr("class",e??null).attr("x",r=>w(r).x).attr("y",r=>(r.y1+r.y0)/2).attr("dy",`${A?"0":"0.35"}em`).attr("text-anchor",r=>w(r).anchor).text(D),"appendLabel");N==="outlined"?(E("sankey-label-bg"),E("sankey-label-fg")):E();const n=a.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(S.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),f=x?.linkColor??"gradient";if(f==="gradient"){const e=n.append("linearGradient").attr("id",r=>(r.uid=yt.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",r=>r.source.x1).attr("x2",r=>r.target.x0);e.append("stop").attr("offset","0%").attr("stop-color",r=>O(r.source.id)),e.append("stop").attr("offset","100%").attr("stop-color",r=>O(r.target.id))}let c;switch(f){case"gradient":c=y(e=>e.uid,"coloring");break;case"source":c=y(e=>O(e.source.id),"coloring");break;case"target":c=y(e=>O(e.target.id),"coloring");break;default:c=f}n.append("path").attr("d",Xt()).attr("stroke",c).attr("stroke-width",e=>Math.max(1,e.width)),wt(void 0,a,0,_)},"draw"),le={draw:ae},ce=y(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing"),ue=y(t=>`.label { + font-family: ${t.fontFamily}; + } + + .node-labels { + font-family: ${t.fontFamily}; + } + + /* Outlined label style - background stroke for better readability */ + .sankey-label-bg { + stroke: ${t.mainBkg||t.background||"#fff"}; + stroke-width: 4px; + stroke-linejoin: round; + paint-order: stroke; + } + + /* Foreground label text */ + .sankey-label-fg { + fill: ${t.textColor}; + } + + /* Node styling */ + .node rect { + shape-rendering: crispEdges; + } + + /* Link styling */ + .link { + fill: none; + stroke-opacity: 0.5; + mix-blend-mode: multiply; + } +`,"getStyles"),he=ue,fe=H.parse.bind(H);H.parse=t=>fe(ce(t));var ke={styles:he,parser:H,db:re,renderer:le};export{ke as diagram}; diff --git a/_astro/sequenceDiagram-3UESZ5HK.FEIwZiXY.js b/_astro/sequenceDiagram-3UESZ5HK.FEIwZiXY.js new file mode 100644 index 0000000..5f95d18 --- /dev/null +++ b/_astro/sequenceDiagram-3UESZ5HK.FEIwZiXY.js @@ -0,0 +1,162 @@ +import{_ as g,n as tr,c as $,d as Mt,l as at,j as Ce,e as er,f as rr,k as P,b as ke,s as ar,p as sr,a as ir,g as nr,q as or,t as cr,J as lr,z as hr,i as Bt,u as Z,L as Q,M as wt,N as Me,Z as dr,D as Yt,O as Tr,P as Be}from"./mermaid.core.Ci_VGkOG.js";import{a as pr,b as ee,g as dt,d as Er,e as re,f as ae}from"./chunk-ND2GUHAM.CiUMUSja.js";import{I as ur}from"./chunk-QZHKN3VN.BmpnJiq_.js";import"./preload-helper.DK3iz7C1.js";var $t=(function(){var e=g(function(ut,w,v,k){for(v=v||{},k=ut.length;k--;v[ut[k]]=w);return v},"o"),t=[1,2],a=[1,3],r=[1,4],i=[2,4],o=[1,9],s=[1,11],n=[1,12],E=[1,14],T=[1,15],l=[1,17],x=[1,18],u=[1,19],O=[1,25],p=[1,26],f=[1,27],_=[1,28],I=[1,29],L=[1,30],b=[1,31],S=[1,32],A=[1,33],N=[1,34],B=[1,35],V=[1,36],q=[1,37],U=[1,38],G=[1,39],X=[1,40],j=[1,42],H=[1,43],st=[1,44],tt=[1,45],it=[1,46],Y=[1,47],C=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],Nt=[1,74],m=[1,80],D=[1,81],lt=[1,82],et=[1,83],W=[1,84],se=[1,85],ie=[1,86],ne=[1,87],oe=[1,88],ce=[1,89],le=[1,90],he=[1,91],de=[1,92],Te=[1,93],pe=[1,94],Ee=[1,95],ue=[1,96],fe=[1,97],_e=[1,98],ge=[1,99],xe=[1,100],Ie=[1,101],ye=[1,102],Re=[1,103],Oe=[1,104],Le=[1,105],be=[2,78],mt=[4,5,17,51,53,54],Pt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],me=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],Ht=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],Ae=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],zt=[5,52],K=[70,71,72,73],ot=[1,151],Ut={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:g(function(w,v,k,y,z,c,At){var d=c.length-1;switch(z){case 3:return y.apply(c[d]),c[d];case 4:case 10:this.$=[];break;case 5:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 6:case 7:case 12:case 13:this.$=c[d];break;case 8:case 9:case 14:this.$=[];break;case 16:c[d].type="createParticipant",this.$=c[d];break;case 17:c[d-1].unshift({type:"boxStart",boxData:y.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:y.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor};break;case 24:this.$={type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-1].actor};break;case 30:y.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 31:y.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 32:this.$=c[d].trim(),y.setAccTitle(this.$);break;case 33:case 34:this.$=c[d].trim(),y.setAccDescription(this.$);break;case 35:c[d-1].unshift({type:"loopStart",loopText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:y.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 36:c[d-1].unshift({type:"rectStart",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"optStart",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"altStart",altText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:y.LINETYPE.ALT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:y.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 44:this.$=c[d-3].concat([{type:"option",optionText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 46:this.$=c[d-3].concat([{type:"and",parText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.PAR_AND},c[d]]);break;case 48:this.$=c[d-3].concat([{type:"else",altText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.ALT_ELSE},c[d]]);break;case 49:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 50:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 51:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 52:case 57:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 53:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 54:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 55:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 56:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 58:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 59:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:y.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 60:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 63:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 66:this.$=[c[d-2],c[d]];break;case 67:this.$=c[d];break;case 68:this.$=y.PLACEMENT.LEFTOF;break;case 69:this.$=y.PLACEMENT.RIGHTOF;break;case 70:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0},{type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor}];break;case 71:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-4].actor}];break;case 72:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor}];break;case 73:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d],activate:!1,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-4].actor}];break;case 74:this.$=[c[d-5],c[d-1],{type:"addMessage",from:c[d-5].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-5].actor}];break;case 75:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 76:this.$={type:"addParticipant",actor:c[d-1],config:c[d]};break;case 77:this.$=c[d-1].trim();break;case 78:this.$={type:"addParticipant",actor:c[d]};break;case 79:this.$=y.LINETYPE.SOLID_OPEN;break;case 80:this.$=y.LINETYPE.DOTTED_OPEN;break;case 81:this.$=y.LINETYPE.SOLID;break;case 82:this.$=y.LINETYPE.SOLID_TOP;break;case 83:this.$=y.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=y.LINETYPE.STICK_TOP;break;case 85:this.$=y.LINETYPE.STICK_BOTTOM;break;case 86:this.$=y.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=y.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=y.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=y.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=y.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=y.LINETYPE.DOTTED;break;case 100:this.$=y.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=y.LINETYPE.SOLID_CROSS;break;case 102:this.$=y.LINETYPE.DOTTED_CROSS;break;case 103:this.$=y.LINETYPE.SOLID_POINT;break;case 104:this.$=y.LINETYPE.DOTTED_POINT;break;case 105:this.$=y.parseMessage(c[d].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:a,6:r},{1:[3]},{3:5,4:t,5:a,6:r},{3:6,4:t,5:a,6:r},e([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:s,8:8,9:10,10:n,13:13,14:E,15:T,18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},e(C,[2,5]),{9:48,13:13,14:E,15:T,18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},e(C,[2,7]),e(C,[2,8]),e(C,[2,9]),e(C,[2,15]),{13:49,51:U,53:G,54:X},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:Y},{23:56,73:Y},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},e(C,[2,30]),e(C,[2,31]),{33:[1,62]},{35:[1,63]},e(C,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:Nt},{23:75,55:76,73:Nt},{23:77,73:Y},{69:78,72:[1,79],78:m,79:D,80:lt,81:et,82:W,83:se,84:ie,85:ne,86:oe,87:ce,88:le,89:he,90:de,91:Te,92:pe,93:Ee,94:ue,95:fe,96:_e,97:ge,98:xe,99:Ie,100:ye,101:Re,102:Oe,103:Le},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:Y},{23:111,73:Y},{23:112,73:Y},{23:113,73:Y},e([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],be),e(C,[2,6]),e(C,[2,16]),e(mt,[2,10],{11:114}),e(C,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},e(C,[2,22]),{5:[1,118]},{5:[1,119]},e(C,[2,25]),e(C,[2,26]),e(C,[2,27]),e(C,[2,28]),e(C,[2,29]),e(C,[2,32]),e(C,[2,33]),e(Pt,i,{7:120}),e(Pt,i,{7:121}),e(Pt,i,{7:122}),e(me,i,{41:123,7:124}),e(Ht,i,{43:125,7:126}),e(Ht,i,{7:126,43:127}),e(Ae,i,{46:128,7:129}),e(Pt,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},e(zt,be,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:Y},{69:146,78:m,79:D,80:lt,81:et,82:W,83:se,84:ie,85:ne,86:oe,87:ce,88:le,89:he,90:de,91:Te,92:pe,93:Ee,94:ue,95:fe,96:_e,97:ge,98:xe,99:Ie,100:ye,101:Re,102:Oe,103:Le},e(K,[2,79]),e(K,[2,80]),e(K,[2,81]),e(K,[2,82]),e(K,[2,83]),e(K,[2,84]),e(K,[2,85]),e(K,[2,86]),e(K,[2,87]),e(K,[2,88]),e(K,[2,89]),e(K,[2,90]),e(K,[2,91]),e(K,[2,92]),e(K,[2,93]),e(K,[2,94]),e(K,[2,95]),e(K,[2,96]),e(K,[2,97]),e(K,[2,98]),e(K,[2,99]),e(K,[2,100]),e(K,[2,101]),e(K,[2,102]),e(K,[2,103]),e(K,[2,104]),{23:147,73:Y},{23:149,60:148,73:Y},{73:[2,68]},{73:[2,69]},{58:150,104:ot},{58:152,104:ot},{58:153,104:ot},{58:154,104:ot},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:U,53:G,54:X},{5:[1,160]},e(C,[2,20]),e(C,[2,21]),e(C,[2,23]),e(C,[2,24]),{4:o,5:s,8:8,9:10,10:n,13:13,14:E,15:T,17:[1,161],18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},{4:o,5:s,8:8,9:10,10:n,13:13,14:E,15:T,17:[1,162],18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},{4:o,5:s,8:8,9:10,10:n,13:13,14:E,15:T,17:[1,163],18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},{17:[1,164]},{4:o,5:s,8:8,9:10,10:n,13:13,14:E,15:T,17:[2,47],18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,50:[1,165],51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},{17:[1,166]},{4:o,5:s,8:8,9:10,10:n,13:13,14:E,15:T,17:[2,45],18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,49:[1,167],51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},{17:[1,168]},{17:[1,169]},{4:o,5:s,8:8,9:10,10:n,13:13,14:E,15:T,17:[2,43],18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,48:[1,170],51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},{4:o,5:s,8:8,9:10,10:n,13:13,14:E,15:T,17:[1,171],18:16,19:l,22:x,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:p,32:f,34:_,36:I,37:L,38:b,39:S,40:A,42:N,44:B,45:V,47:q,51:U,53:G,54:X,56:j,61:H,62:st,63:tt,64:it,73:Y},{16:[1,172]},e(C,[2,50]),{16:[1,173]},e(C,[2,55]),e(zt,[2,76]),{76:[1,174]},{16:[1,175]},e(C,[2,52]),{16:[1,176]},e(C,[2,57]),e(C,[2,53]),{23:177,73:Y},{23:178,73:Y},{23:179,73:Y},{58:180,104:ot},{23:181,72:[1,182],73:Y},{58:183,104:ot},{58:184,104:ot},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},e(C,[2,17]),e(mt,[2,11]),{13:186,51:U,53:G,54:X},e(mt,[2,13]),e(mt,[2,14]),e(C,[2,19]),e(C,[2,35]),e(C,[2,36]),e(C,[2,37]),e(C,[2,38]),{16:[1,187]},e(C,[2,39]),{16:[1,188]},e(C,[2,40]),e(C,[2,41]),{16:[1,189]},e(C,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:ot},{58:196,104:ot},{58:197,104:ot},{5:[2,75]},{58:198,104:ot},{23:199,73:Y},{5:[2,58]},{5:[2,59]},{23:200,73:Y},e(mt,[2,12]),e(me,i,{7:124,41:201}),e(Ht,i,{7:126,43:202}),e(Ae,i,{7:129,46:203}),e(C,[2,49]),e(C,[2,54]),e(zt,[2,77]),e(C,[2,51]),e(C,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:ot},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:g(function(w,v){if(v.recoverable)this.trace(w);else{var k=new Error(w);throw k.hash=v,k}},"parseError"),parse:g(function(w){var v=this,k=[0],y=[],z=[null],c=[],At=this.table,d="",Dt=0,Se=0,Ze=2,we=1,Qe=c.slice.call(arguments,1),J=Object.create(this.lexer),gt={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(gt.yy[Gt]=this.yy[Gt]);J.setInput(w,gt.yy),gt.yy.lexer=J,gt.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Xt=J.yylloc;c.push(Xt);var $e=J.options&&J.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function je(nt){k.length=k.length-2*nt,z.length=z.length-nt,c.length=c.length-nt}g(je,"popStack");function Ne(){var nt;return nt=y.pop()||J.lex()||we,typeof nt!="number"&&(nt instanceof Array&&(y=nt,nt=y.pop()),nt=v.symbols_[nt]||nt),nt}g(Ne,"lex");for(var rt,xt,ct,Jt,Ot={},vt,Tt,Pe,Ct;;){if(xt=k[k.length-1],this.defaultActions[xt]?ct=this.defaultActions[xt]:((rt===null||typeof rt>"u")&&(rt=Ne()),ct=At[xt]&&At[xt][rt]),typeof ct>"u"||!ct.length||!ct[0]){var Zt="";Ct=[];for(vt in At[xt])this.terminals_[vt]&&vt>Ze&&Ct.push("'"+this.terminals_[vt]+"'");J.showPosition?Zt="Parse error on line "+(Dt+1)+`: +`+J.showPosition()+` +Expecting `+Ct.join(", ")+", got '"+(this.terminals_[rt]||rt)+"'":Zt="Parse error on line "+(Dt+1)+": Unexpected "+(rt==we?"end of input":"'"+(this.terminals_[rt]||rt)+"'"),this.parseError(Zt,{text:J.match,token:this.terminals_[rt]||rt,line:J.yylineno,loc:Xt,expected:Ct})}if(ct[0]instanceof Array&&ct.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xt+", token: "+rt);switch(ct[0]){case 1:k.push(rt),z.push(J.yytext),c.push(J.yylloc),k.push(ct[1]),rt=null,Se=J.yyleng,d=J.yytext,Dt=J.yylineno,Xt=J.yylloc;break;case 2:if(Tt=this.productions_[ct[1]][1],Ot.$=z[z.length-Tt],Ot._$={first_line:c[c.length-(Tt||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(Tt||1)].first_column,last_column:c[c.length-1].last_column},$e&&(Ot._$.range=[c[c.length-(Tt||1)].range[0],c[c.length-1].range[1]]),Jt=this.performAction.apply(Ot,[d,Se,Dt,gt.yy,ct[1],z,c].concat(Qe)),typeof Jt<"u")return Jt;Tt&&(k=k.slice(0,-1*Tt*2),z=z.slice(0,-1*Tt),c=c.slice(0,-1*Tt)),k.push(this.productions_[ct[1]][0]),z.push(Ot.$),c.push(Ot._$),Pe=At[k[k.length-2]][k[k.length-1]],k.push(Pe);break;case 3:return!0}}return!0},"parse")},Je=(function(){var ut={EOF:1,parseError:g(function(v,k){if(this.yy.parser)this.yy.parser.parseError(v,k);else throw new Error(v)},"parseError"),setInput:g(function(w,v){return this.yy=v||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:g(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var v=w.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:g(function(w){var v=w.length,k=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;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),k.length-1&&(this.yylineno-=k.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===y.length?this.yylloc.first_column:0)+y[y.length-k.length].length-k[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(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:g(function(w){this.unput(this.match.slice(w))},"less"),pastInput:g(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:g(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:g(function(){var w=this.pastInput(),v=new Array(w.length+1).join("-");return w+this.upcomingInput()+` +`+v+"^"},"showPosition"),test_match:g(function(w,v){var k,y,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),y=w[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+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],k=this.performAction.call(this,this.yy,this,v,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var c in z)this[c]=z[c];return!1}return!1},"test_match"),next:g(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,v,k,y;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),c=0;cv[0].length)){if(v=k,y=c,this.options.backtrack_lexer){if(w=this.test_match(k,z[c]),w!==!1)return w;if(this._backtrack){v=!1;continue}else return!1}else if(!this.options.flex)break}return v?(w=this.test_match(v,z[y]),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:g(function(){var v=this.next();return v||this.lex()},"lex"),begin:g(function(v){this.conditionStack.push(v)},"begin"),popState:g(function(){var v=this.conditionStack.length-1;return v>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:g(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:g(function(v){return v=this.conditionStack.length-1-Math.abs(v||0),v>=0?this.conditionStack[v]:"INITIAL"},"topState"),pushState:g(function(v){this.begin(v)},"pushState"),stateStackSize:g(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:g(function(v,k,y,z){switch(y){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return k.yytext=k.yytext.trim(),73;case 12:return k.yytext=k.yytext.trim(),this.begin("ALIAS"),73;case 13:return k.yytext=k.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return k.yytext=k.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return k.yytext=k.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return ut})();Ut.lexer=Je;function kt(){this.yy={}}return g(kt,"Parser"),kt.prototype=Ut,Ut.Parser=kt,new kt})();$t.parser=$t;var fr=$t,_r={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},gr={FILLED:0,OPEN:1},xr={LEFTOF:0,RIGHTOF:1,OVER:2},Vt={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},Ir=class{constructor(){this.state=new ur(()=>({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=ke,this.setAccDescription=ar,this.setDiagramTitle=sr,this.getAccTitle=ir,this.getAccDescription=nr,this.getDiagramTitle=or,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap($().wrap),this.LINETYPE=_r,this.ARROWTYPE=gr,this.PLACEMENT=xr}static{g(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,t,a,r,i){let o=this.state.records.currentBox,s;if(i!==void 0){let E;i.includes(` +`)?E=i+` +`:E=`{ +`+i+` +}`,s=cr(E,{schema:lr})}r=s?.type??r,s?.alias&&(!a||a.text===t)&&(a={text:s.alias,wrap:a?.wrap,type:r});const n=this.state.records.actors.get(e);if(n){if(this.state.records.currentBox&&n.box&&this.state.records.currentBox!==n.box)throw new Error(`A same participant should only be defined in one Box: ${n.name} can't be in '${n.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(o=n.box?n.box:this.state.records.currentBox,n.box=o,n&&t===n.name&&a==null)return}if(a?.text==null&&(a={text:t,type:r}),(r==null||a.text==null)&&(a={text:t,type:r}),this.state.records.actors.set(e,{box:o,name:t,description:a.text,wrap:a.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r??"participant"}),this.state.records.prevActor){const E=this.state.records.actors.get(this.state.records.prevActor);E&&(E.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let t,a=0;if(!e)return 0;for(t=0;t>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},n}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:t,message:a?.text??"",wrap:a?.wrap??this.autoWrap(),type:r,activate:i,centralConnection:o??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const t=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(t===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:t}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:$().sequence?.wrap??!1}clear(){this.state.reset(),hr()}parseMessage(e){const t=e.trim(),{wrap:a,cleanedText:r}=this.extractWrap(t),i={text:r,wrap:a};return at.debug(`parseMessage: ${JSON.stringify(i)}`),i}parseBoxData(e){const t=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let a=t?.[1]?t[1].trim():"transparent",r=t?.[2]?t[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",a)||(a="transparent",r=e.trim());else{const s=new Option().style;s.color=a,s.color!==a&&(a="transparent",r=e.trim())}const{wrap:i,cleanedText:o}=this.extractWrap(r);return{text:o?Bt(o,$()):void 0,color:a,wrap:i}}addNote(e,t,a){const r={actor:e,placement:t,message:a.text,wrap:a.wrap??this.autoWrap()},i=[].concat(e,e);this.state.records.notes.push(r),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:i[0],to:i[1],message:a.text,wrap:a.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:t})}addLinks(e,t){const a=this.getActor(e);try{let r=Bt(t.text,$());r=r.replace(/=/g,"="),r=r.replace(/&/g,"&");const i=JSON.parse(r);this.insertLinks(a,i)}catch(r){at.error("error while parsing actor link text",r)}}addALink(e,t){const a=this.getActor(e);try{const r={};let i=Bt(t.text,$());const o=i.indexOf("@");i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");const s=i.slice(0,o-1).trim(),n=i.slice(o+1).trim();r[s]=n,this.insertLinks(a,r)}catch(r){at.error("error while parsing actor link text",r)}}insertLinks(e,t){if(e.links==null)e.links=t;else for(const a in t)e.links[a]=t[a]}addProperties(e,t){const a=this.getActor(e);try{const r=Bt(t.text,$()),i=JSON.parse(r);this.insertProperties(a,i)}catch(r){at.error("error while parsing actor properties text",r)}}insertProperties(e,t){if(e.properties==null)e.properties=t;else for(const a in t)e.properties[a]=t[a]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,t){const a=this.getActor(e),r=document.getElementById(t.text);try{const i=r.innerHTML,o=JSON.parse(i);o.properties&&this.insertProperties(a,o.properties),o.links&&this.insertLinks(a,o.links)}catch(i){at.error("error while parsing actor details text",i)}}getActorProperty(e,t){if(e?.properties!==void 0)return e.properties[t]}apply(e){if(Array.isArray(e))e.forEach(t=>{this.apply(t)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":ke(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 $().sequence}},yr=g(e=>{const t=e.dropShadow??"none",{look:a}=$();return`.actor { + stroke: ${e.actorBorder}; + fill: ${e.actorBkg}; + stroke-width: ${e.strokeWidth??1}; + } + + rect.actor.outer-path[data-look="neo"] { + filter: ${t}; + } + + rect.note[data-look="neo"] { + stroke:${e.noteBorderColor}; + fill:${e.noteBkgColor}; + filter: ${t}; + } + + text.actor > tspan { + fill: ${e.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${e.actorLineColor}; + } + + .innerArc { + stroke-width: 1.5; + stroke-dasharray: none; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${e.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${e.signalColor}; + } + + [id$="-arrowhead"] path { + fill: ${e.signalColor}; + stroke: ${e.signalColor}; + } + + .sequenceNumber { + fill: ${e.sequenceNumberColor}; + } + + [id$="-sequencenumber"] { + fill: ${e.signalColor}; + } + + [id$="-crosshead"] path { + fill: ${e.signalColor}; + stroke: ${e.signalColor}; + } + + .messageText { + fill: ${e.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${e.labelBoxBorderColor}; + fill: ${e.labelBoxBkgColor}; + filter: ${a==="neo"?t:"none"}; + } + + .labelText, .labelText > tspan { + fill: ${e.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${e.loopTextColor}; + stroke: none; + } + + .sectionTitle, .sectionTitle > tspan { + fill: ${e.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${e.labelBoxBorderColor}; + fill: ${e.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${e.noteBorderColor}; + fill: ${e.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${e.noteTextColor}; + stroke: none; + ${e.noteFontWeight?`font-weight: ${e.noteFontWeight};`:""} + } + + .activation0 { + fill: ${e.activationBkgColor}; + stroke: ${e.activationBorderColor}; + } + + .activation1 { + fill: ${e.activationBkgColor}; + stroke: ${e.activationBorderColor}; + } + + .activation2 { + fill: ${e.activationBkgColor}; + stroke: ${e.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${e.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man circle, line { + fill: ${e.actorBkg}; + stroke-width: 2px; + } + + g rect.rect { + filter: ${t}; + stroke: ${e.nodeBorder}; + } +`},"getStyles"),Rr=yr,It=36,ft="actor-top",_t="actor-bottom",Kt="actor-box",yt="actor-man",pt=new Set(["redux-color","redux-dark-color"]),St=g(function(e,t){const a=Er(e,t);return Yt().look==="neo"&&a.attr("data-look","neo"),a},"drawRect"),Or=g(function(e,t,a,r,i){if(t.links===void 0||t.links===null||Object.keys(t.links).length===0)return{height:0,width:0};const o=t.links,s=t.actorCnt,n=t.rectData;var E="none";i&&(E="block !important");const T=e.append("g");T.attr("id","actor"+s+"_popup"),T.attr("class","actorPopupMenu"),T.attr("display",E);var l="";n.class!==void 0&&(l=" "+n.class);let x=n.width>a?n.width:a;const u=T.append("rect");if(u.attr("class","actorPopupMenuPanel"+l),u.attr("x",n.x),u.attr("y",n.height),u.attr("fill",n.fill),u.attr("stroke",n.stroke),u.attr("width",x),u.attr("height",n.height),u.attr("rx",n.rx),u.attr("ry",n.ry),o!=null){var O=20;for(let _ in o){var p=T.append("a"),f=Ce.sanitizeUrl(o[_]);p.attr("xlink:href",f),p.attr("target","_blank"),Ur(r)(_,p,n.x+10,n.height+O,x,20,{class:"actor"},r),O+=30}}return u.attr("height",O),{height:n.height+O,width:x}},"drawPopup"),Ft=g(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),Wt=g(async function(e,t,a=null){let r=e.append("foreignObject");const i=await Be(t.text,Yt()),s=r.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(r.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),t.class==="noteText"){const n=e.node().firstChild;n.setAttribute("height",s.height+2*t.textMargin);const E=n.getBBox();r.attr("x",Math.round(E.x+E.width/2-s.width/2)).attr("y",Math.round(E.y+E.height/2-s.height/2))}else if(a){let{startx:n,stopx:E,starty:T}=a;if(n>E){const l=n;n=E,E=l}r.attr("x",Math.round(n+Math.abs(n-E)/2-s.width/2)),t.class==="loopText"?r.attr("y",Math.round(T)):r.attr("y",Math.round(T-s.height))}return[r]},"drawKatex"),bt=g(function(e,t){let a=0,r=0;const i=t.text.split(P.lineBreakRegex),[o,s]=Me(t.fontSize);let n=[],E=0,T=g(()=>t.y,"yfunc");if(t.valign!==void 0&&t.textMargin!==void 0&&t.textMargin>0)switch(t.valign){case"top":case"start":T=g(()=>Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":T=g(()=>Math.round(t.y+(a+r+t.textMargin)/2),"yfunc");break;case"bottom":case"end":T=g(()=>Math.round(t.y+(a+r+2*t.textMargin)-t.textMargin),"yfunc");break}if(t.anchor!==void 0&&t.textMargin!==void 0&&t.width!==void 0)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"middle":case"center":t.x=Math.round(t.x+t.width/2),t.anchor="middle",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"right":case"end":t.x=Math.round(t.x+t.width-t.textMargin),t.anchor="end",t.dominantBaseline="middle",t.alignmentBaseline="middle";break}for(let[l,x]of i.entries()){t.textMargin!==void 0&&t.textMargin===0&&o!==void 0&&(E=l*o);const u=e.append("text");u.attr("x",t.x),u.attr("y",T()),t.anchor!==void 0&&u.attr("text-anchor",t.anchor).attr("dominant-baseline",t.dominantBaseline).attr("alignment-baseline",t.alignmentBaseline),t.fontFamily!==void 0&&u.style("font-family",t.fontFamily),s!==void 0&&u.style("font-size",s),t.fontWeight!==void 0&&u.style("font-weight",t.fontWeight),t.fill!==void 0&&u.attr("fill",t.fill),t.class!==void 0&&u.attr("class",t.class),t.dy!==void 0?u.attr("dy",t.dy):E!==0&&u.attr("dy",E);const O=x||dr;if(t.tspan){const p=u.append("tspan");p.attr("x",t.x),t.fill!==void 0&&p.attr("fill",t.fill),p.text(O)}else u.text(O);t.valign!==void 0&&t.textMargin!==void 0&&t.textMargin>0&&(r+=(u._groups||u)[0][0].getBBox().height,a=r),n.push(u)}return n},"drawText"),Ve=g(function(e,t){function a(i,o,s,n,E){return i+","+o+" "+(i+s)+","+o+" "+(i+s)+","+(o+n-E)+" "+(i+s-E*1.2)+","+(o+n)+" "+i+","+(o+n)}g(a,"genPoints");const r=e.append("polygon");return r.attr("points",a(t.x,t.y,t.width,t.height,7)),r.attr("class","labelBox"),t.y=t.y+t.height/2,bt(e,t),r},"drawLabel"),M=-1,Ye=g((e,t,a,r)=>{e.select&&a.forEach(i=>{const o=t.get(i),s=e.select("#actor"+o.actorCnt);!r.mirrorActors&&o.stopy?s.attr("y2",o.stopy+o.height/2):r.mirrorActors&&s.attr("y2",o.stopy)})},"fixLifeLineHeights"),Lr=g(function(e,t,a,r,i){const o=r?t.stopy:t.starty,s=t.x+t.width/2,n=o+t.height,{look:E,theme:T,themeVariables:l}=a,{bkgColorArray:x,borderColorArray:u}=l,O=e.append("g").lower();var p=O;r||(M++,Object.keys(t.links||{}).length&&!a.forceMenus&&p.attr("onclick",Ft(`actor${M}_popup`)).attr("cursor","pointer"),p.append("line").attr("id","actor"+M).attr("x1",s).attr("y1",n).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),p=O.append("g"),t.actorCnt=M,t.links!=null&&p.attr("id","root-"+M),E==="neo"&&p.attr("data-look","neo"));const f=dt();var _="actor";t.properties?.class?_=t.properties.class:f.fill="#eaeaea",r?_+=` ${_t}`:_+=` ${ft}`,f.x=t.x,f.y=o,f.width=t.width,f.height=t.height,f.class=_,f.rx=3,f.ry=3,f.name=t.name,E==="neo"&&(f.rx=6,f.ry=6);const I=St(p,f),L=i.get(t.name)??0;if(pt.has(T)&&(I.style("stroke",u[L%u.length]),I.style("fill",x[L%u.length])),E==="neo"&&I.attr("filter","url(#drop-shadow)"),t.rectData=f,t.properties?.icon){const S=t.properties.icon.trim();S.charAt(0)==="@"?re(p,f.x+f.width-20,f.y+10,S.substr(1)):ae(p,f.x+f.width-20,f.y+10,S)}r||(p.attr("data-et","participant"),p.attr("data-type","participant"),p.attr("data-id",t.name)),Et(a,Q(t.description))(t.description,p,f.x,f.y,f.width,f.height,{class:`actor ${Kt}`},a);let b=t.height;if(I.node){const S=I.node().getBBox();t.height=S.height,b=S.height}return b},"drawActorTypeParticipant"),br=g(function(e,t,a,r,i){const o=r?t.stopy:t.starty,s=t.x+t.width/2,n=o+t.height,{look:E,theme:T,themeVariables:l}=a,{bkgColorArray:x,borderColorArray:u}=l,O=e.append("g").lower();var p=O;r||(M++,Object.keys(t.links||{}).length&&!a.forceMenus&&p.attr("onclick",Ft(`actor${M}_popup`)).attr("cursor","pointer"),p.append("line").attr("id","actor"+M).attr("x1",s).attr("y1",n).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),p=O.append("g"),t.actorCnt=M,t.links!=null&&p.attr("id","root-"+M),E==="neo"&&p.attr("data-look","neo"));const f=dt();var _="actor";t.properties?.class?_=t.properties.class:f.fill="#eaeaea",r?_+=` ${_t}`:_+=` ${ft}`,f.x=t.x,f.y=o,f.width=t.width,f.height=t.height,f.class=_,f.name=t.name;const I=6,L={...f,x:f.x+-I,y:f.y+ +I,class:"actor"},b=St(p,f),S=St(p,L);t.rectData=f,E==="neo"&&p.attr("filter","url(#drop-shadow)");const A=i.get(t.name)??0;if(pt.has(T)&&(b.style("stroke",u[A%u.length]),b.style("fill",x[A%u.length]),S.style("stroke",u[A%u.length]),S.style("fill",x[A%u.length])),t.properties?.icon){const B=t.properties.icon.trim();B.charAt(0)==="@"?re(p,f.x+f.width-20,f.y+10,B.substr(1)):ae(p,f.x+f.width-20,f.y+10,B)}Et(a,Q(t.description))(t.description,p,f.x-I,f.y+I,f.width,f.height,{class:`actor ${Kt}`},a);let N=t.height;if(b.node){const B=b.node().getBBox();t.height=B.height,N=B.height}return r||(p.attr("data-et","participant"),p.attr("data-type","collections"),p.attr("data-id",t.name)),N},"drawActorTypeCollections"),mr=g(function(e,t,a,r,i){const o=r?t.stopy:t.starty,s=t.x+t.width/2,n=o+t.height,{look:E,theme:T,themeVariables:l}=a,{bkgColorArray:x,borderColorArray:u}=l,O=e.append("g").lower();let p=O;r||(M++,Object.keys(t.links||{}).length&&!a.forceMenus&&p.attr("onclick",Ft(`actor${M}_popup`)).attr("cursor","pointer"),p.append("line").attr("id","actor"+M).attr("x1",s).attr("y1",n).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),p=O.append("g"),t.actorCnt=M,t.links!=null&&p.attr("id","root-"+M),E==="neo"&&p.attr("data-look","neo"));const f=dt();let _="actor";t.properties?.class?_=t.properties.class:f.fill="#eaeaea",r?_+=` ${_t}`:_+=` ${ft}`,p.attr("class",_),f.x=t.x,f.y=o,f.width=t.width,f.height=t.height,f.name=t.name;const I=f.height/2,L=I/(2.5+f.height/50),b=p.append("g"),S=p.append("g"),A=`M ${f.x},${f.y+I} + a ${L},${I} 0 0 0 0,${f.height} + h ${f.width-2*L} + a ${L},${I} 0 0 0 0,-${f.height} + Z + `;b.append("path").attr("d",A),S.append("path").attr("d",`M ${f.x},${f.y+I} + a ${L},${I} 0 0 0 0,${f.height}`),b.attr("transform",`translate(${L}, ${-(f.height/2)})`),S.attr("transform",`translate(${f.width-L}, ${-f.height/2})`),t.rectData=f,E==="neo"&&b.attr("filter","url(#drop-shadow)");const N=i.get(t.name)??0;if(pt.has(T)&&(b.style("stroke",u[N%u.length]),b.style("fill",x[N%u.length]),S.style("stroke",u[N%u.length]),S.style("fill",x[N%u.length])),t.properties?.icon){const q=t.properties.icon.trim(),U=f.x+f.width-20,G=f.y+10;q.charAt(0)==="@"?re(p,U,G,q.substr(1)):ae(p,U,G,q)}Et(a,Q(t.description))(t.description,p,f.x,f.y,f.width,f.height,{class:`actor ${Kt}`},a);let B=t.height;const V=b.select("path:last-child");if(V.node()){const q=V.node().getBBox();t.height=q.height,B=q.height}return r||(p.attr("data-et","participant"),p.attr("data-type","queue"),p.attr("data-id",t.name)),B},"drawActorTypeQueue"),Ar=g(function(e,t,a,r,i,o){const s=r?t.stopy:t.starty,n=t.x+t.width/2,E=s+75,{look:T,theme:l,themeVariables:x}=a,{bkgColorArray:u,borderColorArray:O,actorBorder:p,actorBkg:f}=x,_=e.append("g").lower();r||(M++,_.append("line").attr("id","actor"+M).attr("x1",n).attr("y1",E).attr("x2",n).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),t.actorCnt=M);const I=e.append("g");let L=yt;r?L+=` ${_t}`:L+=` ${ft}`,I.attr("class",L),I.attr("name",t.name);const b=dt();b.x=t.x,b.y=s,b.fill="#eaeaea",b.width=t.width,b.height=t.height,b.class="actor";const S=t.x+t.width/2,A=s+32,N=22;I.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),I.append("circle").attr("cx",S).attr("cy",A).attr("r",N).attr("filter",`${T==="neo"?"url(#drop-shadow)":""}`),I.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${S}, ${A-N})`);const B=o.get(t.name)??0;pt.has(l)?(I.style("stroke",O[B%O.length]),I.style("fill",u[B%O.length])):(I.style("stroke",p),I.style("fill",f));const V=I.node().getBBox();return t.height=V.height+2*(a?.sequence?.labelBoxHeight??0),Et(a,Q(t.description))(t.description,I,b.x,b.y+N+(r?5:12),b.width,b.height,{class:`actor ${yt}`},a),r||(I.attr("data-et","participant"),I.attr("data-type","control"),I.attr("data-id",t.name)),t.height},"drawActorTypeControl"),Sr=g(function(e,t,a,r,i){const o=r?t.stopy:t.starty,s=t.x+t.width/2,n=o+75,{look:E,theme:T,themeVariables:l}=a,{bkgColorArray:x,borderColorArray:u}=l,O=e.append("g").lower(),p=e.append("g");let f="actor";r?f+=` ${_t}`:f+=` ${ft}`,p.attr("class",f),p.attr("name",t.name);const _=dt();_.x=t.x,_.y=o,_.fill="#eaeaea",_.width=t.width,_.height=t.height,_.class="actor";const I=t.x+t.width/2,L=o+(r?10:25),b=22;p.append("circle").attr("cx",I).attr("cy",L).attr("r",b).attr("width",t.width).attr("height",t.height),p.append("line").attr("x1",I-b).attr("x2",I+b).attr("y1",L+b).attr("y2",L+b).attr("stroke-width",2),E==="neo"&&p.attr("filter","url(#drop-shadow)");const S=i.get(t.name)??0;pt.has(T)&&(p.style("stroke",u[S%u.length]),p.style("fill",x[S%u.length]));const A=p.node().getBBox();return t.height=A.height+(a?.sequence?.labelBoxHeight??0),r||(M++,O.append("line").attr("id","actor"+M).attr("x1",s).attr("y1",n).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),t.actorCnt=M),Et(a,Q(t.description))(t.description,p,_.x,_.y+(r?15:30),_.width,_.height,{class:`actor ${yt}`},a),r?p.attr("transform",`translate(0, ${b})`):(p.attr("transform",`translate(0, ${b/2-5})`),p.attr("data-et","participant"),p.attr("data-type","entity"),p.attr("data-id",t.name)),t.height},"drawActorTypeEntity"),wr=g(function(e,t,a,r,i){const o=r?t.stopy:t.starty,s=t.x+t.width/2,n=o+t.height+2*a.boxTextMargin,{theme:E,themeVariables:T,look:l}=a,{bkgColorArray:x,borderColorArray:u,actorBorder:O}=T,p=e.append("g").lower();let f=p;r||(M++,Object.keys(t.links||{}).length&&!a.forceMenus&&f.attr("onclick",Ft(`actor${M}_popup`)).attr("cursor","pointer"),f.append("line").attr("id","actor"+M).attr("x1",s).attr("y1",n).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),f=p.append("g"),t.actorCnt=M,t.links!=null&&f.attr("id","root-"+M),l==="neo"&&f.attr("data-look","neo"));const _=dt();let I="actor";t.properties?.class?I=t.properties.class:_.fill="#eaeaea",r?I+=` ${_t}`:I+=` ${ft}`,_.x=t.x,_.y=o,_.width=t.width,_.height=t.height,_.class=I,_.name=t.name,_.x=t.x,_.y=o;const L=_.width/3,b=_.width/3,S=L/2,A=S/(2.5+L/50),N=f.append("g");N.attr("class",I);const B=` + M ${_.x},${_.y+A} + a ${S},${A} 0 0 0 ${L},0 + a ${S},${A} 0 0 0 -${L},0 + l 0,${b-2*A} + a ${S},${A} 0 0 0 ${L},0 + l 0,-${b-2*A} +`;N.append("path").attr("d",B),l==="neo"&&N.attr("filter","url(#drop-shadow)");const V=i.get(t.name)??0;pt.has(E)?(N.style("stroke",u[V%u.length]),N.style("fill",x[V%u.length])):N.style("stroke",O),N.attr("transform",`translate(${L}, ${A})`),t.rectData=_,Et(a,Q(t.description))(t.description,f,_.x,_.y+35,_.width,_.height,{class:`actor ${Kt}`},a);const q=N.select("path:last-child");if(q.node()){const U=q.node().getBBox();t.height=U.height+(a.sequence.labelBoxHeight??0)}return r||(f.attr("data-et","participant"),f.attr("data-type","database"),f.attr("data-id",t.name)),t.height},"drawActorTypeDatabase"),Nr=g(function(e,t,a,r,i){const o=r?t.stopy:t.starty,s=t.x+t.width/2,n=o+80,E=22,T=e.append("g").lower(),{look:l,theme:x,themeVariables:u}=a,{bkgColorArray:O,borderColorArray:p,actorBorder:f}=u;r||(M++,T.append("line").attr("id","actor"+M).attr("x1",s).attr("y1",n).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),t.actorCnt=M);const _=e.append("g");let I=yt;r?I+=` ${_t}`:I+=` ${ft}`,_.attr("class",I),_.attr("name",t.name);const L=dt();L.x=t.x,L.y=o,L.fill="#eaeaea",L.width=t.width,L.height=t.height,L.class="actor",_.append("line").attr("id","actor-man-torso"+M).attr("x1",t.x+t.width/2-E*2.5).attr("y1",o+12).attr("x2",t.x+t.width/2-15).attr("y2",o+12),_.append("line").attr("id","actor-man-arms"+M).attr("x1",t.x+t.width/2-E*2.5).attr("y1",o+2).attr("x2",t.x+t.width/2-E*2.5).attr("y2",o+22),_.append("circle").attr("cx",t.x+t.width/2).attr("cy",o+12).attr("r",E),l==="neo"&&_.attr("filter","url(#drop-shadow)");const b=i.get(t.name)??0;pt.has(x)?(_.style("stroke",p[b%p.length]),_.style("fill",O[b%p.length])):_.style("stroke",f);const S=_.node().getBBox();return t.height=S.height+(a.sequence.labelBoxHeight??0),Et(a,Q(t.description))(t.description,_,L.x,L.y+15,L.width,L.height,{class:`actor ${yt}`},a),_.attr("transform",`translate(0,${E/2+10})`),r||(_.attr("data-et","participant"),_.attr("data-type","boundary"),_.attr("data-id",t.name)),t.height},"drawActorTypeBoundary"),Pr=g(function(e,t,a,r,i){const o=r?t.stopy:t.starty,s=t.x+t.width/2,n=o+80,{look:E,theme:T,themeVariables:l}=a,{bkgColorArray:x,borderColorArray:u,actorBorder:O}=l,p=e.append("g").lower();r||(M++,p.append("line").attr("id","actor"+M).attr("x1",s).attr("y1",n).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name).attr("data-et","life-line").attr("data-id",t.name),t.actorCnt=M);const f=e.append("g");let _=yt;r?_+=` ${_t}`:_+=` ${ft}`,f.attr("class",_),f.attr("name",t.name),r||f.attr("data-et","participant").attr("data-type","actor").attr("data-id",t.name);const I=E==="neo"?.5:1,L=E==="neo"?o+(1-I)*30:o;f.append("line").attr("id","actor-man-torso"+M).attr("x1",s).attr("y1",L+25*I).attr("x2",s).attr("y2",L+45*I),f.append("line").attr("id","actor-man-arms"+M).attr("x1",s-It/2*I).attr("y1",L+33*I).attr("x2",s+It/2*I).attr("y2",L+33*I),f.append("line").attr("x1",s-It/2*I).attr("y1",L+60*I).attr("x2",s).attr("y2",L+45*I),f.append("line").attr("x1",s).attr("y1",L+45*I).attr("x2",s+(It/2-2)*I).attr("y2",L+60*I);const b=f.append("circle");b.attr("cx",t.x+t.width/2),b.attr("cy",L+10*I),b.attr("r",15*I),b.attr("width",t.width*I),b.attr("height",t.height*I);const S=f.node().getBBox();t.height=S.height;const A=dt();A.x=t.x,A.y=L,A.fill="#eaeaea",A.width=t.width,A.height=t.height/I,A.class="actor",A.rx=3,A.ry=3;const N=i.get(t.name)??0;return pt.has(T)?(f.style("stroke",u[N%u.length]),f.style("fill",x[N%u.length])):f.style("stroke",O),Et(a,Q(t.description))(t.description,f,A.x,L+35*I-(E==="neo"?10:0),A.width,A.height,{class:`actor ${yt}`},a),t.height},"drawActorTypeActor"),kr=g(async function(e,t,a,r,i,o,s){const n=s??new Map([...o.db.getActors().values()].map((E,T)=>[E.name,T]));switch(t.type){case"actor":return await Pr(e,t,a,r,n);case"participant":return await Lr(e,t,a,r,n);case"boundary":return await Nr(e,t,a,r,n);case"control":return await Ar(e,t,a,r,i,n);case"entity":return await Sr(e,t,a,r,n);case"database":return await wr(e,t,a,r,n);case"collections":return await br(e,t,a,r,n);case"queue":return await mr(e,t,a,r,n)}},"drawActor"),Dr=g(function(e,t,a){const i=e.append("g");We(i,t),t.name&&Et(a)(t.name,i,t.x,t.y+a.boxTextMargin+(t.textMaxHeight||0)/2,t.width,0,{class:"text"},a),i.lower()},"drawBox"),vr=g(function(e){return e.append("g")},"anchorElement"),Cr=g(function(e,t,a,r,i,o,s){const{theme:n,themeVariables:E}=r,{bkgColorArray:T,borderColorArray:l,mainBkg:x}=E,u=dt(),O=t.anchored,p=t.actor;u.x=t.startx,u.y=t.starty,u.class="activation"+i%3,u.width=t.stopx-t.startx,u.height=a-t.starty;const f=St(O,u),I=(s??new Map([...o.db.getActors().values()].map((L,b)=>[L.name,b]))).get(p)??0;pt.has(n)&&(f.style("stroke",l[I%l.length]),f.style("fill",T[I%l.length]??x))},"drawActivation"),Mr=g(async function(e,t,a,r,i){const{boxMargin:o,boxTextMargin:s,labelBoxHeight:n,labelBoxWidth:E,messageFontFamily:T,messageFontSize:l,messageFontWeight:x}=r,u=e.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),O=g(function(_,I,L,b){return u.append("line").attr("x1",_).attr("y1",I).attr("x2",L).attr("y2",b).attr("class","loopLine")},"drawLoopLine");O(t.startx,t.starty,t.stopx,t.starty),O(t.stopx,t.starty,t.stopx,t.stopy),O(t.startx,t.stopy,t.stopx,t.stopy),O(t.startx,t.starty,t.startx,t.stopy),t.sections!==void 0&&t.sections.forEach(function(_){O(t.startx,_.y,t.stopx,_.y).style("stroke-dasharray","3, 3")});let p=ee();p.text=a,p.x=t.startx,p.y=t.starty,p.fontFamily=T,p.fontSize=l,p.fontWeight=x,p.anchor="middle",p.valign="middle",p.tspan=!1,p.width=Math.max(E??0,50),p.height=n+(r.look==="neo"?15:0)||20,p.textMargin=s,p.class="labelText",Ve(u,p),p=Ke(),p.text=t.title,p.x=t.startx+E/2+(t.stopx-t.startx)/2,p.y=t.starty+o+s,p.anchor="middle",p.valign="middle",p.textMargin=s,p.class="loopText",p.fontFamily=T,p.fontSize=l,p.fontWeight=x,p.wrap=!0;let f=Q(p.text)?await Wt(u,p,t):bt(u,p);if(t.sectionTitles!==void 0){for(const[_,I]of Object.entries(t.sectionTitles))if(I.message){p.text=I.message,p.x=t.startx+(t.stopx-t.startx)/2,p.y=t.sections[_].y+o+s,p.class="sectionTitle",p.anchor="middle",p.valign="middle",p.tspan=!1,p.fontFamily=T,p.fontSize=l,p.fontWeight=x,p.wrap=t.wrap,Q(p.text)?(t.starty=t.sections[_].y,await Wt(u,p,t)):bt(u,p);let L=Math.round(f.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,S)=>b+S));t.sections[_].height+=L-(o+s)}}return t.height=Math.round(t.stopy-t.starty),u},"drawLoop"),We=g(function(e,t){pr(e,t)},"drawBackgroundRect"),Br=g(function(e,t){e.append("defs").append("symbol").attr("id",t+"-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"),Vr=g(function(e,t){e.append("defs").append("symbol").attr("id",t+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Yr=g(function(e,t){e.append("defs").append("symbol").attr("id",t+"-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"),Wr=g(function(e,t){e.append("defs").append("marker").attr("id",t+"-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"),Kr=g(function(e,t){e.append("defs").append("marker").attr("id",t+"-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"),Fr=g(function(e,t){e.append("defs").append("marker").attr("id",t+"-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"),qr=g(function(e,t){e.append("defs").append("marker").attr("id",t+"-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"),Hr=g(function(e,t){const{theme:a}=t;e.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a==="redux"||a==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),Ke=g(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"),zr=g(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Et=(function(){function e(o,s,n,E,T,l,x){const u=s.append("text").attr("x",n+T/2).attr("y",E+l/2+5).style("text-anchor","middle").text(o);i(u,x)}g(e,"byText");function t(o,s,n,E,T,l,x,u){const{actorFontSize:O,actorFontFamily:p,actorFontWeight:f}=u,[_,I]=Me(O),L=o.split(P.lineBreakRegex);for(let b=0;be.height||0))+(this.loops.length===0?0:this.loops.map(e=>e.height||0).reduce((e,t)=>e+t))+(this.messages.length===0?0:this.messages.map(e=>e.height||0).reduce((e,t)=>e+t))+(this.notes.length===0?0:this.notes.map(e=>e.height||0).reduce((e,t)=>e+t))},"getHeight"),clear:g(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:g(function(e){this.boxes.push(e)},"addBox"),addActor:g(function(e){this.actors.push(e)},"addActor"),addLoop:g(function(e){this.loops.push(e)},"addLoop"),addMessage:g(function(e){this.messages.push(e)},"addMessage"),addNote:g(function(e){this.notes.push(e)},"addNote"),lastActor:g(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:g(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:g(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:g(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:g(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,He($())},"init"),updateVal:g(function(e,t,a,r){e[t]===void 0?e[t]=a:e[t]=r(a,e[t])},"updateVal"),updateBounds:g(function(e,t,a,r){const i=this;let o=0;function s(n){return g(function(T){o++;const l=i.sequenceItems.length-o+1;i.updateVal(T,"starty",t-l*h.boxMargin,Math.min),i.updateVal(T,"stopy",r+l*h.boxMargin,Math.max),i.updateVal(R.data,"startx",e-l*h.boxMargin,Math.min),i.updateVal(R.data,"stopx",a+l*h.boxMargin,Math.max),n!=="activation"&&(i.updateVal(T,"startx",e-l*h.boxMargin,Math.min),i.updateVal(T,"stopx",a+l*h.boxMargin,Math.max),i.updateVal(R.data,"starty",t-l*h.boxMargin,Math.min),i.updateVal(R.data,"stopy",r+l*h.boxMargin,Math.max))},"updateItemBounds")}g(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:g(function(e,t,a,r){const i=P.getMin(e,a),o=P.getMax(e,a),s=P.getMin(t,r),n=P.getMax(t,r);this.updateVal(R.data,"startx",i,Math.min),this.updateVal(R.data,"starty",s,Math.min),this.updateVal(R.data,"stopx",o,Math.max),this.updateVal(R.data,"stopy",n,Math.max),this.updateBounds(i,s,o,n)},"insert"),newActivation:g(function(e,t,a){const r=a.get(e.from),i=qt(e.from).length||0,o=r.x+r.width/2+(i-1)*h.activationWidth/2;this.activations.push({startx:o,starty:this.verticalPos+2,stopx:o+h.activationWidth,stopy:void 0,actor:e.from,anchored:F.anchorElement(t)})},"newActivation"),endActivation:g(function(e){const t=this.activations.map(function(a){return a.actor}).lastIndexOf(e.from);return this.activations.splice(t,1)[0]},"endActivation"),createLoop:g(function(e={message:void 0,wrap:!1,width:void 0},t){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e.message,wrap:e.wrap,width:e.width,height:0,fill:t}},"createLoop"),newLoop:g(function(e={message:void 0,wrap:!1,width:void 0},t){this.sequenceItems.push(this.createLoop(e,t))},"newLoop"),endLoop:g(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:g(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:g(function(e){const t=this.sequenceItems.pop();t.sections=t.sections||[],t.sectionTitles=t.sectionTitles||[],t.sections.push({y:R.getVerticalPos(),height:0}),t.sectionTitles.push(e),this.sequenceItems.push(t)},"addSectionToLoop"),saveVerticalPos:g(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:g(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:g(function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=P.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:g(function(){return this.verticalPos},"getVerticalPos"),getBounds:g(function(){return{bounds:this.data,models:this.models}},"getBounds")},Qr=g(async function(e,t,a){R.bumpVerticalPos(h.boxMargin),t.height=h.boxMargin,t.starty=R.getVerticalPos();const r=dt();r.x=t.startx,r.y=t.starty,r.width=t.width||h.width,r.class="note";const i=e.append("g");i.attr("data-et","note"),i.attr("data-id","i"+a);const o=F.drawRect(i,r),s=ee();s.x=t.startx,s.y=t.starty,s.width=r.width,s.dy="1em",s.text=t.message,s.class="noteText",s.fontFamily=h.noteFontFamily,s.fontSize=h.noteFontSize,s.fontWeight=h.noteFontWeight,s.anchor=h.noteAlign,s.textMargin=h.noteMargin,s.valign="center";const n=Q(s.text)?await Wt(i,s):bt(i,s),E=Math.round(n.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,l)=>T+l));o.attr("height",E+2*h.noteMargin),t.height+=E+2*h.noteMargin,R.bumpVerticalPos(E+2*h.noteMargin),t.stopy=t.starty+E+2*h.noteMargin,t.stopx=t.startx+r.width,R.insert(t.startx,t.starty,t.stopx,t.stopy),R.models.addNote(t)},"drawNote"),De=g(function(e,t,a,r,i,o,s){const n=r.db.getActors(),E=n.get(t.from),T=n.get(t.to),l=a.sequenceVisible;let x=E.x+E.width/2,u=T.x+T.width/2;const O=x<=u,p=Xe(t,r),f=e.append("g"),_=16.5,I=g((N,B)=>{const V=N?_:-_;return B?-V:V},"getCircleOffset"),L=g(N=>{f.append("circle").attr("cx",N).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:b,CENTRAL_CONNECTION_REVERSE:S,CENTRAL_CONNECTION_DUAL:A}=r.db.LINETYPE;if(l)switch(t.centralConnection){case b:p&&(u+=I(O,!0));break;case S:p||(x+=I(O,!1));break;case A:p?u+=I(O,!0):x+=I(O,!1);break}switch(t.centralConnection){case b:L(u);break;case S:L(x);break;case A:L(x),L(u);break}},"drawCentralConnection"),Rt=g(e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight}),"messageFont"),Lt=g(e=>({fontFamily:e.noteFontFamily,fontSize:e.noteFontSize,fontWeight:e.noteFontWeight}),"noteFont"),jt=g(e=>({fontFamily:e.actorFontFamily,fontSize:e.actorFontSize,fontWeight:e.actorFontWeight}),"actorFont");async function Fe(e,t){R.bumpVerticalPos(10);const{startx:a,stopx:r,message:i}=t,o=P.splitBreaks(i).length,s=Q(i),n=s?await wt(i,$()):Z.calculateTextDimensions(i,Rt(h));if(!s){const x=n.height/o;t.height+=x,R.bumpVerticalPos(x)}let E,T=n.height-10;const l=n.width;if(a===r){E=R.getVerticalPos()+T,h.rightAngles||(T+=h.boxMargin,E=R.getVerticalPos()+T),T+=30;const x=P.getMax(l/2,h.width/2);R.insert(a-x,R.getVerticalPos()-10+T,r+x,R.getVerticalPos()+30+T)}else T+=h.boxMargin,E=R.getVerticalPos()+T,R.insert(a,E-10,r,E);return R.bumpVerticalPos(T),t.height+=T,t.stopy=t.starty+t.height,R.insert(t.fromBounds,t.starty,t.toBounds,t.stopy),E}g(Fe,"boundMessage");var $r=g(async function(e,t,a,r,i,o){const{startx:s,stopx:n,starty:E,message:T,type:l,sequenceIndex:x,sequenceVisible:u}=t,O=Z.calculateTextDimensions(T,Rt(h)),p=ee();p.x=Math.min(s,n),p.y=E+10,p.width=Math.abs(n-s),p.class="messageText",p.dy="1em",p.text=T,p.fontFamily=h.messageFontFamily,p.fontSize=h.messageFontSize,p.fontWeight=h.messageFontWeight,p.anchor=h.messageAlign,p.valign="center",p.textMargin=h.wrapPadding,p.tspan=!1,Q(p.text)?await Wt(e,p,{startx:s,stopx:n,starty:a}):bt(e,p);const f=O.width;let _;if(s===n){const L=u||h.showSequenceNumbers,b=Xe(i,r),S=ia(i,r),A=s+(L&&(b||S)?10:0);h.rightAngles?_=e.append("path").attr("d",`M ${A},${a} H ${s+P.getMax(h.width/2,f/2)} V ${a+25} H ${s}`):_=e.append("path").attr("d","M "+A+","+a+" C "+(A+60)+","+(a-10)+" "+(s+60)+","+(a+30)+" "+s+","+(a+20)),Qt(i,r)&&De(e,i,t,r,s,n,a)}else _=e.append("line"),_.attr("x1",s),_.attr("y1",a),_.attr("x2",n),_.attr("y2",a),Qt(i,r)&&De(e,i,t,r,s,n,a);l===r.db.LINETYPE.DOTTED||l===r.db.LINETYPE.DOTTED_CROSS||l===r.db.LINETYPE.DOTTED_POINT||l===r.db.LINETYPE.DOTTED_OPEN||l===r.db.LINETYPE.BIDIRECTIONAL_DOTTED||l===r.db.LINETYPE.SOLID_TOP_DOTTED||l===r.db.LINETYPE.SOLID_BOTTOM_DOTTED||l===r.db.LINETYPE.STICK_TOP_DOTTED||l===r.db.LINETYPE.STICK_BOTTOM_DOTTED||l===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||l===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||l===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||l===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(_.style("stroke-dasharray","3, 3"),_.attr("class","messageLine1")):_.attr("class","messageLine0"),_.attr("data-et","message"),_.attr("data-id","i"+t.id),_.attr("data-from",t.from),_.attr("data-to",t.to);let I="";if(h.arrowMarkerAbsolute&&(I=Tr(!0)),_.attr("stroke-width",2),_.attr("stroke","none"),_.style("fill","none"),(l===r.db.LINETYPE.SOLID_TOP||l===r.db.LINETYPE.SOLID_TOP_DOTTED)&&_.attr("marker-end","url("+I+"#"+o+"-solidTopArrowHead)"),(l===r.db.LINETYPE.SOLID_BOTTOM||l===r.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&_.attr("marker-end","url("+I+"#"+o+"-solidBottomArrowHead)"),(l===r.db.LINETYPE.STICK_TOP||l===r.db.LINETYPE.STICK_TOP_DOTTED)&&_.attr("marker-end","url("+I+"#"+o+"-stickTopArrowHead)"),(l===r.db.LINETYPE.STICK_BOTTOM||l===r.db.LINETYPE.STICK_BOTTOM_DOTTED)&&_.attr("marker-end","url("+I+"#"+o+"-stickBottomArrowHead)"),(l===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||l===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&_.attr("marker-start","url("+I+"#"+o+"-solidBottomArrowHead)"),(l===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||l===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&_.attr("marker-start","url("+I+"#"+o+"-solidTopArrowHead)"),(l===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE||l===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&_.attr("marker-start","url("+I+"#"+o+"-stickBottomArrowHead)"),(l===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||l===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&_.attr("marker-start","url("+I+"#"+o+"-stickTopArrowHead)"),(l===r.db.LINETYPE.SOLID||l===r.db.LINETYPE.DOTTED)&&_.attr("marker-end","url("+I+"#"+o+"-arrowhead)"),(l===r.db.LINETYPE.BIDIRECTIONAL_SOLID||l===r.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(_.attr("marker-start","url("+I+"#"+o+"-arrowhead)"),_.attr("marker-end","url("+I+"#"+o+"-arrowhead)")),(l===r.db.LINETYPE.SOLID_POINT||l===r.db.LINETYPE.DOTTED_POINT)&&_.attr("marker-end","url("+I+"#"+o+"-filled-head)"),(l===r.db.LINETYPE.SOLID_CROSS||l===r.db.LINETYPE.DOTTED_CROSS)&&_.attr("marker-end","url("+I+"#"+o+"-crosshead)"),u||h.showSequenceNumbers){const L=l===r.db.LINETYPE.BIDIRECTIONAL_SOLID||l===r.db.LINETYPE.BIDIRECTIONAL_DOTTED,b=l===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||l===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||l===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||l===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||l===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE||l===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||l===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||l===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,S=6,A=Qt(i,r);let N=s,B=n;L?(ss?B=n-2*S:(B=n-S,N+=i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),B+=A?15:0,_.attr("x2",B),_.attr("x1",N)):_.attr("x1",s+S);let V=0;const q=s===n,U=s<=n;q?V=t.fromBounds+1:b?V=U?t.toBounds-1:t.fromBounds+1:V=U?t.fromBounds+1:t.toBounds-1;let G="12px";const X=x.toString().length;X>5?G="7px":X>3&&(G="9px"),e.append("line").attr("x1",V).attr("y1",a).attr("x2",V).attr("y2",a).attr("stroke-width",0).attr("marker-start","url("+I+"#"+o+"-sequencenumber)"),e.append("text").attr("x",V).attr("y",a+4).attr("font-family","sans-serif").attr("font-size",G).attr("text-anchor","middle").attr("class","sequenceNumber").text(x)}},"drawMessage"),jr=g(function(e,t,a,r,i,o,s){let n=0,E=0,T,l=0;for(const x of r){const u=t.get(x),O=u.box;T&&T!=O&&(s||R.models.addBox(T),E+=h.boxMargin+T.margin),O&&O!=T&&(s||(O.x=n+E,O.y=i),E+=O.margin),u.width=P.getMax(u.width||h.width,h.width),u.height=P.getMax(u.height||h.height,h.height),u.margin=u.margin||h.actorMargin,l=P.getMax(l,u.height),a.get(u.name)&&(E+=u.width/2),u.x=n+E,u.starty=R.getVerticalPos(),R.insert(u.x,i,u.x+u.width,u.height),n+=u.width+E,u.box&&(u.box.width=n+O.margin-u.box.x),E=u.margin,T=u.box,R.models.addActor(u)}T&&!s&&R.models.addBox(T),R.bumpVerticalPos(l)},"addActorRenderingData"),te=g(async function(e,t,a,r,i,o,s){if(r){let n=0;R.bumpVerticalPos(h.boxMargin*2);for(const E of a){const T=t.get(E);T.stopy||(T.stopy=R.getVerticalPos());const l=await F.drawActor(e,T,h,!0,i,o,s);n=P.getMax(n,l)}R.bumpVerticalPos(n+h.boxMargin)}else for(const n of a){const E=t.get(n);await F.drawActor(e,E,h,!1,i,o,s)}},"drawActors"),qe=g(function(e,t,a,r){let i=0,o=0;for(const s of a){const n=t.get(s),E=ea(n),T=F.drawPopup(e,n,E,h,h.forceMenus,r);T.height>i&&(i=T.height),T.width+n.x>o&&(o=T.width+n.x)}return{maxHeight:i,maxWidth:o}},"drawActorsPopup"),He=g(function(e){rr(h,e),e.fontFamily&&(h.actorFontFamily=h.noteFontFamily=h.messageFontFamily=e.fontFamily),e.fontSize&&(h.actorFontSize=h.noteFontSize=h.messageFontSize=e.fontSize),e.fontWeight&&(h.actorFontWeight=h.noteFontWeight=h.messageFontWeight=e.fontWeight)},"setConf"),qt=g(function(e){return R.activations.filter(function(t){return t.actor===e})},"actorActivations"),ve=g(function(e,t){const a=t.get(e),r=qt(e),i=r.reduce(function(s,n){return P.getMin(s,n.startx)},a.x+a.width/2-1),o=r.reduce(function(s,n){return P.getMax(s,n.stopx)},a.x+a.width/2+1);return[i,o]},"activationBounds");function ht(e,t,a,r,i){R.bumpVerticalPos(a);let o=r;if(t.id&&t.message&&e[t.id]){const s=e[t.id].width,n=Rt(h);t.message=Z.wrapLabel(`[${t.message}]`,s-2*h.wrapPadding,n),t.width=s,t.wrap=!0;const E=Z.calculateTextDimensions(t.message,n),T=P.getMax(E.height,h.labelBoxHeight);o=r+T,at.debug(`${T} - ${t.message}`)}i(t),R.bumpVerticalPos(o)}g(ht,"adjustLoopHeightForWrap");function ze(e,t,a,r,i,o,s){function n(l,x){l.x{m.add(D.from),m.add(D.to)}),f=f.filter(D=>m.has(D))}const A=new Map(f.map((m,D)=>[x.get(m)?.name??m,D]));jr(l,x,u,f,0,_,!1);const N=await oa(_,x,S,r);F.insertArrowHead(l,t),F.insertArrowCrossHead(l,t),F.insertArrowFilledHead(l,t),F.insertSequenceNumber(l,t),F.insertSolidTopArrowHead(l,t),F.insertSolidBottomArrowHead(l,t),F.insertStickTopArrowHead(l,t),F.insertStickBottomArrowHead(l,t),s==="neo"&&F.insertDropShadow(l,h);function B(m,D){const lt=R.endActivation(m);lt.starty+18>D&&(lt.starty=D-6,D+=12),F.drawActivation(l,lt,D,h,qt(m.from).length,r,A),R.insert(lt.startx,D-10,lt.stopx,D)}g(B,"activeEnd");let V=1,q=1;const U=[],G=[];let X=0;for(const m of _){let D,lt,et;switch(m.type){case r.db.LINETYPE.NOTE:R.resetVerticalPos(),lt=m.noteModel,await Qr(l,lt,m.id);break;case r.db.LINETYPE.ACTIVE_START:R.newActivation(m,l,x);break;case r.db.LINETYPE.CENTRAL_CONNECTION:R.newActivation(m,l,x);break;case r.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:R.newActivation(m,l,x);break;case r.db.LINETYPE.ACTIVE_END:B(m,R.getVerticalPos());break;case r.db.LINETYPE.LOOP_START:ht(N,m,h.boxMargin,h.boxMargin+h.boxTextMargin,W=>R.newLoop(W));break;case r.db.LINETYPE.LOOP_END:D=R.endLoop(),await F.drawLoop(l,D,"loop",h,m),R.bumpVerticalPos(D.stopy-R.getVerticalPos()),R.models.addLoop(D);break;case r.db.LINETYPE.RECT_START:ht(N,m,h.boxMargin,h.boxMargin,W=>R.newLoop(void 0,W.message));break;case r.db.LINETYPE.RECT_END:D=R.endLoop(),G.push(D),R.models.addLoop(D),R.bumpVerticalPos(D.stopy-R.getVerticalPos());break;case r.db.LINETYPE.OPT_START:ht(N,m,h.boxMargin,h.boxMargin+h.boxTextMargin,W=>R.newLoop(W));break;case r.db.LINETYPE.OPT_END:D=R.endLoop(),await F.drawLoop(l,D,"opt",h,m),R.bumpVerticalPos(D.stopy-R.getVerticalPos()),R.models.addLoop(D);break;case r.db.LINETYPE.ALT_START:ht(N,m,h.boxMargin,h.boxMargin+h.boxTextMargin,W=>R.newLoop(W));break;case r.db.LINETYPE.ALT_ELSE:ht(N,m,h.boxMargin+h.boxTextMargin,h.boxMargin,W=>R.addSectionToLoop(W));break;case r.db.LINETYPE.ALT_END:D=R.endLoop(),await F.drawLoop(l,D,"alt",h,m),R.bumpVerticalPos(D.stopy-R.getVerticalPos()),R.models.addLoop(D);break;case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:ht(N,m,h.boxMargin,h.boxMargin+h.boxTextMargin,W=>R.newLoop(W)),R.saveVerticalPos();break;case r.db.LINETYPE.PAR_AND:ht(N,m,h.boxMargin+h.boxTextMargin,h.boxMargin,W=>R.addSectionToLoop(W));break;case r.db.LINETYPE.PAR_END:D=R.endLoop(),await F.drawLoop(l,D,"par",h,m),R.bumpVerticalPos(D.stopy-R.getVerticalPos()),R.models.addLoop(D);break;case r.db.LINETYPE.AUTONUMBER:V=m.message.start||V,q=m.message.step||q,m.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:ht(N,m,h.boxMargin,h.boxMargin+h.boxTextMargin,W=>R.newLoop(W));break;case r.db.LINETYPE.CRITICAL_OPTION:ht(N,m,h.boxMargin+h.boxTextMargin,h.boxMargin,W=>R.addSectionToLoop(W));break;case r.db.LINETYPE.CRITICAL_END:D=R.endLoop(),await F.drawLoop(l,D,"critical",h,m),R.bumpVerticalPos(D.stopy-R.getVerticalPos()),R.models.addLoop(D);break;case r.db.LINETYPE.BREAK_START:ht(N,m,h.boxMargin,h.boxMargin+h.boxTextMargin,W=>R.newLoop(W));break;case r.db.LINETYPE.BREAK_END:D=R.endLoop(),await F.drawLoop(l,D,"break",h,m),R.bumpVerticalPos(D.stopy-R.getVerticalPos()),R.models.addLoop(D);break;default:try{et=m.msgModel,et.starty=R.getVerticalPos(),et.sequenceIndex=V,et.sequenceVisible=r.db.showSequenceNumbers(),et.id=m.id,et.from=m.from,et.to=m.to;const W=await Fe(l,et);ze(m,et,W,X,x,u,O),U.push({messageModel:et,lineStartY:W,msg:m}),R.models.addMessage(et)}catch(W){at.error("error while drawing message",W)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.SOLID_TOP,r.db.LINETYPE.SOLID_BOTTOM,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.SOLID_TOP_DOTTED,r.db.LINETYPE.SOLID_BOTTOM_DOTTED,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(m.type)&&(V=Math.round((V+q)*100)/100),X++}at.debug("createdActors",u),at.debug("destroyedActors",O),await te(l,x,f,!1,t,r,A);for(const m of U)await $r(l,m.messageModel,m.lineStartY,r,m.msg,t);h.mirrorActors&&await te(l,x,f,!0,t,r,A),G.forEach(m=>F.drawBackgroundRect(l,m)),Ye(l,x,f,h);for(const m of R.models.boxes){m.height=R.getVerticalPos()-m.y,R.insert(m.x,m.y,m.x+m.width,m.height);const D=h.boxMargin*2;m.startx=m.x-D,m.starty=m.y-D*.25,m.stopx=m.startx+m.width+2*D,m.stopy=m.starty+m.height+D*.75,m.stroke="rgb(0,0,0, 0.5)",F.drawBox(l,m,h)}L&&R.bumpVerticalPos(h.boxMargin);const j=qe(l,x,f,T),{bounds:H}=R.getBounds();H.startx===void 0&&(H.startx=0),H.starty===void 0&&(H.starty=0),H.stopx===void 0&&(H.stopx=0),H.stopy===void 0&&(H.stopy=0);let st=H.stopy-H.starty;st{const s=Rt(h);let n=o.actorKeys.reduce((x,u)=>x+=e.get(u).width+(e.get(u).margin||0),0);const E=h.boxMargin*8;n+=E,n-=2*h.boxTextMargin,o.wrap&&(o.name=Z.wrapLabel(o.name,n-2*h.wrapPadding,s));const T=Z.calculateTextDimensions(o.name,s);i=P.getMax(T.height,i);const l=P.getMax(n,T.width+2*h.wrapPadding);if(o.margin=h.boxTextMargin,no.textMaxHeight=i),P.getMax(r,h.height)}g(Ge,"calculateActorMargins");var ra=g(async function(e,t,a){const r=t.get(e.from),i=t.get(e.to),o=r.x,s=i.x,n=e.wrap&&e.message;let E=Q(e.message)?await wt(e.message,$()):Z.calculateTextDimensions(n?Z.wrapLabel(e.message,h.width,Lt(h)):e.message,Lt(h));const T={width:n?h.width:P.getMax(h.width,E.width+2*h.noteMargin),height:0,startx:r.x,stopx:0,starty:0,stopy:0,message:e.message};return e.placement===a.db.PLACEMENT.RIGHTOF?(T.width=n?P.getMax(h.width,E.width):P.getMax(r.width/2+i.width/2,E.width+2*h.noteMargin),T.startx=o+(r.width+h.actorMargin)/2):e.placement===a.db.PLACEMENT.LEFTOF?(T.width=n?P.getMax(h.width,E.width+2*h.noteMargin):P.getMax(r.width/2+i.width/2,E.width+2*h.noteMargin),T.startx=o-T.width+(r.width-h.actorMargin)/2):e.to===e.from?(E=Z.calculateTextDimensions(n?Z.wrapLabel(e.message,P.getMax(h.width,r.width),Lt(h)):e.message,Lt(h)),T.width=n?P.getMax(h.width,r.width):P.getMax(r.width,h.width,E.width+2*h.noteMargin),T.startx=o+(r.width-T.width)/2):(T.width=Math.abs(o+r.width/2-(s+i.width/2))+h.actorMargin,T.startx=o2,u=g(_=>E?-_:_,"adjustValue");e.from===e.to?l=T:(e.activate&&!x&&(l+=u(h.activationWidth/2-1)),[a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN,a.db.LINETYPE.STICK_TOP,a.db.LINETYPE.STICK_BOTTOM,a.db.LINETYPE.STICK_TOP_DOTTED,a.db.LINETYPE.STICK_BOTTOM_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(e.type)||(l+=u(3)),[a.db.LINETYPE.BIDIRECTIONAL_SOLID,a.db.LINETYPE.BIDIRECTIONAL_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(e.type)&&(T-=u(3)));const O=[i,o,s,n],p=Math.abs(T-l);e.wrap&&e.message&&(e.message=Z.wrapLabel(e.message,P.getMax(p+2*h.wrapPadding,h.width),Rt(h)));const f=Z.calculateTextDimensions(e.message,Rt(h));return{width:P.getMax(e.wrap?0:f.width+2*h.wrapPadding,p+2*h.wrapPadding,h.width),height:0,startx:T,stopx:l,starty:0,stopy:0,message:e.message,type:e.type,wrap:e.wrap,fromBounds:Math.min.apply(null,O),toBounds:Math.max.apply(null,O)}},"buildMessageModel"),oa=g(async function(e,t,a,r){const i={},o=[];let s,n,E;for(const T of e){switch(T.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:o.push({id:T.id,msg:T.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:T.message&&(s=o.pop(),i[s.id]=s,i[T.id]=s,o.push(s));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:s=o.pop(),i[s.id]=s;break;case r.db.LINETYPE.ACTIVE_START:{const x=t.get(T.from?T.from:T.to.actor),u=qt(T.from?T.from:T.to.actor).length,O=x.x+x.width/2+(u-1)*h.activationWidth/2,p={startx:O,stopx:O+h.activationWidth,actor:T.from,enabled:!0};R.activations.push(p)}break;case r.db.LINETYPE.ACTIVE_END:{const x=R.activations.map(u=>u.actor).lastIndexOf(T.from);R.activations.splice(x,1).splice(0,1)}break}T.placement!==void 0?(n=await ra(T,t,r),T.noteModel=n,o.forEach(x=>{s=x,s.from=P.getMin(s.from,n.startx),s.to=P.getMax(s.to,n.startx+n.width),s.width=P.getMax(s.width,Math.abs(s.from-s.to))-h.labelBoxWidth})):(E=na(T,t,r),T.msgModel=E,E.startx&&E.stopx&&o.length>0&&o.forEach(x=>{if(s=x,E.startx===E.stopx){const u=t.get(T.from),O=t.get(T.to);s.from=P.getMin(u.x-E.width/2,u.x-u.width/2,s.from),s.to=P.getMax(O.x+E.width/2,O.x+u.width/2,s.to),s.width=P.getMax(s.width,Math.abs(s.to-s.from))-h.labelBoxWidth}else s.from=P.getMin(E.startx,s.from),s.to=P.getMax(E.stopx,s.to),s.width=P.getMax(s.width,E.width)-h.labelBoxWidth}))}return R.activations=[],at.debug("Loop type widths:",i),i},"calculateLoopBounds"),ca={bounds:R,drawActors:te,drawActorsPopup:qe,setConf:He,draw:ta},pa={parser:fr,get db(){return new Ir},renderer:ca,styles:Rr,init:g(e=>{e.sequence||(e.sequence={}),e.wrap&&(e.sequence.wrap=e.wrap,tr({sequence:{wrap:e.wrap}}))},"init")};export{pa as diagram}; diff --git a/_astro/stateDiagram-AJRCARHV.DkZFlJkF.js b/_astro/stateDiagram-AJRCARHV.DkZFlJkF.js new file mode 100644 index 0000000..2f0bc99 --- /dev/null +++ b/_astro/stateDiagram-AJRCARHV.DkZFlJkF.js @@ -0,0 +1 @@ +import{s as A,a as W,S as N}from"./chunk-AQP2D5EJ.B_aCHPyh.js";import{_ as f,c as t,d as H,l as S,e as P,k as z,R as _,S as U,O as C,u as F}from"./mermaid.core.Ci_VGkOG.js";import{G as O}from"./graph.-OzhPTMs.js";import{l as J}from"./layout.owoKPs3z.js";import"./chunk-55IACEB6.DaHeeVsF.js";import"./chunk-2J33WTMH.HmvIJeR8.js";import"./preload-helper.DK3iz7C1.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),D=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Y=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"
    ");p=p.replace(/\n/g,"
    ");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&D(n),i.type==="default"&&i.descriptions.length===0&&Y(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),G=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=_().x(function(s){return s.x}).y(function(s){return s.y}).curve(U),p=e.append("path").attr("d",l(n)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=F.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}G++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");R(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;P(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),R=f((e,i,d,c,n,l,p)=>{const a=new O({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},lt={parser:W,get db(){return new N(1)},renderer:it,styles:A,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{lt as diagram}; diff --git a/_astro/stateDiagram-v2-BHNVJYJU.CwbP98cE.js b/_astro/stateDiagram-v2-BHNVJYJU.CwbP98cE.js new file mode 100644 index 0000000..2744212 --- /dev/null +++ b/_astro/stateDiagram-v2-BHNVJYJU.CwbP98cE.js @@ -0,0 +1 @@ +import{s as e,b as r,a,S as s}from"./chunk-AQP2D5EJ.B_aCHPyh.js";import{_ as i}from"./mermaid.core.Ci_VGkOG.js";import"./chunk-55IACEB6.DaHeeVsF.js";import"./chunk-2J33WTMH.HmvIJeR8.js";import"./preload-helper.DK3iz7C1.js";var p={parser:a,get db(){return new s(2)},renderer:r,styles:e,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{p as diagram}; diff --git a/_astro/timeline-definition-PNZ67QCA.B-57br5T.js b/_astro/timeline-definition-PNZ67QCA.B-57br5T.js new file mode 100644 index 0000000..4082a83 --- /dev/null +++ b/_astro/timeline-definition-PNZ67QCA.B-57br5T.js @@ -0,0 +1,120 @@ +import{_ as o,D as pt,V as Ct,W as Rt,X as Wt,c as gt,l as E,I as Pt,N as Bt,Y as ft,d as U,C as Vt,$ as Ft,z as zt}from"./mermaid.core.Ci_VGkOG.js";import{d as ot}from"./arc.BTyyZ9t0.js";import"./preload-helper.DK3iz7C1.js";var tt=(function(){var e=o(function(k,s,d,l){for(d=d||{},l=k.length;l--;d[k[l]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],h=[1,15],c=[1,16],a=[1,19],f=[1,20],g={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:o(function(s,d,l,p,x,u,S){var v=u.length-1;switch(x){case 1:return u[v-1];case 3:p.setDirection("LR");break;case 4:p.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:p.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),p.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),p.getCommonDb().setAccDescription(this.$);break;case 15:p.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:p.addTask(u[v],0,""),this.$=u[v];break;case 19:p.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:h,20:c,21:17,22:18,23:a,24:f},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:h,20:c,21:17,22:18,23:a,24:f},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:o(function(s,d){if(d.recoverable)this.trace(s);else{var l=new Error(s);throw l.hash=d,l}},"parseError"),parse:o(function(s){var d=this,l=[0],p=[],x=[null],u=[],S=this.table,v="",I=0,C=0,W=2,O=1,L=u.slice.call(arguments,1),w=Object.create(this.lexer),H={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(H.yy[V]=this.yy[V]);w.setInput(s,H.yy),H.yy.lexer=w,H.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var F=w.yylloc;u.push(F);var K=w.options&&w.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(A){l.length=l.length-2*A,x.length=x.length-A,u.length=u.length-A}o(N,"popStack");function b(){var A;return A=p.pop()||w.lex()||O,typeof A!="number"&&(A instanceof Array&&(p=A,A=p.pop()),A=d.symbols_[A]||A),A}o(b,"lex");for(var _,$,T,P,R={},G,B,Z,j;;){if($=l[l.length-1],this.defaultActions[$]?T=this.defaultActions[$]:((_===null||typeof _>"u")&&(_=b()),T=S[$]&&S[$][_]),typeof T>"u"||!T.length||!T[0]){var Y="";j=[];for(G in S[$])this.terminals_[G]&&G>W&&j.push("'"+this.terminals_[G]+"'");w.showPosition?Y="Parse error on line "+(I+1)+`: +`+w.showPosition()+` +Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Y="Parse error on line "+(I+1)+": Unexpected "+(_==O?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Y,{text:w.match,token:this.terminals_[_]||_,line:w.yylineno,loc:F,expected:j})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+_);switch(T[0]){case 1:l.push(_),x.push(w.yytext),u.push(w.yylloc),l.push(T[1]),_=null,C=w.yyleng,v=w.yytext,I=w.yylineno,F=w.yylloc;break;case 2:if(B=this.productions_[T[1]][1],R.$=x[x.length-B],R._$={first_line:u[u.length-(B||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(B||1)].first_column,last_column:u[u.length-1].last_column},K&&(R._$.range=[u[u.length-(B||1)].range[0],u[u.length-1].range[1]]),P=this.performAction.apply(R,[v,C,I,H.yy,T[1],x,u].concat(L)),typeof P<"u")return P;B&&(l=l.slice(0,-1*B*2),x=x.slice(0,-1*B),u=u.slice(0,-1*B)),l.push(this.productions_[T[1]][0]),x.push(R.$),u.push(R._$),Z=S[l[l.length-2]][l[l.length-1]],l.push(Z);break;case 3:return!0}}return!0},"parse")},m=(function(){var k={EOF:1,parseError:o(function(d,l){if(this.yy.parser)this.yy.parser.parseError(d,l);else throw new Error(d)},"parseError"),setInput:o(function(s,d){return this.yy=d||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 d=s.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:o(function(s){var d=s.length,l=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;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),l.length-1&&(this.yylineno-=l.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:l?(l.length===p.length?this.yylloc.first_column:0)+p[p.length-l.length].length-l[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-d]),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(),d=new Array(s.length+1).join("-");return s+this.upcomingInput()+` +`+d+"^"},"showPosition"),test_match:o(function(s,d){var l,p,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))),p=s[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+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],l=this.performAction.call(this,this.yy,this,d,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var u in x)this[u]=x[u];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,d,l,p;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),u=0;ud[0].length)){if(d=l,p=u,this.options.backtrack_lexer){if(s=this.test_match(l,x[u]),s!==!1)return s;if(this._backtrack){d=!1;continue}else return!1}else if(!this.options.flex)break}return d?(s=this.test_match(d,x[p]),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 d=this.next();return d||this.lex()},"lex"),begin:o(function(d){this.conditionStack.push(d)},"begin"),popState:o(function(){var d=this.conditionStack.length-1;return d>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(d){return d=this.conditionStack.length-1-Math.abs(d||0),d>=0?this.conditionStack[d]:"INITIAL"},"topState"),pushState:o(function(d){this.begin(d)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(d,l,p,x){switch(p){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return k})();g.lexer=m;function y(){this.yy={}}return o(y,"Parser"),y.prototype=g,g.Parser=y,new y})();tt.parser=tt;var Ot=tt,yt={};Vt(yt,{addEvent:()=>Tt,addSection:()=>_t,addTask:()=>Et,addTaskOrg:()=>$t,clear:()=>kt,default:()=>Gt,getCommonDb:()=>xt,getDirection:()=>bt,getSections:()=>wt,getTasks:()=>St,setDirection:()=>vt});var D="",mt=0,nt="LR",rt=[],q=[],X=[],xt=o(()=>Ft,"getCommonDb"),kt=o(function(){rt.length=0,q.length=0,D="",X.length=0,nt="LR",zt()},"clear"),vt=o(function(e){nt=e},"setDirection"),bt=o(function(){return nt},"getDirection"),_t=o(function(e){D=e,rt.push(e)},"addSection"),wt=o(function(){return rt},"getSections"),St=o(function(){let e=ct();const t=100;let n=0;for(;!e&&nn.id===mt-1).events.push(e)},"addEvent"),$t=o(function(e){const t={section:D,type:D,description:e,task:e,classes:[]};q.push(t)},"addTaskOrg"),ct=o(function(){const e=o(function(n){return X[n].processed},"compileTask");let t=!0;for(const[n,i]of X.entries())e(n),t=t&&i.processed;return t},"compileTasks"),Gt={clear:kt,getCommonDb:xt,getDirection:bt,setDirection:vt,addSection:_t,getSections:wt,getTasks:St,addTask:Et,addTaskOrg:$t,addEvent:Tt},Nt=0,J=o(function(e,t){const n=e.append("rect");return n.attr("x",t.x),n.attr("y",t.y),n.attr("fill",t.fill),n.attr("stroke",t.stroke),n.attr("width",t.width),n.attr("height",t.height),n.attr("rx",t.rx),n.attr("ry",t.ry),t.class!==void 0&&n.attr("class",t.class),n},"drawRect"),Dt=o(function(e,t){const i=e.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=e.append("g");r.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function h(f){const g=ot().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);f.append("path").attr("class","mouth").attr("d",g).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}o(h,"smile");function c(f){const g=ot().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);f.append("path").attr("class","mouth").attr("d",g).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}o(c,"sad");function a(f){f.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(a,"ambivalent"),t.score>3?h(r):t.score<3?c(r):a(r),i},"drawFace"),Xt=o(function(e,t){const n=e.append("circle");return n.attr("cx",t.cx),n.attr("cy",t.cy),n.attr("class","actor-"+t.pos),n.attr("fill",t.fill),n.attr("stroke",t.stroke),n.attr("r",t.r),n.class!==void 0&&n.attr("class",n.class),t.title!==void 0&&n.append("title").text(t.title),n},"drawCircle"),It=o(function(e,t){const n=t.text.replace(//gi," "),i=e.append("text");i.attr("x",t.x),i.attr("y",t.y),i.attr("class","legend"),i.style("text-anchor",t.anchor),t.class!==void 0&&i.attr("class",t.class);const r=i.append("tspan");return r.attr("x",t.x+t.textMargin*2),r.text(n),i},"drawText"),Kt=o(function(e,t){function n(r,h,c,a,f){return r+","+h+" "+(r+c)+","+h+" "+(r+c)+","+(h+a-f)+" "+(r+c-f*1.2)+","+(h+a)+" "+r+","+(h+a)}o(n,"genPoints");const i=e.append("polygon");i.attr("points",n(t.x,t.y,50,20,7)),i.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,It(e,t)},"drawLabel"),Ut=o(function(e,t,n){const i=e.append("g"),r=st();r.x=t.x,r.y=t.y,r.fill=t.fill,r.width=n.width,r.height=n.height,r.class="journey-section section-type-"+t.num,r.rx=3,r.ry=3,J(i,r),Ht(n)(t.text,i,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+t.num},n,t.colour)},"drawSection"),et=-1,Zt=o(function(e,t,n,i){const r=t.x+n.width/2,h=e.append("g");et++,h.append("line").attr("id",i+"-task"+et).attr("x1",r).attr("y1",t.y).attr("x2",r).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Dt(h,{cx:r,cy:300+(5-t.score)*30,score:t.score});const a=st();a.x=t.x,a.y=t.y,a.fill=t.fill,a.width=n.width,a.height=n.height,a.class="task task-type-"+t.num,a.rx=3,a.ry=3,J(h,a),Ht(n)(t.task,h,a.x,a.y,a.width,a.height,{class:"task"},n,t.colour)},"drawTask"),jt=o(function(e,t){J(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},"drawBackgroundRect"),qt=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),st=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Ht=(function(){function e(r,h,c,a,f,g,m,y){const k=h.append("text").attr("x",c+f/2).attr("y",a+g/2+5).style("font-color",y).style("text-anchor","middle").text(r);i(k,m)}o(e,"byText");function t(r,h,c,a,f,g,m,y,k){const{taskFontSize:s,taskFontFamily:d}=y,l=r.split(//gi);for(let p=0;p)/).reverse(),r,h=[],c=1.1,a=n.attr("y"),f=parseFloat(n.attr("dy")),g=n.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",f+"em");for(let m=0;mt||r==="
    ")&&(h.pop(),g.text(h.join(" ").trim()),r==="
    "?h=[""]:h=[r],g=n.append("tspan").attr("x",0).attr("y",a).attr("dy",c+"em").text(r))})}o(it,"wrap");var Qt=o(function(e,t,n,i,r,h=!1){const{theme:c,look:a}=i,f=c?.includes("redux"),g=i?.themeVariables?.THEME_COLOR_LIMIT??12,m=n%g-1,y=e.append("g");t.section=m,y.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+m));const k=y.append("g"),s=y.append("g"),l=s.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(it,t.width).node().getBBox(),p=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;if(t.height=l.height+p*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,s.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),f&&s.attr("transform",`translate(${t.width/2}, ${h?t.padding/2+3:t.padding})`),te(k,t,m,r,i),a==="neo"&&(y.attr("data-look","neo"),f)){const x=c.includes("dark"),u=e.node()?.ownerSVGElement??e.node(),S=U(u),v=S.attr("id")??"",I=v?`${v}-drop-shadow`:"drop-shadow";if(S.select(`#${I}`).empty()){const C=S.select("defs");(C.empty()?S.append("defs"):C).append("filter").attr("id",I).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",x?"0.2":"0.06").attr("flood-color",x?"#FFFFFF":"#000000")}}return t},"drawNode"),Yt=o(function(e,t,n){const i=e.append("g"),h=i.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(it,t.width).node().getBBox(),c=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;return i.remove(),h.height+c*1.1*.5+t.padding},"getVirtualNodeHeight"),te=o(function(e,t,n,i,r){const{theme:h}=r,c=h?.includes("redux")?0:5,a=5,f=c>0?`M0 ${t.height-a} v${-t.height+2*a} q0,-${c},${c},-${c} h${t.width-2*a} q${c},0,${c},${c} v${t.height-a} H0 Z`:`M0 ${t.height-a} v${-(t.height-a)} h${t.width} v${t.height} H0 Z`;e.append("path").attr("id",i+"-node-"+Nt++).attr("class","node-bkg node-"+t.type).attr("d",f),h?.includes("redux")||e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},"defaultBkg"),M={drawRect:J,drawCircle:Xt,drawSection:Ut,drawText:It,drawLabel:Kt,drawTask:Zt,drawBackgroundRect:jt,getTextObj:qt,getNoteRect:st,initGraphics:Jt,drawNode:Qt,getVirtualNodeHeight:Yt},ee=o(function(e,t,n,i){const r=gt(),{look:h,theme:c,themeVariables:a}=r,{useGradient:f,gradientStart:g,gradientStop:m}=a,y=r.timeline?.leftMargin??50;E.debug("timeline",i.db);const k=r.securityLevel;let s;k==="sandbox"&&(s=U("#i"+t));const l=(k==="sandbox"?U(s.nodes()[0].contentDocument.body):U("body")).select("#"+t);l.append("g");const p=i.db.getTasks(),x=i.db.getCommonDb().getDiagramTitle();E.debug("task",p),M.initGraphics(l,t);const u=i.db.getSections();E.debug("sections",u);let S=0,v=0,I=0,C=0,W=50+y,O=50;C=50;let L=0,w=!0;u.forEach(function(N){const b={number:L,descr:N,section:L,width:150,padding:20,maxHeight:S},_=M.getVirtualNodeHeight(l,b,r);E.debug("sectionHeight before draw",_),S=Math.max(S,_+20)});let H=0,V=0;E.debug("tasks.length",p.length);for(const[N,b]of p.entries()){const _={number:N,descr:b,section:b.section,width:150,padding:20,maxHeight:v},$=M.getVirtualNodeHeight(l,_,r);E.debug("taskHeight before draw",$),v=Math.max(v,$+20),H=Math.max(H,b.events.length);let T=0;for(const P of b.events){const R={descr:P,section:b.section,number:b.section,width:150,padding:20,maxHeight:50};T+=M.getVirtualNodeHeight(l,R,r)}b.events.length>0&&(T+=(b.events.length-1)*10),V=Math.max(V,T)}E.debug("maxSectionHeight before draw",S),E.debug("maxTaskHeight before draw",v),u&&u.length>0?u.forEach(N=>{const b=p.filter(P=>P.section===N),_={number:L,descr:N,section:L,width:200*Math.max(b.length,1)-50,padding:20,maxHeight:S};E.debug("sectionNode",_);const $=l.append("g"),T=M.drawNode($,_,L,r,t);E.debug("sectionNode output",T),$.attr("transform",`translate(${W}, ${C})`),O+=S+50,b.length>0&<(l,b,L,W,O,v,r,H,V,S,!1,t),W+=200*Math.max(b.length,1),O=C,L++}):(w=!1,lt(l,p,L,W,O,v,r,H,V,S,!0,t));const F=l.node().getBBox();if(E.debug("bounds",F),x&&l.append("text").text(x).attr("x",h==="neo"?F.x*2+y:F.width/2-y).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),I=w?S+v+150:v+100,l.append("g").attr("class","lineWrapper").append("line").attr("x1",y).attr("y1",I).attr("x2",F.width+3*y).attr("y2",I).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${t}-arrowhead)`),h==="neo"&&f&&c!=="neutral"){const N=l.select("defs"),_=(N.empty()?l.append("defs"):N).append("linearGradient").attr("id",l.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");_.append("stop").attr("offset","0%").attr("stop-color",g).attr("stop-opacity",1),_.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}ft(void 0,l,r.timeline?.padding??50,r.timeline?.useMaxWidth??!1)},"draw"),lt=o(function(e,t,n,i,r,h,c,a,f,g,m,y){for(const k of t){const s={descr:k.task,section:n,number:n,width:150,padding:20,maxHeight:h};E.debug("taskNode",s);const d=e.append("g").attr("class","taskWrapper"),p=M.drawNode(d,s,n,c,y).height;if(E.debug("taskHeight after draw",p),d.attr("transform",`translate(${i}, ${r})`),h=Math.max(h,p),k.events){const x=e.append("g").attr("class","lineWrapper");let u=h;r+=100,u=u+ne(e,k.events,n,i,r,c,y),r-=100,x.append("line").attr("x1",i+190/2).attr("y1",r+h).attr("x2",i+190/2).attr("y2",r+h+100+f+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${y}-arrowhead)`).attr("stroke-dasharray","5,5")}i=i+200,m&&!c.timeline?.disableMulticolor&&n++}r=r-10},"drawTasks"),ne=o(function(e,t,n,i,r,h,c){let a=0;const f=r;r=r+100;for(const g of t){const m={descr:g,section:n,number:n,width:150,padding:20,maxHeight:50};E.debug("eventNode",m);const y=e.append("g").attr("class","eventWrapper"),s=M.drawNode(y,m,n,h,c,!0).height;a=a+s,y.attr("transform",`translate(${i}, ${r})`),r=r+10+s}return r=f,a},"drawEvents"),re={setConf:o(()=>{},"setConf"),draw:ee},Q=200,z=5,se=Q+z*2,at=Q+100,ie=at+z*2,Lt=10,ae=0,ht=20,Mt=20,dt=30,At=50,oe=o(function(e,t,n,i){const r=gt(),h=r.timeline?.leftMargin??50;E.debug("timeline",i.db);const c=Pt(t);c.append("g");const a=i.db.getTasks(),f=i.db.getCommonDb().getDiagramTitle();E.debug("task",a),M.initGraphics(c);const g=i.db.getSections();E.debug("sections",g);let m=0,y=0;const k=50+h;let s=50;const d=s,l=k,p=se+Mt,x=ie+At,u=l+p;let S=0;const v=g&&g.length>0,I=v?u:k+p,C=Math.max(50,p+x-z*2);g.forEach(function(N){const b={number:S,descr:N,section:S,width:C,padding:z,maxHeight:m},_=M.getVirtualNodeHeight(c,b,r);E.debug("sectionHeight before draw",_),m=Math.max(m,_)});let W=0;E.debug("tasks.length",a.length);for(const[N,b]of a.entries()){const _={number:N,descr:b,section:b.section,width:Q,padding:z,maxHeight:y},$=M.getVirtualNodeHeight(c,_,r);E.debug("taskHeight before draw",$),y=Math.max(y,$);let T=0;for(const P of b.events){const R={descr:P,section:b.section,number:b.section,width:at,padding:z,maxHeight:50};T+=M.getVirtualNodeHeight(c,R,r)}b.events.length>0&&(T+=(b.events.length-1)*Lt),W=Math.max(W,T)+ae}E.debug("maxSectionHeight before draw",m),E.debug("maxTaskHeight before draw",y);const L=Math.max(y,W)+dt;v?g.forEach(N=>{const b=a.filter(Z=>Z.section===N),_={number:S,descr:N,section:S,width:C,padding:z,maxHeight:m};E.debug("sectionNode",_);const $=c.append("g"),T=M.drawNode($,_,S,r);E.debug("sectionNode output",T);const P=I-p;$.attr("transform",`translate(${P}, ${s})`);const R=s+T.height+ht;b.length>0&&ut(c,b,S,I,R,y,r,L,!1);const G=b.length,B=T.height+ht+L*Math.max(G,1)-(G>0?dt*2:0);s+=B,S++}):ut(c,a,S,I,s,y,r,L,!0);let w=c.node()?.getBBox();if(!w)throw new Error("bbox not found");if(E.debug("bounds",w),f){if(c.append("text").text(f).attr("x",w.width/2-h).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),w=c.node()?.getBBox(),!w)throw new Error("bbox not found");E.debug("bounds after title",w)}const[H]=Bt(r.fontSize),V=(H??16)*2,F=(H??16)*.5+20,K=c.append("g").attr("class","lineWrapper");K.append("line").attr("x1",I).attr("y1",d-V).attr("x2",I).attr("y2",w.y+w.height+F).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),K.lower(),ft(void 0,c,r.timeline?.padding??50,r.timeline?.useMaxWidth??!1)},"draw"),ut=o(function(e,t,n,i,r,h,c,a,f){for(const g of t){const m={descr:g.task,section:n,number:n,width:Q,padding:z,maxHeight:h};E.debug("taskNode",m);const y=e.append("g").attr("class","taskWrapper"),k=M.drawNode(y,m,n,c),s=k.height;E.debug("taskHeight after draw",s);const d=i-Mt-k.width;if(y.attr("transform",`translate(${d}, ${r})`),h=Math.max(h,s),g.events&&g.events.length>0){const l=r,p=i+At;ce(e,g.events,n,i,p,l,c)}r=r+a,f&&!c.timeline?.disableMulticolor&&n++}},"drawTasks"),ce=o(function(e,t,n,i,r,h,c){let a=h;for(const f of t){const g={descr:f,section:n,number:n,width:at,padding:z,maxHeight:0};E.debug("eventNode",g);const m=e.append("g").attr("class","eventWrapper"),k=M.drawNode(m,g,n,c).height;m.attr("transform",`translate(${r}, ${a})`);const s=e.append("g").attr("class","lineWrapper"),d=a+k/2;s.append("line").attr("x1",i).attr("y1",d).attr("x2",r).attr("y2",d).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),a=a+k+Lt}return a-h},"drawEvents"),le={setConf:o(()=>{},"setConf"),draw:oe},he=o(e=>{const{theme:t}=pt(),n=t?.includes("dark"),i=t?.includes("color"),r=e.svgId?.replace(/^#/,"")??"",h=r?`url(#${r}-drop-shadow)`:e.dropShadow??"none";let c="";for(let a=0;a{let t="";for(let n=0;n{const{theme:t}=pt(),n=t?.includes("redux"),i=t==="neutral",r=e.svgId?.replace(/^#/,"")??"";let h="";if(e.useGradient&&r&&e.THEME_COLOR_LIMIT&&!i)for(let c=0;c{},"setConf"),draw:o((e,t,n,i)=>(i?.db?.getDirection?.()??"LR")==="TD"?le.draw(e,t,n,i):re.draw(e,t,n,i),"draw")},xe={db:yt,renderer:ge,parser:Ot,styles:pe};export{xe as diagram}; diff --git a/_astro/ui-core.B8ZqvcNH.js b/_astro/ui-core.B8ZqvcNH.js new file mode 100644 index 0000000..b5bfadf --- /dev/null +++ b/_astro/ui-core.B8ZqvcNH.js @@ -0,0 +1,2 @@ +import{_ as Or}from"./preload-helper.DK3iz7C1.js";var Ur=Object.defineProperty,D=(u,e)=>{for(var t in e)Ur(u,t,{get:e[t],enumerable:!0})};function L(){}function Ee(u){return u()}function Hu(){return Object.create(null)}function W(u){u.forEach(Ee)}function ce(u){return typeof u=="function"}function cu(u,e){return u!=u?e==e:u!==e||u&&typeof u=="object"||typeof u=="function"}var iu;function _u(u,e){return u===e?!0:(iu||(iu=document.createElement("a")),iu.href=e,u===iu.href)}function zr(u){return Object.keys(u).length===0}function g(u,e){u.appendChild(e)}function b(u,e,t){u.insertBefore(e,t||null)}function R(u){u.parentNode&&u.parentNode.removeChild(u)}function lu(u,e){for(let t=0;tu.removeEventListener(e,t,a)}function h(u,e,t){t==null?u.removeAttribute(e):u.getAttribute(e)!==t&&u.setAttribute(e,t)}function xr(u){return Array.from(u.childNodes)}function z(u,e){e=""+e,u.data!==e&&(u.data=e)}function Eu(u,e){u.value=e??""}function q(u,e,t){u.classList.toggle(e,!!t)}var jr=class{is_svg=!1;e=void 0;n=void 0;t=void 0;a=void 0;constructor(u=!1){this.is_svg=u,this.e=this.n=null}c(u){this.h(u)}m(u,e,t=null){this.e||(this.is_svg?this.e=wr(e.nodeName):this.e=T(e.nodeType===11?"TEMPLATE":e.nodeName),this.t=e.tagName!=="TEMPLATE"?e:e.content,this.c(u)),this.i(t)}h(u){this.e.innerHTML=u,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(u){for(let e=0;eu.indexOf(a)===-1?e.push(a):t.push(a)),t.forEach(a=>a()),X=e}var ou=new Set,G;function ru(){G={r:0,c:[],p:G}}function su(){G.r||W(G.c),G=G.p}function U(u,e){u&&u.i&&(ou.delete(u),u.i(e))}function x(u,e,t,a){if(u&&u.o){if(ou.has(u))return;ou.add(u),G.c.push(()=>{ou.delete(u),a&&(t&&u.d(1),a())}),u.o(e)}else a&&a()}function j(u){return u?.length!==void 0?u:Array.from(u)}function Wr(u,e){x(u,1,1,()=>{e.delete(u.key)})}function Jr(u,e,t,a,r,l,s,n,i,C,E,B){let _=u.length,d=l.length,o=_;const c={};for(;o--;)c[u[o].key]=o;const m=[],A=new Map,k=new Map,F=[];for(o=d;o--;){const y=B(r,l,o),H=t(y);let S=s.get(H);S?F.push(()=>S.p(y,e)):(S=C(H,y),S.c()),A.set(H,m[o]=S),H in c&&k.set(H,Math.abs(o-c[H]))}const v=new Set,K=new Set;function P(y){U(y,1),y.m(n,E),s.set(y.key,y),E=y.first,d--}for(;_&&d;){const y=m[d-1],H=u[_-1],S=y.key,w=H.key;y===H?(E=y.first,_--,d--):A.has(w)?!s.has(S)||v.has(S)?P(y):K.has(w)?_--:k.get(S)>k.get(w)?(K.add(S),P(y)):(v.add(w),_--):(i(H,s),_--)}for(;_--;){const y=u[_];A.has(y.key)||i(y,s)}for(;d;)P(m[d-1]);return W(F),m}function Zr(u,e,t){const a=u.$$.props[e];a!==void 0&&(u.$$.bound[a]=t,t(u.$$.ctx[a]))}function bu(u){u&&u.c()}function Cu(u,e,t){const{fragment:a,after_update:r}=u.$$;a&&a.m(e,t),Ru(()=>{const l=u.$$.on_mount.map(Ee).filter(ce);u.$$.on_destroy?u.$$.on_destroy.push(...l):W(l),u.$$.on_mount=[]}),r.forEach(Ru)}function du(u,e){const t=u.$$;t.fragment!==null&&(Gr(t.after_update),W(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Yr(u,e){u.$$.dirty[0]===-1&&(Y.push(u),qr(),u.$$.dirty.fill(0)),u.$$.dirty[e/31|0]|=1<{const o=d.length?d[0]:_;return C.ctx&&r(C.ctx[B],C.ctx[B]=o)&&(!C.skip_bound&&C.bound[B]&&C.bound[B](o),E&&Yr(u,B)),_}):[],C.update(),E=!0,W(C.before_update),C.fragment=a?a(C.ctx):!1,e.target){if(e.hydrate){const B=xr(e.target);C.fragment&&C.fragment.l(B),B.forEach(R)}else C.fragment&&C.fragment.c();e.intro&&U(u.$$.fragment),Cu(u,e.target,e.anchor),Ce()}eu(i)}var fu=class{$$=void 0;$$set=void 0;$destroy(){du(this,1),this.$destroy=L}$on(u,e){if(!ce(e))return L;const t=this.$$.callbacks[u]||(this.$$.callbacks[u]=[]);return t.push(e),()=>{const a=t.indexOf(e);a!==-1&&t.splice(a,1)}}$set(u){this.$$set&&!zr(u)&&(this.$$.skip_bound=!0,this.$$set(u),this.$$.skip_bound=!1)}},Xr="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Xr);function Ou(u,e,t){const a=u.slice();return a[9]=e[t][0],a[10]=e[t][1],a}function Qr(u){let e,t,a,r,l,s=u[0]&&Uu();return{c(){s&&s.c(),e=p(),t=T("div"),a=T("p"),a.textContent=`${u[3](30)}`,r=p(),l=T("p"),l.textContent=`${u[3](40)}`,h(a,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),h(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),h(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(n,i){s&&s.m(n,i),b(n,e,i),b(n,t,i),g(t,a),g(t,r),g(t,l)},p(n,i){n[0]?s||(s=Uu(),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null)},d(n){n&&(R(e),R(t)),s&&s.d(n)}}}function $r(u){let e,t,a,r,l=u[1].meta?.title+"",s,n,i,C,E=u[1].excerpt+"",B,_=u[0]&&zu(u),d=u[2].length&&xu(u);return{c(){_&&_.c(),e=p(),t=T("div"),a=T("p"),r=T("a"),s=N(l),i=p(),C=T("p"),B=p(),d&&d.c(),h(r,"class","pagefind-ui__result-link svelte-j9e30"),h(r,"href",n=u[1].meta?.url||u[1].url),h(a,"class","pagefind-ui__result-title svelte-j9e30"),h(C,"class","pagefind-ui__result-excerpt svelte-j9e30"),h(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(o,c){_&&_.m(o,c),b(o,e,c),b(o,t,c),g(t,a),g(a,r),g(r,s),g(t,i),g(t,C),C.innerHTML=E,g(t,B),d&&d.m(t,null)},p(o,c){o[0]?_?_.p(o,c):(_=zu(o),_.c(),_.m(e.parentNode,e)):_&&(_.d(1),_=null),c&2&&l!==(l=o[1].meta?.title+"")&&z(s,l),c&2&&n!==(n=o[1].meta?.url||o[1].url)&&h(r,"href",n),c&2&&E!==(E=o[1].excerpt+"")&&(C.innerHTML=E),o[2].length?d?d.p(o,c):(d=xu(o),d.c(),d.m(t,null)):d&&(d.d(1),d=null)},d(o){o&&(R(e),R(t)),_&&_.d(o),d&&d.d()}}}function Uu(u){let e;return{c(){e=T("div"),h(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,a){b(t,e,a)},d(t){t&&R(e)}}}function zu(u){let e,t=u[1].meta.image&&wu(u);return{c(){e=T("div"),t&&t.c(),h(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(a,r){b(a,e,r),t&&t.m(e,null)},p(a,r){a[1].meta.image?t?t.p(a,r):(t=wu(a),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(a){a&&R(e),t&&t.d()}}}function wu(u){let e,t,a;return{c(){e=T("img"),h(e,"class","pagefind-ui__result-image svelte-j9e30"),_u(e.src,t=u[1].meta?.image)||h(e,"src",t),h(e,"alt",a=u[1].meta?.image_alt||u[1].meta?.title)},m(r,l){b(r,e,l)},p(r,l){l&2&&!_u(e.src,t=r[1].meta?.image)&&h(e,"src",t),l&2&&a!==(a=r[1].meta?.image_alt||r[1].meta?.title)&&h(e,"alt",a)},d(r){r&&R(e)}}}function xu(u){let e,t=j(u[2]),a=[];for(let r=0;ru.toLocaleUpperCase();function es(u,e,t){let{show_images:a=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e;const s=["title","image","image_alt","url"];let n,i=[];const C=(_,d)=>{if(!_||/^[a-z][a-z0-9+.-]*:/i.test(_)||/^\/\//.test(_)||_.startsWith("/"))return _;try{return new URL(_,new URL(d||"/","https://p")).pathname}catch{return _}},E=async _=>{t(1,n=await _.data()),t(1,n=r?.(n)??n),n.meta?.image&&t(1,n={...n,meta:{...n.meta,image:C(n.meta.image,n.meta.url||n.url)}}),t(2,i=Object.entries(n.meta).filter(([d])=>!s.includes(d)))},B=(_=30)=>". ".repeat(Math.floor(10+Math.random()*_));return u.$$set=_=>{"show_images"in _&&t(0,a=_.show_images),"process_result"in _&&t(4,r=_.process_result),"result"in _&&t(5,l=_.result)},u.$$.update=()=>{u.$$.dirty&32&&E(l)},[a,n,i,B,r,l]}var ts=class extends fu{constructor(u){super(),Bu(this,u,es,us,cu,{show_images:0,process_result:4,result:5})}},as=ts;function Lu(u,e,t){const a=u.slice();return a[11]=e[t][0],a[12]=e[t][1],a}function Pu(u,e,t){const a=u.slice();return a[15]=e[t],a}function rs(u){let e,t,a,r,l,s=u[0]&&qu();return{c(){s&&s.c(),e=p(),t=T("div"),a=T("p"),a.textContent=`${u[5](30)}`,r=p(),l=T("p"),l.textContent=`${u[5](40)}`,h(a,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),h(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),h(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(n,i){s&&s.m(n,i),b(n,e,i),b(n,t,i),g(t,a),g(t,r),g(t,l)},p(n,i){n[0]?s||(s=qu(),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null)},d(n){n&&(R(e),R(t)),s&&s.d(n)}}}function ss(u){let e,t,a,r,l=u[1].meta?.title+"",s,n,i,C,E,B=u[0]&&Ku(u),_=u[4]&&Gu(u),d=j(u[3]),o=[];for(let m=0;mu.toLocaleUpperCase();function ns(u,e,t){let{show_images:a=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e;const s=["title","image","image_alt","url"];let n,i=[],C=[],E=!1;const B=(o,c)=>{if(o.length<=c)return o;const m=[...o].sort((A,k)=>k.locations.length-A.locations.length).slice(0,3).map(A=>A.url);return o.filter(A=>m.includes(A.url))},_=async o=>{t(1,n=await o.data()),t(1,n=r?.(n)??n),t(2,i=Object.entries(n.meta).filter(([c])=>!s.includes(c))),Array.isArray(n.sub_results)&&(t(4,E=n.sub_results?.[0]?.url===(n.meta?.url||n.url)),E?t(3,C=B(n.sub_results.slice(1),3)):t(3,C=B([...n.sub_results],3)))},d=(o=30)=>". ".repeat(Math.floor(10+Math.random()*o));return u.$$set=o=>{"show_images"in o&&t(0,a=o.show_images),"process_result"in o&&t(6,r=o.process_result),"result"in o&&t(7,l=o.result)},u.$$.update=()=>{u.$$.dirty&128&&_(l)},[a,n,i,C,E,d,r,l]}var is=class extends fu{constructor(u){super(),Bu(this,u,ns,ls,cu,{show_images:0,process_result:6,result:7})}},os=is;function Xu(u,e,t){const a=u.slice();return a[10]=e[t][0],a[11]=e[t][1],a[12]=e,a[13]=t,a}function Qu(u,e,t){const a=u.slice();return a[14]=e[t][0],a[15]=e[t][1],a[16]=e,a[17]=t,a}function $u(u){let e,t,a=u[4]("filters_label",u[5],u[6])+"",r,l,s=j(Object.entries(u[1])),n=[];for(let i=0;iu.toLocaleUpperCase(),re=u=>u.toLowerCase();function Es(u,e,t){let{available_filters:a=null}=e,{show_empty_filters:r=!0}=e,{open_filters:l=[]}=e,{translate:s=()=>""}=e,{automatic_translations:n={}}=e,{translations:i={}}=e,{selected_filters:C={}}=e,E=!1,B=!1;function _(d,o){C[`${d}:${o}`]=this.checked,t(0,C)}return u.$$set=d=>{"available_filters"in d&&t(1,a=d.available_filters),"show_empty_filters"in d&&t(2,r=d.show_empty_filters),"open_filters"in d&&t(3,l=d.open_filters),"translate"in d&&t(4,s=d.translate),"automatic_translations"in d&&t(5,n=d.automatic_translations),"translations"in d&&t(6,i=d.translations),"selected_filters"in d&&t(0,C=d.selected_filters)},u.$$.update=()=>{if(u.$$.dirty&258&&a&&!E){t(8,E=!0);let d=Object.entries(a||{});d.length===1&&Object.entries(d[0][1])?.length<=6&&t(7,B=!0)}},[C,a,r,l,s,n,i,B,E,_]}var cs=class extends fu{constructor(u){super(),Bu(this,u,Es,_s,cu,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},Cs=cs,de={};D(de,{comments:()=>fe,default:()=>ds,direction:()=>he,strings:()=>me,thanks_to:()=>Be});var Be="Jan Claasen ",fe="",he="ltr",me={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",total_zero_results:"Geen resultate",total_one_result:"[COUNT] resultaat",total_many_results:"[COUNT] resultate",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]",results_label:"Soekresultate",keyboard_navigate:"navigeer",keyboard_select:"kies",keyboard_clear:"wis",keyboard_close:"sluit",keyboard_search:"soek",error_search:"Soek het misluk",filter_selected_one:"[COUNT] gekies",filter_selected_many:"[COUNT] gekies",input_hint:"Resultate sal verskyn terwyl jy tik",loading:"Laai"},ds={thanks_to:Be,comments:fe,direction:he,strings:me},Ae={};D(Ae,{comments:()=>ke,default:()=>Bs,direction:()=>Te,strings:()=>Fe,thanks_to:()=>ge});var ge="Jermanuts",ke="",Te="rtl",Fe={placeholder:"بحث",clear_search:"امسح",load_more:"حمِّل المزيد من النتائج",search_label:"ابحث في هذا الموقع",filters_label:"تصفيات",zero_results:"لا توجد نتائج ل [SEARCH_TERM]",many_results:"[COUNT] نتائج ل [SEARCH_TERM]",one_result:"[COUNT] نتيجة ل [SEARCH_TERM]",total_zero_results:"لا توجد نتائج",total_one_result:"[COUNT] نتيجة",total_many_results:"[COUNT] نتائج",alt_search:"لا توجد نتائج ل [SEARCH_TERM]. يعرض النتائج ل [DIFFERENT_TERM] بدلاً من ذلك",search_suggestion:"لا توجد نتائج ل [SEARCH_TERM]. جرب أحد عمليات البحث التالية:",searching:"يبحث عن [SEARCH_TERM]...",results_label:"نتائج البحث",keyboard_navigate:"تنقل",keyboard_select:"اختيار",keyboard_clear:"امسح",keyboard_close:"إغلاق",keyboard_search:"بحث",error_search:"فشل البحث",filter_selected_one:"[COUNT] محدد",filter_selected_many:"[COUNT] محدد",input_hint:"ستظهر النتائج أثناء الكتابة",loading:"جارٍ التحميل"},Bs={thanks_to:ge,comments:ke,direction:Te,strings:Fe},Re={};D(Re,{comments:()=>be,default:()=>fs,direction:()=>ve,strings:()=>pe,thanks_to:()=>De});var De="Maruf Alom ",be="",ve="ltr",pe={placeholder:"অনুসন্ধান করুন",clear_search:"মুছে ফেলুন",load_more:"আরো ফলাফল দেখুন",search_label:"এই ওয়েবসাইটে অনুসন্ধান করুন",filters_label:"ফিল্টার",zero_results:"[SEARCH_TERM] এর জন্য কিছু খুঁজে পাওয়া যায়নি",many_results:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",one_result:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",total_zero_results:"কোন ফলাফল নেই",total_one_result:"[COUNT]-টি ফলাফল",total_many_results:"[COUNT]-টি ফলাফল",alt_search:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর জন্য. পরিবর্তে [DIFFERENT_TERM] এর জন্য দেখানো হচ্ছে",search_suggestion:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর বিষয়ে. নিন্মের বিষয়বস্তু খুঁজে দেখুন:",searching:"অনুসন্ধান চলছে [SEARCH_TERM]...",results_label:"অনুসন্ধানের ফলাফল",keyboard_navigate:"নেভিগেট",keyboard_select:"নির্বাচন",keyboard_clear:"মুছুন",keyboard_close:"বন্ধ",keyboard_search:"অনুসন্ধান",error_search:"অনুসন্ধান ব্যর্থ",filter_selected_one:"[COUNT]-টি নির্বাচিত",filter_selected_many:"[COUNT]-টি নির্বাচিত",input_hint:"টাইপ করার সাথে সাথে ফলাফল দেখা যাবে",loading:"লোড হচ্ছে"},fs={thanks_to:De,comments:be,direction:ve,strings:pe},ye={};D(ye,{comments:()=>Se,default:()=>hs,direction:()=>Me,strings:()=>He,thanks_to:()=>Ne});var Ne="Pablo Villaverde ",Se="",Me="ltr",He={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure més resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",total_zero_results:"Sense resultats",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultats",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques següents:",searching:"Cercant [SEARCH_TERM]...",results_label:"Resultats de la cerca",keyboard_navigate:"navegar",keyboard_select:"triar",keyboard_clear:"netejar",keyboard_close:"tancar",keyboard_search:"cercar",error_search:"Error en la cerca",filter_selected_one:"[COUNT] seleccionat",filter_selected_many:"[COUNT] seleccionats",input_hint:"Els resultats apareixeran mentre escriviu",loading:"Carregant"},hs={thanks_to:Ne,comments:Se,direction:Me,strings:He},Oe={};D(Oe,{comments:()=>ze,default:()=>ms,direction:()=>we,strings:()=>xe,thanks_to:()=>Ue});var Ue="Dalibor Hon ",ze="",we="ltr",xe={placeholder:"Hledat",clear_search:"Smazat",load_more:"Načíst další výsledky",search_label:"Prohledat tuto stránku",filters_label:"Filtry",zero_results:"Žádné výsledky pro [SEARCH_TERM]",many_results:"[COUNT] výsledků pro [SEARCH_TERM]",one_result:"[COUNT] výsledek pro [SEARCH_TERM]",total_zero_results:"Žádné výsledky",total_one_result:"[COUNT] výsledek",total_many_results:"[COUNT] výsledků",alt_search:"Žádné výsledky pro [SEARCH_TERM]. Zobrazují se výsledky pro [DIFFERENT_TERM]",search_suggestion:"Žádné výsledky pro [SEARCH_TERM]. Související výsledky hledání:",searching:"Hledám [SEARCH_TERM]...",results_label:"Výsledky hledání",keyboard_navigate:"navigovat",keyboard_select:"vybrat",keyboard_clear:"smazat",keyboard_close:"zavřít",keyboard_search:"hledat",error_search:"Hledání selhalo",filter_selected_one:"[COUNT] vybraný",filter_selected_many:"[COUNT] vybraných",input_hint:"Výsledky se zobrazí během psaní",loading:"Načítání"},ms={thanks_to:Ue,comments:ze,direction:we,strings:xe},je={};D(je,{comments:()=>Le,default:()=>As,direction:()=>Pe,strings:()=>qe,thanks_to:()=>Ie});var Ie="Jonas Smedegaard ",Le="",Pe="ltr",qe={placeholder:"Søg",clear_search:"Nulstil",load_more:"Indlæs flere resultater",search_label:"Søg på dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv et af disse søgeord i stedet:",searching:"Søger efter [SEARCH_TERM]...",results_label:"Søgeresultater",keyboard_navigate:"naviger",keyboard_select:"vælg",keyboard_clear:"ryd",keyboard_close:"luk",keyboard_search:"søg",error_search:"Søgning mislykkedes",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Indlæser"},As={thanks_to:Ie,comments:Le,direction:Pe,strings:qe},Ke={};D(Ke,{comments:()=>Ge,default:()=>gs,direction:()=>We,strings:()=>Je,thanks_to:()=>Ve});var Ve="Jan Claasen ",Ge="",We="ltr",Je={placeholder:"Suche",clear_search:"Löschen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse für [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse für [SEARCH_TERM]",one_result:"[COUNT] Ergebnis für [SEARCH_TERM]",total_zero_results:"Keine Ergebnisse",total_one_result:"[COUNT] Ergebnis",total_many_results:"[COUNT] Ergebnisse",alt_search:"Keine Ergebnisse für [SEARCH_TERM]. Stattdessen werden Ergebnisse für [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse für [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche nach [SEARCH_TERM] …",results_label:"Suchergebnisse",keyboard_navigate:"navigieren",keyboard_select:"auswählen",keyboard_clear:"löschen",keyboard_close:"schließen",keyboard_search:"suchen",error_search:"Suche fehlgeschlagen",filter_selected_one:"[COUNT] ausgewählt",filter_selected_many:"[COUNT] ausgewählt",input_hint:"Ergebnisse werden während der Eingabe angezeigt",loading:"Wird geladen"},gs={thanks_to:Ve,comments:Ge,direction:We,strings:Je},Ze={};D(Ze,{comments:()=>Xe,default:()=>ks,direction:()=>Qe,strings:()=>$e,thanks_to:()=>Ye});var Ye="George Papadopoulos",Xe="",Qe="ltr",$e={placeholder:"Αναζήτηση",clear_search:"Καθαρισμός",load_more:"Φόρτωση περισσότερων αποτελεσμάτων",search_label:"Αναζήτηση σε αυτόν τον ιστότοπο",filters_label:"Φίλτρα",zero_results:"Δεν βρέθηκαν αποτελέσματα για [SEARCH_TERM]",many_results:"[COUNT] αποτελέσματα για [SEARCH_TERM]",one_result:"[COUNT] αποτέλεσμα για [SEARCH_TERM]",total_zero_results:"Δεν βρέθηκαν αποτελέσματα",total_one_result:"[COUNT] αποτέλεσμα",total_many_results:"[COUNT] αποτελέσματα",alt_search:"Δεν βρέθηκαν αποτελέσματα για [SEARCH_TERM]. Εμφανίζονται αποτελέσματα για [DIFFERENT_TERM]",search_suggestion:"Δεν βρέθηκαν αποτελέσματα για [SEARCH_TERM]. Δοκιμάστε μία από τις παρακάτω αναζητήσεις:",searching:"Αναζήτηση για [SEARCH_TERM]...",results_label:"Αποτελέσματα αναζήτησης",keyboard_navigate:"πλοήγηση",keyboard_select:"επιλογή",keyboard_clear:"καθαρισμός",keyboard_close:"κλείσιμο",keyboard_search:"αναζήτηση",error_search:"Η αναζήτηση απέτυχε",filter_selected_one:"[COUNT] επιλεγμένο",filter_selected_many:"[COUNT] επιλεγμένα",input_hint:"Τα αποτελέσματα θα εμφανίζονται καθώς πληκτρολογείτε",loading:"Φόρτωση"},ks={thanks_to:Ye,comments:Xe,direction:Qe,strings:$e},u0={};D(u0,{comments:()=>t0,default:()=>Ts,direction:()=>a0,strings:()=>r0,thanks_to:()=>e0});var e0="Liam Bigelow ",t0="",a0="ltr",r0={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",total_zero_results:"No results",total_one_result:"[COUNT] result",total_many_results:"[COUNT] results",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]...",results_label:"Search results",keyboard_navigate:"navigate",keyboard_select:"select",keyboard_clear:"clear",keyboard_close:"close",keyboard_search:"search",error_search:"Search failed",filter_selected_one:"[COUNT] selected",filter_selected_many:"[COUNT] selected",input_hint:"Results will appear as you type",loading:"Loading"},Ts={thanks_to:e0,comments:t0,direction:a0,strings:r0},s0={};D(s0,{comments:()=>n0,default:()=>Fs,direction:()=>i0,strings:()=>o0,thanks_to:()=>l0});var l0="Pablo Villaverde ",n0="",i0="ltr",o0={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver más resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",total_zero_results:"Sin resultados",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes búsquedas:",searching:"Buscando [SEARCH_TERM]...",results_label:"Resultados de búsqueda",keyboard_navigate:"navegar",keyboard_select:"elegir",keyboard_clear:"limpiar",keyboard_close:"cerrar",keyboard_search:"buscar",error_search:"Error en la búsqueda",filter_selected_one:"[COUNT] seleccionado",filter_selected_many:"[COUNT] seleccionados",input_hint:"Los resultados aparecerán mientras escribe",loading:"Cargando"},Fs={thanks_to:l0,comments:n0,direction:i0,strings:o0},_0={};D(_0,{comments:()=>c0,default:()=>Rs,direction:()=>C0,strings:()=>d0,thanks_to:()=>E0});var E0="Mikel Larreategi ",c0="",C0="ltr",d0={placeholder:"Bilatu",clear_search:"Garbitu",load_more:"Kargatu emaitza gehiagi",search_label:"Bilatu",filters_label:"Iragazkiak",zero_results:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat",many_results:"[COUNT] emaitza [SEARCH_TERM] bilaketarentzat",one_result:"Emaitza bat [COUNT] [SEARCH_TERM] bilaketarentzat",total_zero_results:"Emaitzarik ez",total_one_result:"[COUNT] emaitza",total_many_results:"[COUNT] emaitza",alt_search:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. [DIFFERENT_TERM] bilaketaren emaitzak erakusten",search_suggestion:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. Saiatu hauetako beste bateikin:",searching:"[SEARCH_TERM] bilatzen...",results_label:"Bilaketaren emaitzak",keyboard_navigate:"nabigatu",keyboard_select:"hautatu",keyboard_clear:"garbitu",keyboard_close:"itxi",keyboard_search:"bilatu",error_search:"Bilaketak huts egin du",filter_selected_one:"[COUNT] hautatuta",filter_selected_many:"[COUNT] hautatuta",input_hint:"Emaitzak idatzi ahala agertuko dira",loading:"Kargatzen"},Rs={thanks_to:E0,comments:c0,direction:C0,strings:d0},B0={};D(B0,{comments:()=>h0,default:()=>Ds,direction:()=>m0,strings:()=>A0,thanks_to:()=>f0});var f0="Ali Khaleqi Yekta ",h0="",m0="rtl",A0={placeholder:"جستجو",clear_search:"پاکسازی",load_more:"بارگذاری نتایج بیشتر",search_label:"جستجو در سایت",filters_label:"فیلترها",zero_results:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد",many_results:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",one_result:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",total_zero_results:"نتیجه‌ای یافت نشد",total_one_result:"[COUNT] نتیجه",total_many_results:"[COUNT] نتیجه",alt_search:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. در عوض نتایج برای [DIFFERENT_TERM] نمایش داده می‌شود",search_suggestion:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. یکی از جستجوهای زیر را امتحان کنید:",searching:"در حال جستجوی [SEARCH_TERM]...",results_label:"نتایج جستجو",keyboard_navigate:"پیمایش",keyboard_select:"انتخاب",keyboard_clear:"پاکسازی",keyboard_close:"بستن",keyboard_search:"جستجو",error_search:"جستجو ناموفق بود",filter_selected_one:"[COUNT] انتخاب شده",filter_selected_many:"[COUNT] انتخاب شده",input_hint:"نتایج هنگام تایپ نمایش داده می‌شوند",loading:"در حال بارگذاری"},Ds={thanks_to:f0,comments:h0,direction:m0,strings:A0},g0={};D(g0,{comments:()=>T0,default:()=>bs,direction:()=>F0,strings:()=>R0,thanks_to:()=>k0});var k0="Valtteri Laitinen ",T0="",F0="ltr",R0={placeholder:"Haku",clear_search:"Tyhjennä",load_more:"Lataa lisää tuloksia",search_label:"Hae tältä sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",total_zero_results:"Ei tuloksia",total_one_result:"[COUNT] tulos",total_many_results:"[COUNT] tulosta",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. Näytetään tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]...",results_label:"Hakutulokset",keyboard_navigate:"siirry",keyboard_select:"valitse",keyboard_clear:"tyhjennä",keyboard_close:"sulje",keyboard_search:"hae",error_search:"Haku epäonnistui",filter_selected_one:"[COUNT] valittu",filter_selected_many:"[COUNT] valittu",input_hint:"Tulokset näkyvät kirjoittaessasi",loading:"Ladataan"},bs={thanks_to:k0,comments:T0,direction:F0,strings:R0},D0={};D(D0,{comments:()=>v0,default:()=>vs,direction:()=>p0,strings:()=>y0,thanks_to:()=>b0});var b0="Nicolas Friedli ",v0="",p0="ltr",y0={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de résultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de résultat pour [SEARCH_TERM]",many_results:"[COUNT] résultats pour [SEARCH_TERM]",one_result:"[COUNT] résultat pour [SEARCH_TERM]",total_zero_results:"Pas de résultat",total_one_result:"[COUNT] résultat",total_many_results:"[COUNT] résultats",alt_search:"Pas de résultat pour [SEARCH_TERM]. Montre les résultats pour [DIFFERENT_TERM] à la place",search_suggestion:"Pas de résultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]...",results_label:"Résultats de recherche",keyboard_navigate:"naviguer",keyboard_select:"choisir",keyboard_clear:"effacer",keyboard_close:"fermer",keyboard_search:"rechercher",error_search:"Échec de la recherche",filter_selected_one:"[COUNT] sélectionné",filter_selected_many:"[COUNT] sélectionnés",input_hint:"Les résultats apparaîtront au fur et à mesure de la saisie",loading:"Chargement"},vs={thanks_to:b0,comments:v0,direction:p0,strings:y0},N0={};D(N0,{comments:()=>M0,default:()=>ps,direction:()=>H0,strings:()=>O0,thanks_to:()=>S0});var S0="Pablo Villaverde ",M0="",H0="ltr",O0={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver máis resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",total_zero_results:"Sen resultados",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]...",results_label:"Resultados da busca",keyboard_navigate:"navegar",keyboard_select:"escoller",keyboard_clear:"limpar",keyboard_close:"pechar",keyboard_search:"buscar",error_search:"Erro na busca",filter_selected_one:"[COUNT] seleccionado",filter_selected_many:"[COUNT] seleccionados",input_hint:"Os resultados aparecerán mentres escribe",loading:"Cargando"},ps={thanks_to:S0,comments:M0,direction:H0,strings:O0},U0={};D(U0,{comments:()=>w0,default:()=>ys,direction:()=>x0,strings:()=>j0,thanks_to:()=>z0});var z0="Nir Tamir ",w0="",x0="rtl",j0={placeholder:"חיפוש",clear_search:"ניקוי",load_more:"עוד תוצאות",search_label:"חיפוש באתר זה",filters_label:"מסננים",zero_results:"לא נמצאו תוצאות עבור [SEARCH_TERM]",many_results:"נמצאו [COUNT] תוצאות עבור [SEARCH_TERM]",one_result:"נמצאה תוצאה אחת עבור [SEARCH_TERM]",total_zero_results:"לא נמצאו תוצאות",total_one_result:"תוצאה [COUNT]",total_many_results:"[COUNT] תוצאות",alt_search:"לא נמצאו תוצאות עבור [SEARCH_TERM]. מוצגות תוצאות עבור [DIFFERENT_TERM]",search_suggestion:"לא נמצאו תוצאות עבור [SEARCH_TERM]. נסו אחד מהחיפושים הבאים:",searching:"מחפש את [SEARCH_TERM]...",results_label:"תוצאות חיפוש",keyboard_navigate:"ניווט",keyboard_select:"בחירה",keyboard_clear:"ניקוי",keyboard_close:"סגירה",keyboard_search:"חיפוש",error_search:"החיפוש נכשל",filter_selected_one:"[COUNT] נבחר",filter_selected_many:"[COUNT] נבחרו",input_hint:"התוצאות יופיעו תוך כדי הקלדה",loading:"טוען"},ys={thanks_to:z0,comments:w0,direction:x0,strings:j0},I0={};D(I0,{comments:()=>P0,default:()=>Ns,direction:()=>q0,strings:()=>K0,thanks_to:()=>L0});var L0="Amit Yadav ",P0="",q0="ltr",K0={placeholder:"खोजें",clear_search:"साफ करें",load_more:"और अधिक परिणाम लोड करें",search_label:"इस साइट में खोजें",filters_label:"फ़िल्टर",zero_results:"कोई परिणाम [SEARCH_TERM] के लिए नहीं मिला",many_results:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिले",one_result:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिला",total_zero_results:"कोई परिणाम नहीं",total_one_result:"[COUNT] परिणाम",total_many_results:"[COUNT] परिणाम",alt_search:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। इसके बजाय [DIFFERENT_TERM] के लिए परिणाम दिखा रहा है",search_suggestion:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। निम्नलिखित खोजों में से कोई एक आज़माएं:",searching:"[SEARCH_TERM] की खोज की जा रही है...",results_label:"खोज परिणाम",keyboard_navigate:"नेविगेट",keyboard_select:"चुनें",keyboard_clear:"साफ़ करें",keyboard_close:"बंद करें",keyboard_search:"खोजें",error_search:"खोज विफल",filter_selected_one:"[COUNT] चयनित",filter_selected_many:"[COUNT] चयनित",input_hint:"टाइप करते समय परिणाम दिखाई देंगे",loading:"लोड हो रहा है"},Ns={thanks_to:L0,comments:P0,direction:q0,strings:K0},V0={};D(V0,{comments:()=>W0,default:()=>Ss,direction:()=>J0,strings:()=>Z0,thanks_to:()=>G0});var G0="Diomed ",W0="",J0="ltr",Z0={placeholder:"Traži",clear_search:"Očisti",load_more:"Učitaj više rezultata",search_label:"Pretraži ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",total_zero_results:"Nema rezultata",total_one_result:"[COUNT] rezultat",total_many_results:"[COUNT] rezultata",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Pokušaj s jednom od ovih pretraga:",searching:"Pretražujem [SEARCH_TERM]...",results_label:"Rezultati pretrage",keyboard_navigate:"navigiraj",keyboard_select:"odaberi",keyboard_clear:"očisti",keyboard_close:"zatvori",keyboard_search:"traži",error_search:"Pretraga nije uspjela",filter_selected_one:"[COUNT] odabran",filter_selected_many:"[COUNT] odabranih",input_hint:"Rezultati će se pojaviti dok tipkate",loading:"Učitavanje"},Ss={thanks_to:G0,comments:W0,direction:J0,strings:Z0},Y0={};D(Y0,{comments:()=>Q0,default:()=>Ms,direction:()=>$0,strings:()=>ut,thanks_to:()=>X0});var X0="Adam Laki ",Q0="",$0="ltr",ut={placeholder:"Keresés",clear_search:"Törlés",load_more:"További találatok betöltése",search_label:"Keresés az oldalon",filters_label:"Szűrés",zero_results:"Nincs találat a(z) [SEARCH_TERM] kifejezésre",many_results:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",one_result:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",total_zero_results:"Nincs találat",total_one_result:"[COUNT] találat",total_many_results:"[COUNT] találat",alt_search:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Találatok mutatása inkább a(z) [DIFFERENT_TERM] kifejezésre",search_suggestion:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Próbáld meg a következő keresések egyikét:",searching:"Keresés a(z) [SEARCH_TERM] kifejezésre...",results_label:"Keresési találatok",keyboard_navigate:"navigálás",keyboard_select:"kiválasztás",keyboard_clear:"törlés",keyboard_close:"bezárás",keyboard_search:"keresés",error_search:"A keresés sikertelen",filter_selected_one:"[COUNT] kiválasztva",filter_selected_many:"[COUNT] kiválasztva",input_hint:"A találatok gépelés közben jelennek meg",loading:"Betöltés"},Ms={thanks_to:X0,comments:Q0,direction:$0,strings:ut},et={};D(et,{comments:()=>at,default:()=>Hs,direction:()=>rt,strings:()=>st,thanks_to:()=>tt});var tt="Nixentric",at="",rt="ltr",st={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",total_zero_results:"Tidak ada hasil",total_one_result:"[COUNT] hasil",total_many_results:"[COUNT] hasil",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]...",results_label:"Hasil pencarian",keyboard_navigate:"navigasi",keyboard_select:"pilih",keyboard_clear:"bersihkan",keyboard_close:"tutup",keyboard_search:"cari",error_search:"Pencarian gagal",filter_selected_one:"[COUNT] dipilih",filter_selected_many:"[COUNT] dipilih",input_hint:"Hasil akan muncul saat Anda mengetik",loading:"Memuat"},Hs={thanks_to:tt,comments:at,direction:rt,strings:st},lt={};D(lt,{comments:()=>it,default:()=>Os,direction:()=>ot,strings:()=>_t,thanks_to:()=>nt});var nt="Cosette Bruhns Alonso, Andrew Janco ",it="",ot="ltr",_t={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra più risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",total_zero_results:"Nessun risultato",total_one_result:"[COUNT] risultato",total_many_results:"[COUNT] risultati",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]...",results_label:"Risultati della ricerca",keyboard_navigate:"naviga",keyboard_select:"seleziona",keyboard_clear:"cancella",keyboard_close:"chiudi",keyboard_search:"cerca",error_search:"Ricerca fallita",filter_selected_one:"[COUNT] selezionato",filter_selected_many:"[COUNT] selezionati",input_hint:"I risultati appariranno durante la digitazione",loading:"Caricamento"},Os={thanks_to:nt,comments:it,direction:ot,strings:_t},Et={};D(Et,{comments:()=>Ct,default:()=>Us,direction:()=>dt,strings:()=>Bt,thanks_to:()=>ct});var ct="Tate",Ct="",dt="ltr",Bt={placeholder:"検索",clear_search:"クリア",load_more:"次を読み込む",search_label:"このサイトを検索",filters_label:"フィルタ",zero_results:"[SEARCH_TERM]の検索に一致する情報はありませんでした",many_results:"[SEARCH_TERM]の[COUNT]件の検索結果",one_result:"[SEARCH_TERM]の[COUNT]件の検索結果",total_zero_results:"結果なし",total_one_result:"[COUNT]件の結果",total_many_results:"[COUNT]件の結果",alt_search:"[SEARCH_TERM]の検索に一致する情報はありませんでした。[DIFFERENT_TERM]の検索結果を表示しています",search_suggestion:"[SEARCH_TERM]の検索に一致する情報はありませんでした。次のいずれかの検索を試してください",searching:"[SEARCH_TERM]を検索しています",results_label:"検索結果",keyboard_navigate:"移動",keyboard_select:"選択",keyboard_clear:"クリア",keyboard_close:"閉じる",keyboard_search:"検索",error_search:"検索に失敗しました",filter_selected_one:"[COUNT]件選択中",filter_selected_many:"[COUNT]件選択中",input_hint:"入力中に検索結果が表示されます",loading:"読み込み中"},Us={thanks_to:ct,comments:Ct,direction:dt,strings:Bt},ft={};D(ft,{comments:()=>mt,default:()=>zs,direction:()=>At,strings:()=>gt,thanks_to:()=>ht});var ht="Seokho Son ",mt="",At="ltr",gt={placeholder:"검색어",clear_search:"비우기",load_more:"검색 결과 더 보기",search_label:"사이트 검색",filters_label:"필터",zero_results:"[SEARCH_TERM]에 대한 결과 없음",many_results:"[SEARCH_TERM]에 대한 결과 [COUNT]건",one_result:"[SEARCH_TERM]에 대한 결과 [COUNT]건",total_zero_results:"결과 없음",total_one_result:"결과 [COUNT]건",total_many_results:"결과 [COUNT]건",alt_search:"[SEARCH_TERM]에 대한 결과 없음. [DIFFERENT_TERM]에 대한 결과",search_suggestion:"[SEARCH_TERM]에 대한 결과 없음. 추천 검색어: ",searching:"[SEARCH_TERM] 검색 중...",results_label:"검색 결과",keyboard_navigate:"이동",keyboard_select:"선택",keyboard_clear:"비우기",keyboard_close:"닫기",keyboard_search:"검색",error_search:"검색 실패",filter_selected_one:"[COUNT]개 선택됨",filter_selected_many:"[COUNT]개 선택됨",input_hint:"입력하는 동안 결과가 표시됩니다",loading:"로딩 중"},zs={thanks_to:ht,comments:mt,direction:At,strings:gt},kt={};D(kt,{comments:()=>Ft,default:()=>ws,direction:()=>Rt,strings:()=>Dt,thanks_to:()=>Tt});var Tt="",Ft="",Rt="ltr",Dt={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta ētahi otinga kē",search_label:"Rapu",filters_label:"Tātari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",total_zero_results:"Kāore he otinga",total_one_result:"[COUNT] otinga",total_many_results:"[COUNT] ngā otinga",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga kē ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakamātau ki ngā mea atu:",searching:"Rapu ki [SEARCH_TERM]...",results_label:"Ngā otinga rapu",keyboard_navigate:"whakatere",keyboard_select:"tīpako",keyboard_clear:"whakakore",keyboard_close:"kati",keyboard_search:"rapu",error_search:"Kāore i eke te rapu",filter_selected_one:"[COUNT] kua tīpakohia",filter_selected_many:"[COUNT] kua tīpakohia",input_hint:"Ka puta ngā otinga i a koe e patopato ana",loading:"E uta ana"},ws={thanks_to:Tt,comments:Ft,direction:Rt,strings:Dt},bt={};D(bt,{comments:()=>pt,default:()=>xs,direction:()=>yt,strings:()=>Nt,thanks_to:()=>vt});var vt="Harry Min Khant ",pt="",yt="ltr",Nt={placeholder:"ရှာရန်",clear_search:"ရှာဖွေမှုကို ရှင်းလင်းပါ။",load_more:"နောက်ထပ်ရလဒ်များကို တင်ပါ။",search_label:"ဤဆိုက်တွင်ရှာဖွေပါ။",filters_label:"စစ်ထုတ်မှုများ",zero_results:"[SEARCH_TERM] အတွက် ရလဒ်များ မရှိပါ",many_results:"[SEARCH_TERM] အတွက် ရလဒ် [COUNT] ခု",one_result:"[SEARCH_TERM] အတွက် ရလဒ် [COUNT]",total_zero_results:"ရလဒ်များ မရှိပါ",total_one_result:"ရလဒ် [COUNT] ခု",total_many_results:"ရလဒ် [COUNT] ခု",alt_search:"[SEARCH_TERM] အတွက် ရလဒ်မရှိပါ။ ၎င်းအစား [DIFFERENT_TERM] အတွက် ရလဒ်များကို ပြသသည်။",search_suggestion:"[SEARCH_TERM] အတွက် ရလဒ်မရှိပါ။ အောက်ပါရှာဖွေမှုများထဲမှ တစ်ခုကို စမ်းကြည့်ပါ:",searching:"[SEARCH_TERM] ကို ရှာဖွေနေသည်...",results_label:"ရှာဖွေမှု ရလဒ်များ",keyboard_navigate:"လမ်းညွှန်",keyboard_select:"ရွေးချယ်",keyboard_clear:"ရှင်းလင်း",keyboard_close:"ပိတ်",keyboard_search:"ရှာရန်",error_search:"ရှာဖွေမှု မအောင်မြင်ပါ",filter_selected_one:"[COUNT] ခု ရွေးချယ်ထားသည်",filter_selected_many:"[COUNT] ခု ရွေးချယ်ထားသည်",input_hint:"ရိုက်နေစဉ် ရလဒ်များ ပေါ်လာပါမည်",loading:"တင်နေသည်"},xs={thanks_to:vt,comments:pt,direction:yt,strings:Nt},St={};D(St,{comments:()=>Ht,default:()=>js,direction:()=>Ot,strings:()=>Ut,thanks_to:()=>Mt});var Mt="Eirik Mikkelsen",Ht="",Ot="ltr",Ut={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]",results_label:"Søkeresultater",keyboard_navigate:"naviger",keyboard_select:"velg",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"søk",error_search:"Søk feilet",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Laster"},js={thanks_to:Mt,comments:Ht,direction:Ot,strings:Ut},zt={};D(zt,{comments:()=>xt,default:()=>Is,direction:()=>jt,strings:()=>It,thanks_to:()=>wt});var wt="Paul van Brouwershaven",xt="",jt="ltr",It={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",total_zero_results:"Geen resultaten",total_one_result:"[COUNT] resultaat",total_many_results:"[COUNT] resultaten",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]...",results_label:"Zoekresultaten",keyboard_navigate:"navigeren",keyboard_select:"selecteren",keyboard_clear:"wissen",keyboard_close:"sluiten",keyboard_search:"zoeken",error_search:"Zoeken mislukt",filter_selected_one:"[COUNT] geselecteerd",filter_selected_many:"[COUNT] geselecteerd",input_hint:"Resultaten verschijnen terwijl u typt",loading:"Laden"},Is={thanks_to:wt,comments:xt,direction:jt,strings:It},Lt={};D(Lt,{comments:()=>qt,default:()=>Ls,direction:()=>Kt,strings:()=>Vt,thanks_to:()=>Pt});var Pt="Eirik Mikkelsen",qt="",Kt="ltr",Vt={placeholder:"Søk",clear_search:"Fjern",load_more:"Last fleire resultat",search_label:"Søk på denne sida",filters_label:"Filter",zero_results:"Ingen resultat for [SEARCH_TERM]",many_results:"[COUNT] resultat for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultat",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultat",alt_search:"Ingen resultat for [SEARCH_TERM]. Viser resultat for [DIFFERENT_TERM] i staden",search_suggestion:"Ingen resultat for [SEARCH_TERM]. Prøv eitt av desse søkeorda i staden:",searching:"Søker etter [SEARCH_TERM]",results_label:"Søkeresultat",keyboard_navigate:"naviger",keyboard_select:"vel",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"søk",error_search:"Søk feila",filter_selected_one:"[COUNT] vald",filter_selected_many:"[COUNT] valde",input_hint:"Resultat visast medan du skriv",loading:"Lastar"},Ls={thanks_to:Pt,comments:qt,direction:Kt,strings:Vt},Gt={};D(Gt,{comments:()=>Jt,default:()=>Ps,direction:()=>Zt,strings:()=>Yt,thanks_to:()=>Wt});var Wt="Christopher Wingate",Jt="",Zt="ltr",Yt={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]",results_label:"Søkeresultater",keyboard_navigate:"naviger",keyboard_select:"velg",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"søk",error_search:"Søk feilet",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Laster"},Ps={thanks_to:Wt,comments:Jt,direction:Zt,strings:Yt},Xt={};D(Xt,{comments:()=>$t,default:()=>qs,direction:()=>ua,strings:()=>ea,thanks_to:()=>Qt});var Qt="",$t="",ua="ltr",ea={placeholder:"Szukaj",clear_search:"Wyczyść",load_more:"Załaduj więcej",search_label:"Przeszukaj tę stronę",filters_label:"Filtry",zero_results:"Brak wyników dla [SEARCH_TERM]",many_results:"[COUNT] wyników dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",total_zero_results:"Brak wyników",total_one_result:"[COUNT] wynik",total_many_results:"[COUNT] wyników",alt_search:"Brak wyników dla [SEARCH_TERM]. Wyświetlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wyników dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]...",results_label:"Wyniki wyszukiwania",keyboard_navigate:"nawiguj",keyboard_select:"wybierz",keyboard_clear:"wyczyść",keyboard_close:"zamknij",keyboard_search:"szukaj",error_search:"Wyszukiwanie nie powiodło się",filter_selected_one:"[COUNT] wybrany",filter_selected_many:"[COUNT] wybranych",input_hint:"Wyniki pojawią się podczas pisania",loading:"Ładowanie"},qs={thanks_to:Qt,comments:$t,direction:ua,strings:ea},ta={};D(ta,{comments:()=>ra,default:()=>Ks,direction:()=>sa,strings:()=>la,thanks_to:()=>aa});var aa="Jonatah",ra="",sa="ltr",la={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",total_zero_results:"Nenhum resultado",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]...",results_label:"Resultados da pesquisa",keyboard_navigate:"navegar",keyboard_select:"selecionar",keyboard_clear:"limpar",keyboard_close:"fechar",keyboard_search:"pesquisar",error_search:"Falha na pesquisa",filter_selected_one:"[COUNT] selecionado",filter_selected_many:"[COUNT] selecionados",input_hint:"Os resultados aparecerão enquanto você digita",loading:"Carregando"},Ks={thanks_to:aa,comments:ra,direction:sa,strings:la},na={};D(na,{comments:()=>oa,default:()=>Vs,direction:()=>_a,strings:()=>Ea,thanks_to:()=>ia});var ia="Bogdan Mateescu ",oa="",_a="ltr",Ea={placeholder:"Căutare",clear_search:"Ştergeţi",load_more:"Încărcați mai multe rezultate",search_label:"Căutați în acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",total_zero_results:"Niciun rezultat",total_one_result:"[COUNT] rezultat",total_many_results:"[COUNT] rezultate",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afișează în schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. Încercați una dintre următoarele căutări:",searching:"Se caută după: [SEARCH_TERM]...",results_label:"Rezultatele căutării",keyboard_navigate:"navigare",keyboard_select:"selectare",keyboard_clear:"ștergere",keyboard_close:"închidere",keyboard_search:"căutare",error_search:"Căutarea a eșuat",filter_selected_one:"[COUNT] selectat",filter_selected_many:"[COUNT] selectate",input_hint:"Rezultatele vor apărea pe măsură ce tastați",loading:"Se încarcă"},Vs={thanks_to:ia,comments:oa,direction:_a,strings:Ea},ca={};D(ca,{comments:()=>da,default:()=>Gs,direction:()=>Ba,strings:()=>fa,thanks_to:()=>Ca});var Ca="Aleksandr Gordeev",da="",Ba="ltr",fa={placeholder:"Поиск",clear_search:"Очистить поле",load_more:"Загрузить еще",search_label:"Поиск по сайту",filters_label:"Фильтры",zero_results:"Ничего не найдено по запросу: [SEARCH_TERM]",many_results:"[COUNT] результатов по запросу: [SEARCH_TERM]",one_result:"[COUNT] результат по запросу: [SEARCH_TERM]",total_zero_results:"Ничего не найдено",total_one_result:"[COUNT] результат",total_many_results:"[COUNT] результатов",alt_search:"Ничего не найдено по запросу: [SEARCH_TERM]. Показаны результаты по запросу: [DIFFERENT_TERM]",search_suggestion:"Ничего не найдено по запросу: [SEARCH_TERM]. Попробуйте один из следующих вариантов",searching:"Поиск по запросу: [SEARCH_TERM]",results_label:"Результаты поиска",keyboard_navigate:"навигация",keyboard_select:"выбрать",keyboard_clear:"очистить",keyboard_close:"закрыть",keyboard_search:"поиск",error_search:"Ошибка поиска",filter_selected_one:"[COUNT] выбран",filter_selected_many:"[COUNT] выбрано",input_hint:"Результаты будут появляться по мере ввода",loading:"Загрузка"},Gs={thanks_to:Ca,comments:da,direction:Ba,strings:fa},ha={};D(ha,{comments:()=>Aa,default:()=>Ws,direction:()=>ga,strings:()=>ka,thanks_to:()=>ma});var ma="Andrija Sagicc",Aa="",ga="ltr",ka={placeholder:"Претрага",clear_search:"Брисање",load_more:"Приказ више резултата",search_label:"Претрага сајта",filters_label:"Филтери",zero_results:"Нема резултата за [SEARCH_TERM]",many_results:"[COUNT] резултата за [SEARCH_TERM]",one_result:"[COUNT] резултата за [SEARCH_TERM]",total_zero_results:"Нема резултата",total_one_result:"[COUNT] резултат",total_many_results:"[COUNT] резултата",alt_search:"Нема резултата за [SEARCH_TERM]. Приказ додатник резултата за [DIFFERENT_TERM]",search_suggestion:"Нема резултата за [SEARCH_TERM]. Покушајте са неком од следећих претрага:",searching:"Претрага термина [SEARCH_TERM]...",results_label:"Резултати претраге",keyboard_navigate:"навигација",keyboard_select:"изабери",keyboard_clear:"обриши",keyboard_close:"затвори",keyboard_search:"претрага",error_search:"Претрага није успела",filter_selected_one:"[COUNT] изабран",filter_selected_many:"[COUNT] изабраних",input_hint:"Резултати ће се појављивати док куцате",loading:"Учитавање"},Ws={thanks_to:ma,comments:Aa,direction:ga,strings:ka},Ta={};D(Ta,{comments:()=>Ra,default:()=>Js,direction:()=>Da,strings:()=>ba,thanks_to:()=>Fa});var Fa="Montazar Al-Jaber ",Ra="",Da="ltr",ba={placeholder:"Sök",clear_search:"Rensa",load_more:"Visa fler träffar",search_label:"Sök på denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga träffar",many_results:"[SEARCH_TERM] gav [COUNT] träffar",one_result:"[SEARCH_TERM] gav [COUNT] träff",total_zero_results:"Inga träffar",total_one_result:"[COUNT] träff",total_many_results:"[COUNT] träffar",alt_search:"[SEARCH_TERM] gav inga träffar. Visar resultat för [DIFFERENT_TERM] istället",search_suggestion:"[SEARCH_TERM] gav inga träffar. Försök igen med en av följande sökord:",searching:"Söker efter [SEARCH_TERM]...",results_label:"Sökresultat",keyboard_navigate:"navigera",keyboard_select:"välj",keyboard_clear:"rensa",keyboard_close:"stäng",keyboard_search:"sök",error_search:"Sökningen misslyckades",filter_selected_one:"[COUNT] vald",filter_selected_many:"[COUNT] valda",input_hint:"Resultat visas medan du skriver",loading:"Läser in"},Js={thanks_to:Fa,comments:Ra,direction:Da,strings:ba},va={};D(va,{comments:()=>ya,default:()=>Zs,direction:()=>Na,strings:()=>Sa,thanks_to:()=>pa});var pa="Anonymous",ya="",Na="ltr",Sa={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",total_zero_results:"Hakuna matokeo",total_one_result:"Tokeo [COUNT]",total_many_results:"Matokeo [COUNT]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]...",results_label:"Matokeo ya utafutaji",keyboard_navigate:"sogeza",keyboard_select:"chagua",keyboard_clear:"futa",keyboard_close:"funga",keyboard_search:"tafuta",error_search:"Utafutaji umeshindwa",filter_selected_one:"[COUNT] imechaguliwa",filter_selected_many:"[COUNT] zimechaguliwa",input_hint:"Matokeo yataonekana unapoandika",loading:"Inapakia"},Zs={thanks_to:pa,comments:ya,direction:Na,strings:Sa},Ma={};D(Ma,{comments:()=>Oa,default:()=>Ys,direction:()=>Ua,strings:()=>za,thanks_to:()=>Ha});var Ha="",Oa="",Ua="ltr",za={placeholder:"தேடுக",clear_search:"அழிக்குக",load_more:"மேலும் முடிவுகளைக் காட்டுக",search_label:"இந்த தளத்தில் தேடுக",filters_label:"வடிகட்டல்கள்",zero_results:"[SEARCH_TERM] க்கான முடிவுகள் இல்லை",many_results:"[SEARCH_TERM] க்கான [COUNT] முடிவுகள்",one_result:"[SEARCH_TERM] க்கான முடிவு",total_zero_results:"முடிவுகள் இல்லை",total_one_result:"[COUNT] முடிவு",total_many_results:"[COUNT] முடிவுகள்",alt_search:"[SEARCH_TERM] இத்தேடலுக்கான முடிவுகள் இல்லை, இந்த தேடல்களுக்கான ஒத்த முடிவுகள் [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] இத் தேடலுக்கான முடிவுகள் இல்லை.இதற்கு பதிலீடான தேடல்களை தேடுக:",searching:"[SEARCH_TERM] தேடப்படுகின்றது",results_label:"தேடல் முடிவுகள்",keyboard_navigate:"வழிநடத்து",keyboard_select:"தேர்ந்தெடு",keyboard_clear:"அழி",keyboard_close:"மூடு",keyboard_search:"தேடு",error_search:"தேடல் தோல்வி",filter_selected_one:"[COUNT] தேர்ந்தெடுக்கப்பட்டது",filter_selected_many:"[COUNT] தேர்ந்தெடுக்கப்பட்டன",input_hint:"நீங்கள் தட்டச்சு செய்யும்போது முடிவுகள் தோன்றும்",loading:"ஏற்றுகிறது"},Ys={thanks_to:Ha,comments:Oa,direction:Ua,strings:za},wa={};D(wa,{comments:()=>ja,default:()=>Xs,direction:()=>Ia,strings:()=>La,thanks_to:()=>xa});var xa="Patiphon Loetsuthakun ",ja="",Ia="ltr",La={placeholder:"ค้นหา",clear_search:"ล้าง",load_more:"โหลดผลลัพธ์เพิ่มเติม",search_label:"ค้นหาบนเว็บไซต์",filters_label:"ตัวกรอง",zero_results:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM]",many_results:"พบ [COUNT] ผลการค้นหาสำหรับ [SEARCH_TERM]",one_result:"พบ [COUNT] ผลการค้นหาสำหรับ [SEARCH_TERM]",total_zero_results:"ไม่พบผลลัพธ์",total_one_result:"[COUNT] ผลลัพธ์",total_many_results:"[COUNT] ผลลัพธ์",alt_search:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM] แสดงผลลัพธ์จากการค้นหา [DIFFERENT_TERM] แทน",search_suggestion:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM] ลองคำค้นหาเหล่านี้แทน:",searching:"กำลังค้นหา [SEARCH_TERM]...",results_label:"ผลการค้นหา",keyboard_navigate:"นำทาง",keyboard_select:"เลือก",keyboard_clear:"ล้าง",keyboard_close:"ปิด",keyboard_search:"ค้นหา",error_search:"การค้นหาล้มเหลว",filter_selected_one:"เลือกแล้ว [COUNT] รายการ",filter_selected_many:"เลือกแล้ว [COUNT] รายการ",input_hint:"ผลลัพธ์จะปรากฏขณะที่คุณพิมพ์",loading:"กำลังโหลด"},Xs={thanks_to:xa,comments:ja,direction:Ia,strings:La},Pa={};D(Pa,{comments:()=>Ka,default:()=>Qs,direction:()=>Va,strings:()=>Ga,thanks_to:()=>qa});var qa="Taylan Özgür Bildik",Ka="",Va="ltr",Ga={placeholder:"Araştır",clear_search:"Temizle",load_more:"Daha fazla sonuç",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] için sonuç yok",many_results:"[SEARCH_TERM] için [COUNT] sonuç bulundu",one_result:"[SEARCH_TERM] için [COUNT] sonuç bulundu",total_zero_results:"Sonuç yok",total_one_result:"[COUNT] sonuç",total_many_results:"[COUNT] sonuç",alt_search:"[SEARCH_TERM] için sonuç yok. Bunun yerine [DIFFERENT_TERM] için sonuçlar gösteriliyor",search_suggestion:"[SEARCH_TERM] için sonuç yok. Alternatif olarak aşağıdaki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] araştırılıyor...",results_label:"Arama sonuçları",keyboard_navigate:"gezin",keyboard_select:"seç",keyboard_clear:"temizle",keyboard_close:"kapat",keyboard_search:"ara",error_search:"Arama başarısız",filter_selected_one:"[COUNT] seçili",filter_selected_many:"[COUNT] seçili",input_hint:"Sonuçlar siz yazarken görünecektir",loading:"Yükleniyor"},Qs={thanks_to:qa,comments:Ka,direction:Va,strings:Ga},Wa={};D(Wa,{comments:()=>Za,default:()=>$s,direction:()=>Ya,strings:()=>Xa,thanks_to:()=>Ja});var Ja="Vladyslav Lyshenko ",Za="",Ya="ltr",Xa={placeholder:"Пошук",clear_search:"Очистити поле",load_more:"Завантажити ще",search_label:"Пошук по сайту",filters_label:"Фільтри",zero_results:"Нічого не знайдено за запитом: [SEARCH_TERM]",many_results:"[COUNT] результатів на запит: [SEARCH_TERM]",one_result:"[COUNT] результат за запитом: [SEARCH_TERM]",total_zero_results:"Нічого не знайдено",total_one_result:"[COUNT] результат",total_many_results:"[COUNT] результатів",alt_search:"Нічого не знайдено на запит: [SEARCH_TERM]. Показано результати на запит: [DIFFERENT_TERM]",search_suggestion:"Нічого не знайдено на запит: [SEARCH_TERM]. Спробуйте один із таких варіантів",searching:"Пошук за запитом: [SEARCH_TERM]",results_label:"Результати пошуку",keyboard_navigate:"навігація",keyboard_select:"вибрати",keyboard_clear:"очистити",keyboard_close:"закрити",keyboard_search:"пошук",error_search:"Помилка пошуку",filter_selected_one:"[COUNT] вибрано",filter_selected_many:"[COUNT] вибрано",input_hint:"Результати з'являтимуться під час введення",loading:"Завантаження"},$s={thanks_to:Ja,comments:Za,direction:Ya,strings:Xa},Qa={};D(Qa,{comments:()=>ur,default:()=>ul,direction:()=>er,strings:()=>tr,thanks_to:()=>$a});var $a="Long Nhat Nguyen",ur="",er="ltr",tr={placeholder:"Tìm kiếm",clear_search:"Xóa",load_more:"Nhiều kết quả hơn",search_label:"Tìm kiếm trong trang này",filters_label:"Bộ lọc",zero_results:"Không tìm thấy kết quả cho [SEARCH_TERM]",many_results:"[COUNT] kết quả cho [SEARCH_TERM]",one_result:"[COUNT] kết quả cho [SEARCH_TERM]",total_zero_results:"Không có kết quả",total_one_result:"[COUNT] kết quả",total_many_results:"[COUNT] kết quả",alt_search:"Không tìm thấy kết quả cho [SEARCH_TERM]. Kiểm thị kết quả thay thế với [DIFFERENT_TERM]",search_suggestion:"Không tìm thấy kết quả cho [SEARCH_TERM]. Thử một trong các tìm kiếm:",searching:"Đang tìm kiếm cho [SEARCH_TERM]...",results_label:"Kết quả tìm kiếm",keyboard_navigate:"chuyển",keyboard_select:"chọn",keyboard_clear:"xóa",keyboard_close:"đóng",keyboard_search:"tìm kiếm",error_search:"Tìm kiếm thất bại",filter_selected_one:"Đã chọn [COUNT]",filter_selected_many:"Đã chọn [COUNT]",input_hint:"Kết quả sẽ xuất hiện khi bạn nhập",loading:"Đang tải"},ul={thanks_to:$a,comments:ur,direction:er,strings:tr},ar={};D(ar,{comments:()=>sr,default:()=>el,direction:()=>lr,strings:()=>nr,thanks_to:()=>rr});var rr="Amber Song",sr="",lr="ltr",nr={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",total_zero_results:"无结果",total_one_result:"[COUNT] 个结果",total_many_results:"[COUNT] 个结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]...",results_label:"搜索结果",keyboard_navigate:"导航",keyboard_select:"选择",keyboard_clear:"清除",keyboard_close:"关闭",keyboard_search:"搜索",error_search:"搜索失败",filter_selected_one:"已选择 [COUNT] 个",filter_selected_many:"已选择 [COUNT] 个",input_hint:"输入时将显示结果",loading:"加载中"},el={thanks_to:rr,comments:sr,direction:lr,strings:nr},ir={};D(ir,{comments:()=>_r,default:()=>tl,direction:()=>Er,strings:()=>cr,thanks_to:()=>or});var or="Amber Song",_r="",Er="ltr",cr={placeholder:"搜尋",clear_search:"清除",load_more:"載入更多結果",search_label:"站內搜尋",filters_label:"篩選",zero_results:"找不到 [SEARCH_TERM] 的相關結果",many_results:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",one_result:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",total_zero_results:"無結果",total_one_result:"[COUNT] 個結果",total_many_results:"[COUNT] 個結果",alt_search:"未找到 [SEARCH_TERM] 的相關結果。改為顯示 [DIFFERENT_TERM] 的相關結果",search_suggestion:"找不到 [SEARCH_TERM] 的相關結果。請嘗試以下的建議之一。",searching:"正在搜尋[SEARCH_TERM]...",results_label:"搜尋結果",keyboard_navigate:"導覽",keyboard_select:"選擇",keyboard_clear:"清除",keyboard_close:"關閉",keyboard_search:"搜尋",error_search:"搜尋失敗",filter_selected_one:"已選擇 [COUNT] 個",filter_selected_many:"已選擇 [COUNT] 個",input_hint:"輸入時將顯示結果",loading:"載入中"},tl={thanks_to:or,comments:_r,direction:Er,strings:cr},Cr={};D(Cr,{comments:()=>Br,default:()=>al,direction:()=>fr,strings:()=>hr,thanks_to:()=>dr});var dr="Amber Song",Br="",fr="ltr",hr={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",total_zero_results:"无结果",total_one_result:"[COUNT] 个结果",total_many_results:"[COUNT] 个结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]...",results_label:"搜索结果",keyboard_navigate:"导航",keyboard_select:"选择",keyboard_clear:"清除",keyboard_close:"关闭",keyboard_search:"搜索",error_search:"搜索失败",filter_selected_one:"已选择 [COUNT] 个",filter_selected_many:"已选择 [COUNT] 个",input_hint:"输入时将显示结果",loading:"加载中"},al={thanks_to:dr,comments:Br,direction:fr,strings:hr},rl=[de,Ae,Re,ye,Oe,je,Ke,Ze,u0,s0,_0,B0,g0,D0,N0,U0,I0,V0,Y0,et,lt,Et,ft,kt,bt,St,zt,Lt,Gt,Xt,ta,na,ca,ha,Ta,va,Ma,wa,Pa,Wa,Qa,ar,ir,Cr],sl=rl,ll=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/el.json","../../translations/en.json","../../translations/es.json","../../translations/eu.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/my.json","../../translations/nb.json","../../translations/nl.json","../../translations/nn.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/th.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function se(u,e,t){const a=u.slice();return a[53]=e[t],a}function le(u){let e,t,a;function r(s){u[38](s)}let l={show_empty_filters:u[5],open_filters:u[6],available_filters:u[18],translate:u[20],automatic_translations:u[19],translations:u[7]};return u[0]!==void 0&&(l.selected_filters=u[0]),e=new Cs({props:l}),au.push(()=>Zr(e,"selected_filters",r)),{c(){bu(e.$$.fragment)},m(s,n){Cu(e,s,n),a=!0},p(s,n){const i={};n[0]&32&&(i.show_empty_filters=s[5]),n[0]&64&&(i.open_filters=s[6]),n[0]&262144&&(i.available_filters=s[18]),n[0]&524288&&(i.automatic_translations=s[19]),n[0]&128&&(i.translations=s[7]),!t&&n[0]&1&&(t=!0,i.selected_filters=s[0],Kr(()=>t=!1)),e.$set(i)},i(s){a||(U(e.$$.fragment,s),a=!0)},o(s){x(e.$$.fragment,s),a=!1},d(s){du(e,s)}}}function ne(u){let e,t,a,r;const l=[il,nl],s=[];function n(i,C){return i[14]?0:1}return t=n(u),a=s[t]=l[t](u),{c(){e=T("div"),a.c(),h(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(i,C){b(i,e,C),s[t].m(e,null),r=!0},p(i,C){let E=t;t=n(i),t===E?s[t].p(i,C):(ru(),x(s[E],1,1,()=>{s[E]=null}),su(),a=s[t],a?a.p(i,C):(a=s[t]=l[t](i),a.c()),U(a,1),a.m(e,null))},i(i){r||(U(a),r=!0)},o(i){x(a),r=!1},d(i){i&&R(e),s[t].d()}}}function nl(u){let e,t,a,r=[],l=new Map,s,n,i;function C(c,m){return c[13].results.length===0?El:c[13].results.length===1?_l:ol}let E=C(u),B=E(u),_=j(u[13].results.slice(0,u[17]));const d=c=>c[53].id;for(let c=0;c<_.length;c+=1){let m=se(u,_,c),A=d(m);l.set(A,r[c]=ie(A,m))}let o=u[13].results.length>u[17]&&oe(u);return{c(){e=T("p"),B.c(),t=p(),a=T("ol");for(let c=0;cc[17]?o?o.p(c,m):(o=oe(c),o.c(),o.m(n.parentNode,n)):o&&(o.d(1),o=null)},i(c){if(!i){for(let m=0;m<_.length;m+=1)U(r[m]);i=!0}},o(c){for(let m=0;m{i[_]=null}),su(),r=i[a],r?r.p(e,B):(r=i[a]=n[a](e),r.c()),U(r,1),r.m(l.parentNode,l))},i(E){s||(U(r),s=!0)},o(E){x(r),s=!1},d(E){E&&(R(t),R(l)),i[a].d(E)}}}function oe(u){let e,t=u[20]("load_more",u[19],u[7])+"",a,r,l;return{c(){e=T("button"),a=N(t),h(e,"type","button"),h(e,"class","pagefind-ui__button svelte-e9gkc3")},m(s,n){b(s,e,n),g(e,a),r||(l=V(e,"click",u[22]),r=!0)},p(s,n){n[0]&524416&&t!==(t=s[20]("load_more",s[19],s[7])+"")&&z(a,t)},d(s){s&&R(e),r=!1,l()}}}function _e(u){let e,t=u[20]("searching",u[19],u[7]).replace(/\[SEARCH_TERM\]/,u[16])+"",a;return{c(){e=T("p"),a=N(t),h(e,"class","pagefind-ui__message svelte-e9gkc3")},m(r,l){b(r,e,l),g(e,a)},p(r,l){l[0]&589952&&t!==(t=r[20]("searching",r[19],r[7]).replace(/\[SEARCH_TERM\]/,r[16])+"")&&z(a,t)},d(r){r&&R(e)}}}function dl(u){let e,t,a,r,l,s,n,i=u[20]("clear_search",u[19],u[7])+"",C,E,B,_,d,o,c,m,A=u[12]&&le(u),k=u[15]&&ne(u);return{c(){e=T("div"),t=T("form"),a=T("input"),s=p(),n=T("button"),C=N(i),E=p(),B=T("div"),A&&A.c(),_=p(),k&&k.c(),h(a,"class","pagefind-ui__search-input svelte-e9gkc3"),h(a,"type","text"),h(a,"placeholder",r=u[20]("placeholder",u[19],u[7])),h(a,"title",l=u[20]("placeholder",u[19],u[7])),h(a,"autocapitalize","none"),h(a,"enterkeyhint","search"),a.autofocus=u[8],h(n,"class","pagefind-ui__search-clear svelte-e9gkc3"),q(n,"pagefind-ui__suppressed",!u[9]),h(B,"class","pagefind-ui__drawer svelte-e9gkc3"),q(B,"pagefind-ui__hidden",!u[15]),h(t,"class","pagefind-ui__form svelte-e9gkc3"),h(t,"role","search"),h(t,"aria-label",d=u[20]("search_label",u[19],u[7])),h(t,"action","javascript:void(0);"),h(e,"class","pagefind-ui svelte-e9gkc3"),q(e,"pagefind-ui--reset",u[1])},m(F,v){b(F,e,v),g(e,t),g(t,a),Eu(a,u[9]),u[35](a),g(t,s),g(t,n),g(n,C),u[36](n),g(t,E),g(t,B),A&&A.m(B,null),g(B,_),k&&k.m(B,null),o=!0,u[8]&&a.focus(),c||(m=[V(a,"focus",u[21]),V(a,"keydown",u[33]),V(a,"input",u[34]),V(n,"click",u[37]),V(t,"submit",Bl)],c=!0)},p(F,v){(!o||v[0]&524416&&r!==(r=F[20]("placeholder",F[19],F[7])))&&h(a,"placeholder",r),(!o||v[0]&524416&&l!==(l=F[20]("placeholder",F[19],F[7])))&&h(a,"title",l),(!o||v[0]&256)&&(a.autofocus=F[8]),v[0]&512&&a.value!==F[9]&&Eu(a,F[9]),(!o||v[0]&524416)&&i!==(i=F[20]("clear_search",F[19],F[7])+"")&&z(C,i),(!o||v[0]&512)&&q(n,"pagefind-ui__suppressed",!F[9]),F[12]?A?(A.p(F,v),v[0]&4096&&U(A,1)):(A=le(F),A.c(),U(A,1),A.m(B,_)):A&&(ru(),x(A,1,1,()=>{A=null}),su()),F[15]?k?(k.p(F,v),v[0]&32768&&U(k,1)):(k=ne(F),k.c(),U(k,1),k.m(B,null)):k&&(ru(),x(k,1,1,()=>{k=null}),su()),(!o||v[0]&32768)&&q(B,"pagefind-ui__hidden",!F[15]),(!o||v[0]&524416&&d!==(d=F[20]("search_label",F[19],F[7])))&&h(t,"aria-label",d),(!o||v[0]&2)&&q(e,"pagefind-ui--reset",F[1])},i(F){o||(U(A),U(k),o=!0)},o(F){x(A),x(k),o=!1},d(F){F&&R(e),u[35](null),u[36](null),A&&A.d(),k&&k.d(),c=!1,W(m)}}}var Bl=u=>u.preventDefault();function fl(u,e,t){const a={},r=ll.map(f=>f.match(/([^\/]+)\.json$/)[1]);for(let f=0;fM[f]??O[f]??"",kr=f=>{if(!K)return;const O=document.activeElement,M=O&&(O.tagName==="INPUT"||O.tagName==="TEXTAREA"||O.isContentEditable);f.key==="/"&&!M&&(f.preventDefault(),w?.focus())};Lr(()=>{S?.destroy?.(),S=null,K&&document.removeEventListener("keydown",kr)});const Su=async()=>{if(!hu&&(t(12,hu=!0),!S)){let f;try{f=await Or(()=>import(`${l}pagefind.js`),[])}catch(M){console.error(M),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}E||t(24,E=C?12:30);let O={...m||{},excerptLength:E};await f.options(O);for(const M of A){if(!M.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");const I=M.bundlePath;delete M.bundlePath,await f.mergeIndex(I,M)}S=f,Tr()}},Tr=async()=>{S&&(Nu=await S.filters(),(!$||!Object.keys($).length)&&t(18,$=Nu))},Fr=f=>{let O={};return Object.entries(f).filter(([,M])=>M).forEach(([M])=>{let[I,J]=M.split(/:(.*)$/);O[I]=O[I]||[],O[I].push(J)}),O};let uu;const Rr=async(f,O)=>{if(!f){t(15,Au=!1),uu&&clearTimeout(uu);return}const M=Fr(O),I=()=>Dr(f,M);c>0&&f?(uu&&clearTimeout(uu),uu=setTimeout(I,c),await Mu(),S.preload(f,{filters:M})):I(),br()},Mu=async()=>{for(;!S;)Su(),await new Promise(f=>setTimeout(f,50))},Dr=async(f,O)=>{t(16,yu=f||""),typeof _=="function"&&(f=_(f)),t(14,mu=!0),t(15,Au=!0),await Mu();const M=++pu,I={filters:O};P&&typeof P=="object"&&(I.sort=P);const J=await S.search(f,I);pu===M&&(J.filters&&Object.keys(J.filters)?.length&&t(18,$=J.filters),t(13,vu=J),t(14,mu=!1),t(17,gu=s))},br=()=>{const f=nu.offsetWidth;f!=mr&&t(10,w.style.paddingRight=`${f+2}px`,w)},vr=f=>{f?.preventDefault(),t(17,gu+=s)},pr=f=>{f.key==="Escape"&&(t(9,H=""),w.blur()),f.key==="Enter"&&f.preventDefault()};function yr(){H=this.value,t(9,H),t(23,k)}function Nr(f){au[f?"unshift":"push"](()=>{w=f,t(10,w)})}function Sr(f){au[f?"unshift":"push"](()=>{nu=f,t(11,nu)})}const Mr=()=>{t(9,H=""),w.blur()};function Hr(f){y=f,t(0,y)}return u.$$set=f=>{"base_path"in f&&t(25,l=f.base_path),"page_size"in f&&t(26,s=f.page_size),"reset_styles"in f&&t(1,n=f.reset_styles),"show_images"in f&&t(2,i=f.show_images),"show_sub_results"in f&&t(3,C=f.show_sub_results),"excerpt_length"in f&&t(24,E=f.excerpt_length),"process_result"in f&&t(4,B=f.process_result),"process_term"in f&&t(27,_=f.process_term),"show_empty_filters"in f&&t(5,d=f.show_empty_filters),"open_filters"in f&&t(6,o=f.open_filters),"debounce_timeout_ms"in f&&t(28,c=f.debounce_timeout_ms),"pagefind_options"in f&&t(29,m=f.pagefind_options),"merge_index"in f&&t(30,A=f.merge_index),"trigger_search_term"in f&&t(23,k=f.trigger_search_term),"translations"in f&&t(7,F=f.translations),"autofocus"in f&&t(8,v=f.autofocus),"focus_on_slash"in f&&t(31,K=f.focus_on_slash),"sort"in f&&t(32,P=f.sort),"selected_filters"in f&&t(0,y=f.selected_filters)},u.$$.update=()=>{u.$$.dirty[0]&8388608&&k&&(t(9,H=k),t(23,k="")),u.$$.dirty[0]&513&&Rr(H,y)},[y,n,i,C,B,d,o,F,v,H,w,nu,hu,vu,mu,Au,yu,gu,$,Ar,gr,Su,vr,k,E,l,s,_,c,m,A,K,P,pr,yr,Nr,Sr,Mr,Hr]}var hl=class extends fu{constructor(u){super(),Bu(this,u,fl,dl,cu,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,focus_on_slash:31,sort:32,selected_filters:0},null,[-1,-1])}},ml=hl,Du;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(Du=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{Du="/pagefind/"}var gl=class{constructor(u){this._pfs=null;let e=u.element??"[data-pagefind-ui]",t=u.bundlePath??Du,a=u.pageSize??5,r=u.resetStyles??!0,l=u.showImages??!0,s=u.showSubResults??!1,n=u.excerptLength??0,i=u.processResult??null,C=u.processTerm??null,E=u.showEmptyFilters??!0,B=u.openFilters??[],_=u.debounceTimeoutMs??300,d=u.mergeIndex??[],o=u.translations??[],c=u.autofocus??!1,m=u.focusOnSlash??!1,A=u.sort??null;delete u.element,delete u.bundlePath,delete u.pageSize,delete u.resetStyles,delete u.showImages,delete u.showSubResults,delete u.excerptLength,delete u.processResult,delete u.processTerm,delete u.showEmptyFilters,delete u.openFilters,delete u.debounceTimeoutMs,delete u.mergeIndex,delete u.translations,delete u.autofocus,delete u.focusOnSlash,delete u.sort;const k=e instanceof HTMLElement?e:document.querySelector(e);k?this._pfs=new ml({target:k,props:{base_path:t,page_size:a,reset_styles:r,show_images:l,show_sub_results:s,excerpt_length:n,process_result:i,process_term:C,show_empty_filters:E,open_filters:B,debounce_timeout_ms:_,merge_index:d,translations:o,autofocus:c,focus_on_slash:m,sort:A,pagefind_options:u}}):console.error(`Pagefind UI couldn't find the selector ${e}`)}triggerSearch(u){this._pfs.$$set({trigger_search_term:u})}triggerFilters(u){let e={};for(let[t,a]of Object.entries(u))if(Array.isArray(a))for(let r of a)e[`${t}:${r}`]=!0;else e[`${t}:${a}`]=!0;this._pfs.$$set({selected_filters:e})}destroy(){this._pfs.$destroy()}};export{gl as PagefindUI}; diff --git a/_astro/vennDiagram-CIIHVFJN.DryuVqLC.js b/_astro/vennDiagram-CIIHVFJN.DryuVqLC.js new file mode 100644 index 0000000..7e0e127 --- /dev/null +++ b/_astro/vennDiagram-CIIHVFJN.DryuVqLC.js @@ -0,0 +1,34 @@ +import{aU as Gt,s as Wt,g as Kt,q as Ht,p as Xt,a as Yt,b as Zt,_ as w,D as wt,I as Jt,d as ot,al as Qt,V as $t,W as te,X as ee,e as ne,z as se,F as ie,G as oe}from"./mermaid.core.Ci_VGkOG.js";import"./preload-helper.DK3iz7C1.js";const kt=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=ae(t),e=s.filter(c=>re(c,t));let i=0,o=0;const a=[];if(e.length>1){const c=Et(e);for(let u=0;ur.angle-u.angle);let h=e[e.length-1];for(let u=0;ux.radius*2&&(g=x.radius*2),(d==null||d.width>g)&&(d={circle:x,width:g,p1:r,p2:h,large:g>x.radius,sweep:!0})}d!=null&&(a.push(d),i+=lt(d.circle.radius,d.width),h=r)}}else{let c=t[0];for(let u=1;uMath.abs(c.radius-t[u].radius)){h=!0;break}h?i=o=0:(i=c.radius*c.radius*Math.PI,a.push({circle:c,p1:{x:c.x,y:c.y+c.radius},p2:{x:c.x-_t,y:c.y+c.radius},width:c.radius*2,large:!0,sweep:!0}))}return o/=2,n&&(n.area=i+o,n.arcArea=i,n.polygonArea=o,n.arcs=a,n.innerPoints=e,n.intersectionPoints=s),i+o}function re(t,n){return n.every(s=>q(t,s)=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=q(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const o=(e*e-i*i+s*s)/(2*s),a=Math.sqrt(e*e-o*o),c=t.x+o*(n.x-t.x)/s,h=t.y+o*(n.y-t.y)/s,u=-(n.y-t.y)*(a/s),r=-(n.x-t.x)*(a/s);return[{x:c+u,y:h-r},{x:c-u,y:h+r}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function le(t,n,s,e){e=e||{};const i=e.maxIterations||100,o=e.tolerance||1e-10,a=t(n),c=t(s);let h=s-n;if(a*c>0)throw"Initial bisect points must have opposite signs";if(a===0)return n;if(c===0)return s;for(let u=0;u=0&&(n=r),Math.abs(h)ct(n))}function $(t,n){let s=0;for(let e=0;ev.fx-l.fx,T=n.slice(),S=n.slice(),g=n.slice(),m=n.slice();for(let v=0;v{const N=f.slice();return N.fx=f.fx,N.id=f.id,N});p.sort((f,N)=>f.id-N.id),s.history.push({x:x[0].slice(),fx:x[0].fx,simplex:p})}d=0;for(let p=0;p=x[b-1].fx){let p=!1;if(S.fx>l.fx?(J(g,1+r,T,-r,l),g.fx=t(g),g.fx=1)break;for(let f=1;fc+o*i*h||u>=A)M=i;else{if(Math.abs(y)<=-a*h)return i;y*(M-x)>=0&&(M=x),x=i,A=u}return 0}for(let x=0;x<10;++x){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>c+o*i*h||x&&u>=r)return b(d,i,r);if(Math.abs(y)<=-a*h)return i;if(y>=0)return b(i,d,u);r=u,d=i,i*=2}return i}function ue(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const o=n.slice();let a,c,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),a=e.fxprime.slice(),ft(a,e.fxprime,-1);for(let r=0;r{const y={};for(let d=0;dxt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(c=>Object.assign({},c));function i(c){return c.join(";")}if(s){const c=new Map;for(const h of e)for(let u=0;uc===h?0:co.sets.length===2).forEach(o=>{const a=s[o.sets[0]],c=s[o.sets[1]],h=Math.sqrt(n[a].size/Math.PI),u=Math.sqrt(n[c].size/Math.PI),r=ht(h,u,o.size);e[a][c]=e[c][a]=r;let y=0;o.size+1e-10>=Math.min(n[a].size,n[c].size)?y=1:o.size<=1e-10&&(y=-1),i[a][c]=i[c][a]=y}),{distances:e,constraints:i}}function de(t,n,s,e){for(let o=0;o0&&x<=y||d<0&&x>=y||(i+=2*M*M,n[2*o]+=4*M*(a-u),n[2*o+1]+=4*M*(c-r),n[2*h]+=4*M*(u-a),n[2*h+1]+=4*M*(r-c))}}return i}function ge(t,n={}){let s=ye(t,n);const e=n.lossFunction||tt;if(t.length>=8){const i=xe(t,n),o=e(i,t),a=e(s,t);o+1e-8d.map(b=>b/c));const h=(d,b)=>de(d,b,o,a);let u=null;for(let d=0;dy.sets.length===2);for(const y of t){let d=y.weight!=null?y.weight:1;const b=y.sets[0],x=y.sets[1];y.size+Rt>=Math.min(e[b].size,e[x].size)&&(d=0),i[b].push({set:x,size:y.size,weight:d}),i[x].push({set:b,size:y.size,weight:d})}const o=[];Object.keys(i).forEach(y=>{let d=0;for(let b=0;bt[a]));const o=e.weight!=null?e.weight:1;s+=o*(i-e.size)*(i-e.size)}return s}function Dt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const c=t[e.sets[0]],h=t[e.sets[1]];i=xt(c.radius,h.radius,q(c,h))}else i=st(e.sets.map(c=>t[c]));const o=e.weight!=null?e.weight:1,a=Math.log((i+1)/(e.size+1));s+=o*a*a}return s}function pe(t,n,s){if(s==null?t.sort((i,o)=>o.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,o=t[0].y;for(const a of t)a.x-=i,a.y-=o}if(t.length===2&&q(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-n,o=Math.cos(i),a=Math.sin(i);for(const c of t){const h=c.x,u=c.y;c.x=o*h-a*u,c.y=a*h+o*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const o=t[1].y/(1e-10+t[1].x);for(const a of t){var e=(a.x+o*a.y)/(1+o*o);a.x=2*e-a.x,a.y=2*e*o-a.y}}}}function me(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,o){const a=n(i),c=n(o);a.parent=c}for(let i=0;i{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((o,a)=>Math.max(o,a[s]+a.radius),Number.NEGATIVE_INFINITY),i=t.reduce((o,a)=>Math.min(o,a[s]-a.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Ct(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=me(e);for(const u of i){pe(u,n,s);const r=dt(u);u.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),u.bounds=r}i.sort((u,r)=>r.size-u.size),e=i[0];let o=e.bounds;const a=(o.xRange.max-o.xRange.min)/50;function c(u,r,y){if(!u)return;const d=u.bounds;let b,x;if(r)b=o.xRange.max-d.xRange.min+a;else{b=o.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;M<0&&(b+=M)}if(y)x=o.yRange.max-d.yRange.min+a;else{x=o.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;M<0&&(x+=M)}for(const M of u)M.x+=b,M.y+=x,e.push(M)}let h=1;for(;h({radius:r*b.radius,x:e+y+(b.x-a.min)*r,y:e+d+(b.y-c.min)*r,setid:b.setid})))}function Ot(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function be(t={}){let n=!1,s=600,e=350,i=15,o=1e3,a=Math.PI/2,c=!0,h=null,u=!0,r=!0,y=null,d=null,b=!1,x=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,A={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],S=0,g=function(p){if(p in A)return A[p];var f=A[p]=T[S];return S+=1,S>=T.length&&(S=0),f},m=At,v=tt;function l(p){let f=p.datum();const N=new Set;f.forEach(k=>{k.size==0&&k.sets.length==1&&N.add(k.sets[0])}),f=f.filter(k=>!k.sets.some(F=>N.has(F)));let I={},D={};if(f.length>0){let k=m(f,{lossFunction:v,distinct:b});c&&(k=Ct(k,a,d)),I=Nt(k,s,e,i,h),D=jt(I,f,M)}const U={};f.forEach(k=>{k.label&&(U[k.sets]=k.label)});function j(k){if(k.sets in U)return U[k.sets];if(k.sets.length==1)return""+k.sets[0]}p.selectAll("svg").data([I]).enter().append("svg");const E=p.select("svg");n?E.attr("viewBox",`0 0 ${s} ${e}`):E.attr("width",s).attr("height",e);const R={};let _=!1;E.selectAll(".venn-area path").each(function(k){const F=this.getAttribute("d");k.sets.length==1&&F&&!b&&(_=!0,R[k.sets[0]]=ke(F))});function P(k){return F=>{const H=k.sets.map(et=>{let X=R[et],Z=I[et];return X||(X={x:s/2,y:e/2,radius:1}),Z||(Z={x:s/2,y:e/2,radius:1}),{x:X.x*(1-F)+Z.x*F,y:X.y*(1-F)+Z.y*F,radius:X.radius*(1-F)+Z.radius*F}});return St(H,x)}}const V=E.selectAll(".venn-area").data(f,k=>k.sets),O=V.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),B=O.append("path"),W=O.append("text").attr("class","label").text(k=>j(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);r&&(B.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),W.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function K(k){return typeof k.transition=="function"?k.transition("venn").duration(o):k}let z=p;_&&typeof z.transition=="function"?(z=K(p),z.selectAll("path").attrTween("d",P)):z.selectAll("path").attr("d",k=>St(k.sets.map(F=>I[F])),x);const L=z.selectAll("text").filter(k=>k.sets in D).text(k=>j(k)).attr("x",k=>Math.floor(D[k.sets].x)).attr("y",k=>Math.floor(D[k.sets].y));u&&(_?"on"in L?L.on("end",rt(I,j)):L.each("end",rt(I,j)):L.each(rt(I,j)));const C=K(V.exit()).remove();typeof V.transition=="function"&&C.selectAll("path").attrTween("d",P);const Y=C.selectAll("text").attr("x",s/2).attr("y",e/2);return y!==null&&(W.style("font-size","0px"),L.style("font-size",y),Y.style("font-size","0px")),{circles:I,textCentres:D,nodes:V,enter:O,update:z,exit:C}}return l.wrap=function(p){return arguments.length?(u=p,l):u},l.useViewBox=function(){return n=!0,l},l.width=function(p){return arguments.length?(s=p,l):s},l.height=function(p){return arguments.length?(e=p,l):e},l.padding=function(p){return arguments.length?(i=p,l):i},l.distinct=function(p){return arguments.length?(b=p,l):b},l.colours=function(p){return arguments.length?(g=p,l):g},l.colors=function(p){return arguments.length?(g=p,l):g},l.fontSize=function(p){return arguments.length?(y=p,l):y},l.round=function(p){return arguments.length?(x=p,l):x},l.duration=function(p){return arguments.length?(o=p,l):o},l.layoutFunction=function(p){return arguments.length?(m=p,l):m},l.normalize=function(p){return arguments.length?(c=p,l):c},l.scaleToFit=function(p){return arguments.length?(h=p,l):h},l.styled=function(p){return arguments.length?(r=p,l):r},l.orientation=function(p){return arguments.length?(a=p,l):a},l.orientationOrder=function(p){return arguments.length?(d=p,l):d},l.lossFunction=function(p){return arguments.length?(v=p==="default"?tt:p==="logRatio"?Dt:p,l):v},l}function rt(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,o=n(s)||"",a=o.split(/\s+/).reverse(),h=(o.length+a.length)/3;let u=a.pop(),r=[u],y=0;const d=1.1;e.textContent=null;const b=[];function x(g){const m=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return m.textContent=g,b.push(m),e.append(m),m}let M=x(u);for(;u=a.pop(),!!u;){r.push(u);const g=r.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(r.pop(),M.textContent=r.join(" "),r=[u],M=x(u),y++)}const A=.35-y*d/2,T=e.getAttribute("x"),S=e.getAttribute("y");b.forEach((g,m)=>{g.setAttribute("x",T),g.setAttribute("y",S),g.setAttribute("dy",`${A+m*d}em`)})}}function at(t,n,s){let e=n[0].radius-q(n[0],t);for(let i=1;i=o&&(i=e[r],o=y)}const a=zt(r=>-1*at({x:r[0],y:r[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,c={x:s?0:a[0],y:a[1]};let h=!0;for(const r of t)if(q(c,r)>r.radius){h=!1;break}for(const r of n)if(q(c,r)r.p1))}function ve(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e0&&console.log("WARNING: area "+a+" not represented on screen")}return e}function Ie(t,n,s){const e=[];return e.push(` +M`,t,n),e.push(` +m`,-s,0),e.push(` +a`,s,s,0,1,0,s*2,0),e.push(` +a`,s,s,0,1,0,-s*2,0),e.join(" ")}function ke(t){const n=t.split(" ");return{x:Number.parseFloat(n[1]),y:Number.parseFloat(n[2]),radius:-Number.parseFloat(n[4])}}function Pt(t){if(t.length===0)return[];const n={};return st(t,n),n.arcs}function Vt(t,n){if(t.length===0)return"M 0 0";const s=Math.pow(10,n||0),e=n!=null?o=>Math.round(o*s)/s:o=>o;if(t.length==1){const o=t[0].circle;return Ie(e(o.x),e(o.y),e(o.radius))}const i=[` +M`,e(t[0].p2.x),e(t[0].p2.y)];for(const o of t){const a=e(o.circle.radius);i.push(` +A`,a,a,0,o.large?1:0,o.sweep?1:0,e(o.p1.x),e(o.p1.y))}return i.join(" ")}function St(t,n){return Vt(Pt(t),n)}function Me(t,n={}){const{lossFunction:s,layoutFunction:e=At,normalize:i=!0,orientation:o=Math.PI/2,orientationOrder:a,width:c=600,height:h=350,padding:u=15,scaleToFit:r=!1,symmetricalTextCentre:y=!1,distinct:d,round:b=2}=n;let x=e(t,{lossFunction:s==="default"||!s?tt:s==="logRatio"?Dt:s,distinct:d});i&&(x=Ct(x,o,a));const M=Nt(x,c,h,u,r),A=jt(M,t,y),T=new Map(Object.keys(M).map(m=>[m,{set:m,x:M[m].x,y:M[m].y,radius:M[m].radius}])),S=t.map(m=>{const v=m.sets.map(f=>T.get(f)),l=Pt(v),p=Vt(l,b);return{circles:v,arcs:l,path:p,area:m,has:new Set(m.sets)}});function g(m){let v="";for(const l of S)l.has.size>m.length&&m.every(p=>l.has.has(p))&&(v+=" "+l.path);return v}return S.map(({circles:m,arcs:v,path:l,area:p})=>({data:p,text:A[p.sets],circles:m,arcs:v,path:l,distinctPath:l+g(p.sets)}))}var gt=(function(){var t=w(function(S,g,m,v){for(m=m||{},v=S.length;v--;m[S[v]]=g);return m},"o"),n=[5,8],s=[7,8,11,12,17,19,22,24],e=[1,17],i=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],a=[1,31],c=[1,39],h=[7,8,11,12,17,19,22,24,27],u=[1,57],r=[1,56],y=[1,58],d=[1,59],b=[1,60],x=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],M={trace:w(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:w(function(g,m,v,l,p,f,N){var I=f.length-1;switch(p){case 1:return f[I-1];case 2:case 3:case 4:this.$=[];break;case 5:f[I-1].push(f[I]),this.$=f[I-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=f[I];break;case 8:l.setDiagramTitle(f[I].substr(6)),this.$=f[I].substr(6);break;case 9:l.addSubsetData([f[I]],void 0,void 0),l.setIndentMode&&l.setIndentMode(!0);break;case 10:l.addSubsetData([f[I-1]],f[I],void 0),l.setIndentMode&&l.setIndentMode(!0);break;case 11:l.addSubsetData([f[I-2]],void 0,parseFloat(f[I])),l.setIndentMode&&l.setIndentMode(!0);break;case 12:l.addSubsetData([f[I-3]],f[I-2],parseFloat(f[I])),l.setIndentMode&&l.setIndentMode(!0);break;case 13:if(f[I].length<2)throw new Error("union requires multiple identifiers");l.validateUnionIdentifiers&&l.validateUnionIdentifiers(f[I]),l.addSubsetData(f[I],void 0,void 0),l.setIndentMode&&l.setIndentMode(!0);break;case 14:if(f[I-1].length<2)throw new Error("union requires multiple identifiers");l.validateUnionIdentifiers&&l.validateUnionIdentifiers(f[I-1]),l.addSubsetData(f[I-1],f[I],void 0),l.setIndentMode&&l.setIndentMode(!0);break;case 15:if(f[I-2].length<2)throw new Error("union requires multiple identifiers");l.validateUnionIdentifiers&&l.validateUnionIdentifiers(f[I-2]),l.addSubsetData(f[I-2],void 0,parseFloat(f[I])),l.setIndentMode&&l.setIndentMode(!0);break;case 16:if(f[I-3].length<2)throw new Error("union requires multiple identifiers");l.validateUnionIdentifiers&&l.validateUnionIdentifiers(f[I-3]),l.addSubsetData(f[I-3],f[I-2],parseFloat(f[I])),l.setIndentMode&&l.setIndentMode(!0);break;case 17:case 18:case 19:l.addTextData(f[I-1],f[I],void 0);break;case 20:case 21:l.addTextData(f[I-2],f[I-1],f[I]);break;case 23:l.addStyleData(f[I-1],f[I]);break;case 24:case 25:case 26:var D=l.getCurrentSets();if(!D)throw new Error("text requires set");l.addTextData(D,f[I],void 0);break;case 27:case 28:var D=l.getCurrentSets();if(!D)throw new Error("text requires set");l.addTextData(D,f[I-1],f[I]);break;case 29:case 41:this.$=[f[I]];break;case 30:case 42:this.$=[...f[I-2],f[I]];break;case 31:this.$=[f[I-2],f[I]];break;case 33:this.$=f[I].join(" ");break;case 34:this.$=[f[I]];break;case 35:f[I-1].push(f[I]),this.$=f[I-1];break;case 43:case 44:this.$=f[I];break}},"anonymous"),table:[t(n,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(s,[2,4],{6:5}),t(n,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(s,[2,5]),t(s,[2,6]),t(s,[2,7]),t(s,[2,8]),{13:16,20:e,21:i},{13:20,18:19,20:e,21:i},{13:20,18:21,20:e,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:e,21:i},t(s,[2,9],{14:[1,27],15:[1,28]}),t(o,[2,43]),t(o,[2,44]),t(s,[2,13],{14:[1,29],15:[1,30],27:a}),t(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:a},t(s,[2,22]),t(s,[2,24],{14:[1,35]}),t(s,[2,25],{14:[1,36]}),t(s,[2,26]),{20:c,25:37,26:38,27:a},t(s,[2,10],{15:[1,40]}),{16:[1,41]},t(s,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:e,21:i},t(s,[2,17],{14:[1,45]}),t(s,[2,18],{14:[1,46]}),t(s,[2,19]),t(s,[2,27]),t(s,[2,28]),t(s,[2,23],{27:[1,47]}),t(h,[2,29]),{15:[1,48]},{16:[1,49]},t(s,[2,11]),{16:[1,50]},t(s,[2,15]),t(o,[2,42]),t(s,[2,20]),t(s,[2,21]),{20:c,26:51},{16:u,20:r,21:[1,53],28:52,29:54,30:55,31:y,32:d,33:b},t(s,[2,12]),t(s,[2,16]),t(h,[2,30]),t(h,[2,31]),t(h,[2,32]),t(h,[2,33],{30:61,16:u,20:r,31:y,32:d,33:b}),t(x,[2,34]),t(x,[2,36]),t(x,[2,37]),t(x,[2,38]),t(x,[2,39]),t(x,[2,40]),t(x,[2,35])],defaultActions:{6:[2,1]},parseError:w(function(g,m){if(m.recoverable)this.trace(g);else{var v=new Error(g);throw v.hash=m,v}},"parseError"),parse:w(function(g){var m=this,v=[0],l=[],p=[null],f=[],N=this.table,I="",D=0,U=0,j=2,E=1,R=f.slice.call(arguments,1),_=Object.create(this.lexer),P={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(P.yy[V]=this.yy[V]);_.setInput(g,P.yy),P.yy.lexer=_,P.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var O=_.yylloc;f.push(O);var B=_.options&&_.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function W(G){v.length=v.length-2*G,p.length=p.length-G,f.length=f.length-G}w(W,"popStack");function K(){var G;return G=l.pop()||_.lex()||E,typeof G!="number"&&(G instanceof Array&&(l=G,G=l.pop()),G=m.symbols_[G]||G),G}w(K,"lex");for(var z,L,C,Y,k={},F,H,et,X;;){if(L=v[v.length-1],this.defaultActions[L]?C=this.defaultActions[L]:((z===null||typeof z>"u")&&(z=K()),C=N[L]&&N[L][z]),typeof C>"u"||!C.length||!C[0]){var Z="";X=[];for(F in N[L])this.terminals_[F]&&F>j&&X.push("'"+this.terminals_[F]+"'");_.showPosition?Z="Parse error on line "+(D+1)+`: +`+_.showPosition()+` +Expecting `+X.join(", ")+", got '"+(this.terminals_[z]||z)+"'":Z="Parse error on line "+(D+1)+": Unexpected "+(z==E?"end of input":"'"+(this.terminals_[z]||z)+"'"),this.parseError(Z,{text:_.match,token:this.terminals_[z]||z,line:_.yylineno,loc:O,expected:X})}if(C[0]instanceof Array&&C.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+z);switch(C[0]){case 1:v.push(z),p.push(_.yytext),f.push(_.yylloc),v.push(C[1]),z=null,U=_.yyleng,I=_.yytext,D=_.yylineno,O=_.yylloc;break;case 2:if(H=this.productions_[C[1]][1],k.$=p[p.length-H],k._$={first_line:f[f.length-(H||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(H||1)].first_column,last_column:f[f.length-1].last_column},B&&(k._$.range=[f[f.length-(H||1)].range[0],f[f.length-1].range[1]]),Y=this.performAction.apply(k,[I,U,D,P.yy,C[1],p,f].concat(R)),typeof Y<"u")return Y;H&&(v=v.slice(0,-1*H*2),p=p.slice(0,-1*H),f=f.slice(0,-1*H)),v.push(this.productions_[C[1]][0]),p.push(k.$),f.push(k._$),et=N[v[v.length-2]][v[v.length-1]],v.push(et);break;case 3:return!0}}return!0},"parse")},A=(function(){var S={EOF:1,parseError:w(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:w(function(g,m){return this.yy=m||this.yy||{},this._input=g,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:w(function(){var g=this._input[0];this.yytext+=g,this.yyleng++,this.offset++,this.match+=g,this.matched+=g;var m=g.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),g},"input"),unput:w(function(g){var m=g.length,v=g.split(/(?:\r\n?|\n)/g);this._input=g+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var l=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),v.length-1&&(this.yylineno-=v.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:v?(v.length===l.length?this.yylloc.first_column:0)+l[l.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:w(function(){return this._more=!0,this},"more"),reject:w(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:w(function(g){this.unput(this.match.slice(g))},"less"),pastInput:w(function(){var g=this.matched.substr(0,this.matched.length-this.match.length);return(g.length>20?"...":"")+g.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:w(function(){var g=this.match;return g.length<20&&(g+=this._input.substr(0,20-g.length)),(g.substr(0,20)+(g.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:w(function(){var g=this.pastInput(),m=new Array(g.length+1).join("-");return g+this.upcomingInput()+` +`+m+"^"},"showPosition"),test_match:w(function(g,m){var v,l,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))),l=g[0].match(/(?:\r\n?|\n).*/g),l&&(this.yylineno+=l.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:l?l[l.length-1].length-l[l.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+g[0].length},this.yytext+=g[0],this.match+=g[0],this.matches=g,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(g[0].length),this.matched+=g[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var f in p)this[f]=p[f];return!1}return!1},"test_match"),next:w(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var g,m,v,l;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),f=0;fm[0].length)){if(m=v,l=f,this.options.backtrack_lexer){if(g=this.test_match(v,p[f]),g!==!1)return g;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(g=this.test_match(m,p[l]),g!==!1?g:!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:w(function(){var m=this.next();return m||this.lex()},"lex"),begin:w(function(m){this.conditionStack.push(m)},"begin"),popState:w(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:w(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:w(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:w(function(m){this.begin(m)},"pushState"),stateStackSize:w(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:w(function(m,v,l,p){switch(l){case 0:break;case 1:break;case 2:break;case 3:if(m.getIndentMode&&m.getIndentMode())return m.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:m.setIndentMode&&m.setIndentMode(!1),this.begin("INITIAL"),this.unput(v.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(m.consumeIndentText)m.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return v.yytext=v.yytext.slice(2,-2),14;case 17:return v.yytext=v.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return S})();M.lexer=A;function T(){this.yy={}}return w(T,"Parser"),T.prototype=M,M.Parser=T,new T})();gt.parser=gt;var Se=gt,yt=[],pt=[],mt=[],bt=new Set,vt,It=!1,we=w((t,n,s)=>{const e=it(t).sort(),i=s??10/Math.pow(t.length,2);vt=e,e.length===1&&bt.add(e[0]),yt.push({sets:e,size:i,label:n?nt(n):void 0})},"addSubsetData"),_e=w(()=>yt,"getSubsetData"),nt=w(t=>{const n=t.trim();return n.length>=2&&n.startsWith('"')&&n.endsWith('"')?n.slice(1,-1):n},"normalizeText"),Te=w(t=>t&&nt(t),"normalizeStyleValue"),Ee=w((t,n,s)=>{const e=nt(n);pt.push({sets:it(t).sort(),id:e,label:s?nt(s):void 0})},"addTextData"),ze=w((t,n)=>{const s=it(t).sort(),e={};for(const[i,o]of n)e[i]=Te(o)??o;mt.push({targets:s,styles:e})},"addStyleData"),Ae=w(()=>mt,"getStyleData"),it=w(t=>t.map(n=>nt(n)),"normalizeIdentifierList"),Re=w(t=>{const s=it(t).filter(e=>!bt.has(e));if(s.length>0)throw new Error(`unknown set identifier: ${s.join(", ")}`)},"validateUnionIdentifiers"),De=w(()=>pt,"getTextData"),Ce=w(()=>vt,"getCurrentSets"),Ne=w(()=>It,"getIndentMode"),Oe=w(t=>{It=t},"setIndentMode"),Fe=oe.venn;function Bt(){return ie(Fe,wt().venn)}w(Bt,"getConfig");var Le=w(()=>{se(),yt.length=0,pt.length=0,mt.length=0,bt.clear(),vt=void 0,It=!1},"customClear"),je={getConfig:Bt,clear:Le,setAccTitle:Zt,getAccTitle:Yt,setDiagramTitle:Xt,getDiagramTitle:Ht,getAccDescription:Kt,setAccDescription:Wt,addSubsetData:we,getSubsetData:_e,addTextData:Ee,addStyleData:ze,validateUnionIdentifiers:Re,getTextData:De,getStyleData:Ae,getCurrentSets:Ce,getIndentMode:Ne,setIndentMode:Oe},Pe=w(t=>` + .venn-title { + font-size: 32px; + fill: ${t.vennTitleTextColor}; + font-family: ${t.fontFamily}; + } + + .venn-circle text { + font-size: 48px; + font-family: ${t.fontFamily}; + } + + .venn-intersection text { + font-size: 48px; + fill: ${t.vennSetTextColor}; + font-family: ${t.fontFamily}; + } + + .venn-text-node { + font-family: ${t.fontFamily}; + color: ${t.vennSetTextColor}; + } +`,"getStyles"),Ve=Pe;function qt(t){const n=new Map;for(const s of t){const e=s.targets.join("|"),i=n.get(e);i?Object.assign(i,s.styles):n.set(e,{...s.styles})}return n}w(qt,"buildStyleByKey");var Be=w((t,n,s,e)=>{const i=e.db,o=i.getConfig?.(),{themeVariables:a,look:c,handDrawnSeed:h}=wt(),u=c==="handDrawn",r=[a.venn1,a.venn2,a.venn3,a.venn4,a.venn5,a.venn6,a.venn7,a.venn8].filter(Boolean),y=i.getDiagramTitle?.(),d=i.getSubsetData(),b=i.getTextData(),x=qt(i.getStyleData()),M=o?.width??800,A=o?.height??450,S=M/1600,g=y?48*S:0,m=a.primaryTextColor??a.textColor,v=Jt(n);v.attr("viewBox",`0 0 ${M} ${A}`),y&&v.append("text").text(y).attr("class","venn-title").attr("font-size",`${32*S}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*S).style("fill",a.vennTitleTextColor||a.titleColor);const l=ot(document.createElement("div")),p=be().width(M).height(A-g);l.datum(d).call(p);const f=u?Qt.svg(l.select("svg").node()):void 0,N=Me(d,{width:M,height:A-g,padding:o?.padding??15}),I=new Map;for(const E of N){const R=Q([...E.data.sets].sort());I.set(R,E)}b.length>0&&Ut(o,I,l,b,S,x);const D=$t(a.background||"#f4f4f4");l.selectAll(".venn-circle").each(function(E,R){const _=ot(this),V=Q([...E.sets].sort()),O=x.get(V),B=O?.fill||r[R%r.length]||a.primaryColor;_.classed(`venn-set-${R%8}`,!0);const W=O?.["fill-opacity"]??.1,K=O?.stroke||B,z=O?.["stroke-width"]||`${5*S}`;if(u&&f){const C=I.get(V);if(C&&C.circles.length>0){const Y=C.circles[0],k=f.circle(Y.x,Y.y,Y.radius*2,{roughness:.7,seed:h,fill:kt(B,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+R*60,stroke:K,strokeWidth:parseFloat(String(z))});_.select("path").remove(),_.node()?.insertBefore(k,_.select("text").node())}}else _.select("path").style("fill",B).style("fill-opacity",W).style("stroke",K).style("stroke-width",z).style("stroke-opacity",.95);const L=O?.color||(D?te(B,30):ee(B,30));_.select("text").style("font-size",`${48*S}px`).style("fill",L)}),u&&f?l.selectAll(".venn-intersection").each(function(E){const R=ot(this),P=Q([...E.sets].sort()),V=x.get(P),O=V?.fill;if(O){const B=R.select("path"),W=B.attr("d");if(W){const K=f.path(W,{roughness:.7,seed:h,fill:kt(O,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),z=B.node();z?.parentNode?.insertBefore(K,z),B.remove()}}else R.select("path").style("fill-opacity",0);R.select("text").style("font-size",`${48*S}px`).style("fill",V?.color??a.vennSetTextColor??m)}):(l.selectAll(".venn-intersection text").style("font-size",`${48*S}px`).style("fill",E=>{const _=Q([...E.sets].sort());return x.get(_)?.color??a.vennSetTextColor??m}),l.selectAll(".venn-intersection path").style("fill-opacity",E=>{const _=Q([...E.sets].sort());return x.get(_)?.fill?1:0}).style("fill",E=>{const _=Q([...E.sets].sort());return x.get(_)?.fill??"transparent"}));const U=v.append("g").attr("transform",`translate(0, ${g})`),j=l.select("svg").node();if(j&&"childNodes"in j)for(const E of[...j.childNodes])U.node()?.appendChild(E);ne(v,A,M,o?.useMaxWidth??!0)},"draw");function Q(t){return t.join("|")}w(Q,"stableSetsKey");function Ut(t,n,s,e,i,o){const a=t?.useDebugLayout??!1,h=s.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const r of e){const y=Q(r.sets),d=u.get(y);d?d.push(r):u.set(y,[r])}for(const[r,y]of u.entries()){const d=n.get(r);if(!d?.text)continue;const b=d.text.x,x=d.text.y,M=Math.min(...d.circles.map(E=>E.radius)),A=Math.min(...d.circles.map(E=>E.radius-Math.hypot(b-E.x,x-E.y)));let T=Number.isFinite(A)?Math.max(0,A):0;T===0&&Number.isFinite(M)&&(T=M*.6);const S=h.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);a&&S.append("circle").attr("class","venn-text-debug-circle").attr("cx",b).attr("cy",x).attr("r",T).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const g=Math.max(80*i,T*2*.95),m=Math.max(60*i,T*2*.95),p=(d.data.label&&d.data.label.length>0?Math.min(32*i,T*.25):0)+(y.length<=2?30*i:0),f=b-g/2,N=x-m/2+p,I=Math.max(1,Math.ceil(Math.sqrt(y.length))),D=Math.max(1,Math.ceil(y.length/I)),U=g/I,j=m/D;for(const[E,R]of y.entries()){const _=E%I,P=Math.floor(E/I),V=f+U*(_+.5),O=N+j*(P+.5);a&&S.append("rect").attr("class","venn-text-debug-cell").attr("x",f+U*_).attr("y",N+j*P).attr("width",U).attr("height",j).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const B=U*.9,W=j*.9,K=S.append("foreignObject").attr("class","venn-text-node-fo").attr("width",B).attr("height",W).attr("x",V-B/2).attr("y",O-W/2).attr("overflow","visible"),z=o.get(R.id)?.color,L=K.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(R.label??R.id);z&&L.style("color",z)}}}w(Ut,"renderTextNodes");var qe={draw:Be},We={parser:Se,db:je,renderer:qe,styles:Ve};export{We as diagram}; diff --git a/_astro/wardley-L42UT6IY.BVigPHyG.js b/_astro/wardley-L42UT6IY.BVigPHyG.js new file mode 100644 index 0000000..aafb489 --- /dev/null +++ b/_astro/wardley-L42UT6IY.BVigPHyG.js @@ -0,0 +1,173 @@ +import{_ as qt}from"./preload-helper.DK3iz7C1.js";var Qb=Object.create,Es=Object.defineProperty,ew=Object.getOwnPropertyDescriptor,Yd=Object.getOwnPropertyNames,tw=Object.getPrototypeOf,rw=Object.prototype.hasOwnProperty,i=(e,t)=>Es(e,"name",{value:t,configurable:!0}),nw=(e,t)=>function(){return e&&(t=(0,e[Yd(e)[0]])(e=0)),t},V=(e,t)=>function(){return t||(0,e[Yd(e)[0]])((t={exports:{}}).exports,t),t.exports},Kr=(e,t)=>{for(var r in t)Es(e,r,{get:t[r],enumerable:!0})},Xd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Yd(t))!rw.call(e,a)&&a!==r&&Es(e,a,{get:()=>t[a],enumerable:!(n=ew(t,a))||n.enumerable});return e},$l=(e,t,r)=>(Xd(e,t,"default"),r),Jd=(e,t,r)=>(r=e!=null?Qb(tw(e)):{},Xd(Es(r,"default",{value:e,enumerable:!0}),e)),Zd=e=>Xd(Es({},"__esModule",{value:!0}),e),Al={};Kr(Al,{AnnotatedTextEdit:()=>dr,ChangeAnnotation:()=>tn,ChangeAnnotationIdentifier:()=>je,CodeAction:()=>Ou,CodeActionContext:()=>Pu,CodeActionKind:()=>ku,CodeActionTriggerKind:()=>Gi,CodeDescription:()=>cu,CodeLens:()=>Lu,Color:()=>fo,ColorInformation:()=>nu,ColorPresentation:()=>au,Command:()=>en,CompletionItem:()=>Tu,CompletionItemKind:()=>pu,CompletionItemLabelDetails:()=>vu,CompletionItemTag:()=>mu,CompletionList:()=>Ru,CreateFile:()=>ua,DeleteFile:()=>fa,Diagnostic:()=>Di,DiagnosticRelatedInformation:()=>po,DiagnosticSeverity:()=>ou,DiagnosticTag:()=>lu,DocumentHighlight:()=>Cu,DocumentHighlightKind:()=>_u,DocumentLink:()=>Mu,DocumentSymbol:()=>Nu,DocumentUri:()=>eu,EOL:()=>bg,FoldingRange:()=>su,FoldingRangeKind:()=>iu,FormattingOptions:()=>Du,Hover:()=>$u,InlayHint:()=>qu,InlayHintKind:()=>go,InlayHintLabelPart:()=>yo,InlineCompletionContext:()=>Ju,InlineCompletionItem:()=>Vu,InlineCompletionList:()=>Hu,InlineCompletionTriggerKind:()=>Yu,InlineValueContext:()=>Ku,InlineValueEvaluatableExpression:()=>Bu,InlineValueText:()=>Uu,InlineValueVariableLookup:()=>zu,InsertReplaceEdit:()=>gu,InsertTextFormat:()=>hu,InsertTextMode:()=>yu,Location:()=>Li,LocationLink:()=>ru,MarkedString:()=>Fi,MarkupContent:()=>pa,MarkupKind:()=>mo,OptionalVersionedTextDocumentIdentifier:()=>xi,ParameterInformation:()=>Au,Position:()=>ie,Range:()=>ee,RenameFile:()=>da,SelectedCompletionInfo:()=>Xu,SelectionRange:()=>xu,SemanticTokenModifiers:()=>Gu,SemanticTokenTypes:()=>Fu,SemanticTokens:()=>ju,SignatureInformation:()=>Eu,StringValue:()=>Wu,SymbolInformation:()=>wu,SymbolKind:()=>Su,SymbolTag:()=>bu,TextDocument:()=>Qu,TextDocumentEdit:()=>Mi,TextDocumentIdentifier:()=>uu,TextDocumentItem:()=>fu,TextEdit:()=>Vt,URI:()=>uo,VersionedTextDocumentIdentifier:()=>du,WorkspaceChange:()=>Sg,WorkspaceEdit:()=>ho,WorkspaceFolder:()=>Zu,WorkspaceSymbol:()=>Iu,integer:()=>tu,uinteger:()=>Oi});var eu,uo,tu,Oi,ie,ee,Li,ru,fo,nu,au,iu,su,po,ou,lu,cu,Di,en,Vt,tn,je,dr,Mi,ua,da,fa,ho,Ei,kc,Sg,uu,du,xi,fu,mo,pa,pu,hu,mu,gu,yu,vu,Tu,Ru,Fi,$u,Au,Eu,_u,Cu,Su,bu,wu,Iu,Nu,ku,Gi,Pu,Ou,Lu,Du,Mu,xu,Fu,Gu,ju,Uu,zu,Bu,Ku,go,yo,qu,Wu,Vu,Hu,Yu,Xu,Ju,Zu,bg,Qu,Mh,$,_s=nw({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){(function(e){function t(r){return typeof r=="string"}i(t,"is"),e.is=t})(eu||(eu={})),(function(e){function t(r){return typeof r=="string"}i(t,"is"),e.is=t})(uo||(uo={})),(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(r){return typeof r=="number"&&e.MIN_VALUE<=r&&r<=e.MAX_VALUE}i(t,"is"),e.is=t})(tu||(tu={})),(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(r){return typeof r=="number"&&e.MIN_VALUE<=r&&r<=e.MAX_VALUE}i(t,"is"),e.is=t})(Oi||(Oi={})),(function(e){function t(n,a){return n===Number.MAX_VALUE&&(n=Oi.MAX_VALUE),a===Number.MAX_VALUE&&(a=Oi.MAX_VALUE),{line:n,character:a}}i(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&$.uinteger(a.line)&&$.uinteger(a.character)}i(r,"is"),e.is=r})(ie||(ie={})),(function(e){function t(n,a,s,o){if($.uinteger(n)&&$.uinteger(a)&&$.uinteger(s)&&$.uinteger(o))return{start:ie.create(n,a),end:ie.create(s,o)};if(ie.is(n)&&ie.is(a))return{start:n,end:a};throw new Error(`Range#create called with invalid arguments[${n}, ${a}, ${s}, ${o}]`)}i(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&ie.is(a.start)&&ie.is(a.end)}i(r,"is"),e.is=r})(ee||(ee={})),(function(e){function t(n,a){return{uri:n,range:a}}i(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&ee.is(a.range)&&($.string(a.uri)||$.undefined(a.uri))}i(r,"is"),e.is=r})(Li||(Li={})),(function(e){function t(n,a,s,o){return{targetUri:n,targetRange:a,targetSelectionRange:s,originSelectionRange:o}}i(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&ee.is(a.targetRange)&&$.string(a.targetUri)&&ee.is(a.targetSelectionRange)&&(ee.is(a.originSelectionRange)||$.undefined(a.originSelectionRange))}i(r,"is"),e.is=r})(ru||(ru={})),(function(e){function t(n,a,s,o){return{red:n,green:a,blue:s,alpha:o}}i(t,"create"),e.create=t;function r(n){const a=n;return $.objectLiteral(a)&&$.numberRange(a.red,0,1)&&$.numberRange(a.green,0,1)&&$.numberRange(a.blue,0,1)&&$.numberRange(a.alpha,0,1)}i(r,"is"),e.is=r})(fo||(fo={})),(function(e){function t(n,a){return{range:n,color:a}}i(t,"create"),e.create=t;function r(n){const a=n;return $.objectLiteral(a)&&ee.is(a.range)&&fo.is(a.color)}i(r,"is"),e.is=r})(nu||(nu={})),(function(e){function t(n,a,s){return{label:n,textEdit:a,additionalTextEdits:s}}i(t,"create"),e.create=t;function r(n){const a=n;return $.objectLiteral(a)&&$.string(a.label)&&($.undefined(a.textEdit)||Vt.is(a))&&($.undefined(a.additionalTextEdits)||$.typedArray(a.additionalTextEdits,Vt.is))}i(r,"is"),e.is=r})(au||(au={})),(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(iu||(iu={})),(function(e){function t(n,a,s,o,l,c){const u={startLine:n,endLine:a};return $.defined(s)&&(u.startCharacter=s),$.defined(o)&&(u.endCharacter=o),$.defined(l)&&(u.kind=l),$.defined(c)&&(u.collapsedText=c),u}i(t,"create"),e.create=t;function r(n){const a=n;return $.objectLiteral(a)&&$.uinteger(a.startLine)&&$.uinteger(a.startLine)&&($.undefined(a.startCharacter)||$.uinteger(a.startCharacter))&&($.undefined(a.endCharacter)||$.uinteger(a.endCharacter))&&($.undefined(a.kind)||$.string(a.kind))}i(r,"is"),e.is=r})(su||(su={})),(function(e){function t(n,a){return{location:n,message:a}}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&Li.is(a.location)&&$.string(a.message)}i(r,"is"),e.is=r})(po||(po={})),(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(ou||(ou={})),(function(e){e.Unnecessary=1,e.Deprecated=2})(lu||(lu={})),(function(e){function t(r){const n=r;return $.objectLiteral(n)&&$.string(n.href)}i(t,"is"),e.is=t})(cu||(cu={})),(function(e){function t(n,a,s,o,l,c){let u={range:n,message:a};return $.defined(s)&&(u.severity=s),$.defined(o)&&(u.code=o),$.defined(l)&&(u.source=l),$.defined(c)&&(u.relatedInformation=c),u}i(t,"create"),e.create=t;function r(n){var a;let s=n;return $.defined(s)&&ee.is(s.range)&&$.string(s.message)&&($.number(s.severity)||$.undefined(s.severity))&&($.integer(s.code)||$.string(s.code)||$.undefined(s.code))&&($.undefined(s.codeDescription)||$.string((a=s.codeDescription)===null||a===void 0?void 0:a.href))&&($.string(s.source)||$.undefined(s.source))&&($.undefined(s.relatedInformation)||$.typedArray(s.relatedInformation,po.is))}i(r,"is"),e.is=r})(Di||(Di={})),(function(e){function t(n,a,...s){let o={title:n,command:a};return $.defined(s)&&s.length>0&&(o.arguments=s),o}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.title)&&$.string(a.command)}i(r,"is"),e.is=r})(en||(en={})),(function(e){function t(s,o){return{range:s,newText:o}}i(t,"replace"),e.replace=t;function r(s,o){return{range:{start:s,end:s},newText:o}}i(r,"insert"),e.insert=r;function n(s){return{range:s,newText:""}}i(n,"del"),e.del=n;function a(s){const o=s;return $.objectLiteral(o)&&$.string(o.newText)&&ee.is(o.range)}i(a,"is"),e.is=a})(Vt||(Vt={})),(function(e){function t(n,a,s){const o={label:n};return a!==void 0&&(o.needsConfirmation=a),s!==void 0&&(o.description=s),o}i(t,"create"),e.create=t;function r(n){const a=n;return $.objectLiteral(a)&&$.string(a.label)&&($.boolean(a.needsConfirmation)||a.needsConfirmation===void 0)&&($.string(a.description)||a.description===void 0)}i(r,"is"),e.is=r})(tn||(tn={})),(function(e){function t(r){const n=r;return $.string(n)}i(t,"is"),e.is=t})(je||(je={})),(function(e){function t(s,o,l){return{range:s,newText:o,annotationId:l}}i(t,"replace"),e.replace=t;function r(s,o,l){return{range:{start:s,end:s},newText:o,annotationId:l}}i(r,"insert"),e.insert=r;function n(s,o){return{range:s,newText:"",annotationId:o}}i(n,"del"),e.del=n;function a(s){const o=s;return Vt.is(o)&&(tn.is(o.annotationId)||je.is(o.annotationId))}i(a,"is"),e.is=a})(dr||(dr={})),(function(e){function t(n,a){return{textDocument:n,edits:a}}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&xi.is(a.textDocument)&&Array.isArray(a.edits)}i(r,"is"),e.is=r})(Mi||(Mi={})),(function(e){function t(n,a,s){let o={kind:"create",uri:n};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}i(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="create"&&$.string(a.uri)&&(a.options===void 0||(a.options.overwrite===void 0||$.boolean(a.options.overwrite))&&(a.options.ignoreIfExists===void 0||$.boolean(a.options.ignoreIfExists)))&&(a.annotationId===void 0||je.is(a.annotationId))}i(r,"is"),e.is=r})(ua||(ua={})),(function(e){function t(n,a,s,o){let l={kind:"rename",oldUri:n,newUri:a};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(l.options=s),o!==void 0&&(l.annotationId=o),l}i(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="rename"&&$.string(a.oldUri)&&$.string(a.newUri)&&(a.options===void 0||(a.options.overwrite===void 0||$.boolean(a.options.overwrite))&&(a.options.ignoreIfExists===void 0||$.boolean(a.options.ignoreIfExists)))&&(a.annotationId===void 0||je.is(a.annotationId))}i(r,"is"),e.is=r})(da||(da={})),(function(e){function t(n,a,s){let o={kind:"delete",uri:n};return a!==void 0&&(a.recursive!==void 0||a.ignoreIfNotExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}i(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="delete"&&$.string(a.uri)&&(a.options===void 0||(a.options.recursive===void 0||$.boolean(a.options.recursive))&&(a.options.ignoreIfNotExists===void 0||$.boolean(a.options.ignoreIfNotExists)))&&(a.annotationId===void 0||je.is(a.annotationId))}i(r,"is"),e.is=r})(fa||(fa={})),(function(e){function t(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(a=>$.string(a.kind)?ua.is(a)||da.is(a)||fa.is(a):Mi.is(a)))}i(t,"is"),e.is=t})(ho||(ho={})),Ei=class{static{i(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,a;if(r===void 0?n=Vt.insert(e,t):je.is(r)?(a=r,n=dr.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),n=dr.insert(e,t,a)),this.edits.push(n),a!==void 0)return a}replace(e,t,r){let n,a;if(r===void 0?n=Vt.replace(e,t):je.is(r)?(a=r,n=dr.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),n=dr.replace(e,t,a)),this.edits.push(n),a!==void 0)return a}delete(e,t){let r,n;if(t===void 0?r=Vt.del(e):je.is(t)?(n=t,r=dr.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=dr.del(e,n)),this.edits.push(r),n!==void 0)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},kc=class{static{i(this,"ChangeAnnotations")}constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let r;if(je.is(e)?r=e:(r=this.nextId(),t=e),this._annotations[r]!==void 0)throw new Error(`Id ${r} is already in use.`);if(t===void 0)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},Sg=class{static{i(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new kc(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(t=>{if(Mi.is(t)){const r=new Ei(t.edits,this._changeAnnotations);this._textEditChanges[t.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(t=>{const r=new Ei(e.changes[t]);this._textEditChanges[t]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(xi.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const t={uri:e.uri,version:e.version};let r=this._textEditChanges[t.uri];if(!r){const n=[],a={textDocument:t,edits:n};this._workspaceEdit.documentChanges.push(a),r=new Ei(n,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new Ei(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new kc,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let n;tn.is(t)||je.is(t)?n=t:r=t;let a,s;if(n===void 0?a=ua.create(e,r):(s=je.is(n)?n:this._changeAnnotations.manage(n),a=ua.create(e,r,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,t,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;tn.is(r)||je.is(r)?a=r:n=r;let s,o;if(a===void 0?s=da.create(e,t,n):(o=je.is(a)?a:this._changeAnnotations.manage(a),s=da.create(e,t,n,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,t,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let n;tn.is(t)||je.is(t)?n=t:r=t;let a,s;if(n===void 0?a=fa.create(e,r):(s=je.is(n)?n:this._changeAnnotations.manage(n),a=fa.create(e,r,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}},(function(e){function t(n){return{uri:n}}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.uri)}i(r,"is"),e.is=r})(uu||(uu={})),(function(e){function t(n,a){return{uri:n,version:a}}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.uri)&&$.integer(a.version)}i(r,"is"),e.is=r})(du||(du={})),(function(e){function t(n,a){return{uri:n,version:a}}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.uri)&&(a.version===null||$.integer(a.version))}i(r,"is"),e.is=r})(xi||(xi={})),(function(e){function t(n,a,s,o){return{uri:n,languageId:a,version:s,text:o}}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.uri)&&$.string(a.languageId)&&$.integer(a.version)&&$.string(a.text)}i(r,"is"),e.is=r})(fu||(fu={})),(function(e){e.PlainText="plaintext",e.Markdown="markdown";function t(r){const n=r;return n===e.PlainText||n===e.Markdown}i(t,"is"),e.is=t})(mo||(mo={})),(function(e){function t(r){const n=r;return $.objectLiteral(r)&&mo.is(n.kind)&&$.string(n.value)}i(t,"is"),e.is=t})(pa||(pa={})),(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(pu||(pu={})),(function(e){e.PlainText=1,e.Snippet=2})(hu||(hu={})),(function(e){e.Deprecated=1})(mu||(mu={})),(function(e){function t(n,a,s){return{newText:n,insert:a,replace:s}}i(t,"create"),e.create=t;function r(n){const a=n;return a&&$.string(a.newText)&&ee.is(a.insert)&&ee.is(a.replace)}i(r,"is"),e.is=r})(gu||(gu={})),(function(e){e.asIs=1,e.adjustIndentation=2})(yu||(yu={})),(function(e){function t(r){const n=r;return n&&($.string(n.detail)||n.detail===void 0)&&($.string(n.description)||n.description===void 0)}i(t,"is"),e.is=t})(vu||(vu={})),(function(e){function t(r){return{label:r}}i(t,"create"),e.create=t})(Tu||(Tu={})),(function(e){function t(r,n){return{items:r||[],isIncomplete:!!n}}i(t,"create"),e.create=t})(Ru||(Ru={})),(function(e){function t(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}i(t,"fromPlainText"),e.fromPlainText=t;function r(n){const a=n;return $.string(a)||$.objectLiteral(a)&&$.string(a.language)&&$.string(a.value)}i(r,"is"),e.is=r})(Fi||(Fi={})),(function(e){function t(r){let n=r;return!!n&&$.objectLiteral(n)&&(pa.is(n.contents)||Fi.is(n.contents)||$.typedArray(n.contents,Fi.is))&&(r.range===void 0||ee.is(r.range))}i(t,"is"),e.is=t})($u||($u={})),(function(e){function t(r,n){return n?{label:r,documentation:n}:{label:r}}i(t,"create"),e.create=t})(Au||(Au={})),(function(e){function t(r,n,...a){let s={label:r};return $.defined(n)&&(s.documentation=n),$.defined(a)?s.parameters=a:s.parameters=[],s}i(t,"create"),e.create=t})(Eu||(Eu={})),(function(e){e.Text=1,e.Read=2,e.Write=3})(_u||(_u={})),(function(e){function t(r,n){let a={range:r};return $.number(n)&&(a.kind=n),a}i(t,"create"),e.create=t})(Cu||(Cu={})),(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(Su||(Su={})),(function(e){e.Deprecated=1})(bu||(bu={})),(function(e){function t(r,n,a,s,o){let l={name:r,kind:n,location:{uri:s,range:a}};return o&&(l.containerName=o),l}i(t,"create"),e.create=t})(wu||(wu={})),(function(e){function t(r,n,a,s){return s!==void 0?{name:r,kind:n,location:{uri:a,range:s}}:{name:r,kind:n,location:{uri:a}}}i(t,"create"),e.create=t})(Iu||(Iu={})),(function(e){function t(n,a,s,o,l,c){let u={name:n,detail:a,kind:s,range:o,selectionRange:l};return c!==void 0&&(u.children=c),u}i(t,"create"),e.create=t;function r(n){let a=n;return a&&$.string(a.name)&&$.number(a.kind)&&ee.is(a.range)&&ee.is(a.selectionRange)&&(a.detail===void 0||$.string(a.detail))&&(a.deprecated===void 0||$.boolean(a.deprecated))&&(a.children===void 0||Array.isArray(a.children))&&(a.tags===void 0||Array.isArray(a.tags))}i(r,"is"),e.is=r})(Nu||(Nu={})),(function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"})(ku||(ku={})),(function(e){e.Invoked=1,e.Automatic=2})(Gi||(Gi={})),(function(e){function t(n,a,s){let o={diagnostics:n};return a!=null&&(o.only=a),s!=null&&(o.triggerKind=s),o}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.typedArray(a.diagnostics,Di.is)&&(a.only===void 0||$.typedArray(a.only,$.string))&&(a.triggerKind===void 0||a.triggerKind===Gi.Invoked||a.triggerKind===Gi.Automatic)}i(r,"is"),e.is=r})(Pu||(Pu={})),(function(e){function t(n,a,s){let o={title:n},l=!0;return typeof a=="string"?(l=!1,o.kind=a):en.is(a)?o.command=a:o.edit=a,l&&s!==void 0&&(o.kind=s),o}i(t,"create"),e.create=t;function r(n){let a=n;return a&&$.string(a.title)&&(a.diagnostics===void 0||$.typedArray(a.diagnostics,Di.is))&&(a.kind===void 0||$.string(a.kind))&&(a.edit!==void 0||a.command!==void 0)&&(a.command===void 0||en.is(a.command))&&(a.isPreferred===void 0||$.boolean(a.isPreferred))&&(a.edit===void 0||ho.is(a.edit))}i(r,"is"),e.is=r})(Ou||(Ou={})),(function(e){function t(n,a){let s={range:n};return $.defined(a)&&(s.data=a),s}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&ee.is(a.range)&&($.undefined(a.command)||en.is(a.command))}i(r,"is"),e.is=r})(Lu||(Lu={})),(function(e){function t(n,a){return{tabSize:n,insertSpaces:a}}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.uinteger(a.tabSize)&&$.boolean(a.insertSpaces)}i(r,"is"),e.is=r})(Du||(Du={})),(function(e){function t(n,a,s){return{range:n,target:a,data:s}}i(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&ee.is(a.range)&&($.undefined(a.target)||$.string(a.target))}i(r,"is"),e.is=r})(Mu||(Mu={})),(function(e){function t(n,a){return{range:n,parent:a}}i(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&ee.is(a.range)&&(a.parent===void 0||e.is(a.parent))}i(r,"is"),e.is=r})(xu||(xu={})),(function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"})(Fu||(Fu={})),(function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"})(Gu||(Gu={})),(function(e){function t(r){const n=r;return $.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}i(t,"is"),e.is=t})(ju||(ju={})),(function(e){function t(n,a){return{range:n,text:a}}i(t,"create"),e.create=t;function r(n){const a=n;return a!=null&&ee.is(a.range)&&$.string(a.text)}i(r,"is"),e.is=r})(Uu||(Uu={})),(function(e){function t(n,a,s){return{range:n,variableName:a,caseSensitiveLookup:s}}i(t,"create"),e.create=t;function r(n){const a=n;return a!=null&&ee.is(a.range)&&$.boolean(a.caseSensitiveLookup)&&($.string(a.variableName)||a.variableName===void 0)}i(r,"is"),e.is=r})(zu||(zu={})),(function(e){function t(n,a){return{range:n,expression:a}}i(t,"create"),e.create=t;function r(n){const a=n;return a!=null&&ee.is(a.range)&&($.string(a.expression)||a.expression===void 0)}i(r,"is"),e.is=r})(Bu||(Bu={})),(function(e){function t(n,a){return{frameId:n,stoppedLocation:a}}i(t,"create"),e.create=t;function r(n){const a=n;return $.defined(a)&&ee.is(n.stoppedLocation)}i(r,"is"),e.is=r})(Ku||(Ku={})),(function(e){e.Type=1,e.Parameter=2;function t(r){return r===1||r===2}i(t,"is"),e.is=t})(go||(go={})),(function(e){function t(n){return{value:n}}i(t,"create"),e.create=t;function r(n){const a=n;return $.objectLiteral(a)&&(a.tooltip===void 0||$.string(a.tooltip)||pa.is(a.tooltip))&&(a.location===void 0||Li.is(a.location))&&(a.command===void 0||en.is(a.command))}i(r,"is"),e.is=r})(yo||(yo={})),(function(e){function t(n,a,s){const o={position:n,label:a};return s!==void 0&&(o.kind=s),o}i(t,"create"),e.create=t;function r(n){const a=n;return $.objectLiteral(a)&&ie.is(a.position)&&($.string(a.label)||$.typedArray(a.label,yo.is))&&(a.kind===void 0||go.is(a.kind))&&a.textEdits===void 0||$.typedArray(a.textEdits,Vt.is)&&(a.tooltip===void 0||$.string(a.tooltip)||pa.is(a.tooltip))&&(a.paddingLeft===void 0||$.boolean(a.paddingLeft))&&(a.paddingRight===void 0||$.boolean(a.paddingRight))}i(r,"is"),e.is=r})(qu||(qu={})),(function(e){function t(r){return{kind:"snippet",value:r}}i(t,"createSnippet"),e.createSnippet=t})(Wu||(Wu={})),(function(e){function t(r,n,a,s){return{insertText:r,filterText:n,range:a,command:s}}i(t,"create"),e.create=t})(Vu||(Vu={})),(function(e){function t(r){return{items:r}}i(t,"create"),e.create=t})(Hu||(Hu={})),(function(e){e.Invoked=0,e.Automatic=1})(Yu||(Yu={})),(function(e){function t(r,n){return{range:r,text:n}}i(t,"create"),e.create=t})(Xu||(Xu={})),(function(e){function t(r,n){return{triggerKind:r,selectedCompletionInfo:n}}i(t,"create"),e.create=t})(Ju||(Ju={})),(function(e){function t(r){const n=r;return $.objectLiteral(n)&&uo.is(n.uri)&&$.string(n.name)}i(t,"is"),e.is=t})(Zu||(Zu={})),bg=[` +`,`\r +`,"\r"],(function(e){function t(s,o,l,c){return new Mh(s,o,l,c)}i(t,"create"),e.create=t;function r(s){let o=s;return!!($.defined(o)&&$.string(o.uri)&&($.undefined(o.languageId)||$.string(o.languageId))&&$.uinteger(o.lineCount)&&$.func(o.getText)&&$.func(o.positionAt)&&$.func(o.offsetAt))}i(r,"is"),e.is=r;function n(s,o){let l=s.getText(),c=a(o,(d,f)=>{let h=d.range.start.line-f.range.start.line;return h===0?d.range.start.character-f.range.start.character:h}),u=l.length;for(let d=c.length-1;d>=0;d--){let f=c[d],h=s.offsetAt(f.range.start),y=s.offsetAt(f.range.end);if(y<=u)l=l.substring(0,h)+f.newText+l.substring(y,l.length);else throw new Error("Overlapping edit");u=h}return l}i(n,"applyEdits"),e.applyEdits=n;function a(s,o){if(s.length<=1)return s;const l=s.length/2|0,c=s.slice(0,l),u=s.slice(l);a(c,o),a(u,o);let d=0,f=0,h=0;for(;d0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(n===0)return ie.create(0,e);for(;re?n=s:r=s+1}let a=r-1;return ie.create(a,e-t[a])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1"u"}i(n,"undefined"),e.undefined=n;function a(y){return y===!0||y===!1}i(a,"boolean"),e.boolean=a;function s(y){return t.call(y)==="[object String]"}i(s,"string"),e.string=s;function o(y){return t.call(y)==="[object Number]"}i(o,"number"),e.number=o;function l(y,v,C){return t.call(y)==="[object Number]"&&v<=y&&y<=C}i(l,"numberRange"),e.numberRange=l;function c(y){return t.call(y)==="[object Number]"&&-2147483648<=y&&y<=2147483647}i(c,"integer"),e.integer=c;function u(y){return t.call(y)==="[object Number]"&&0<=y&&y<=2147483647}i(u,"uinteger"),e.uinteger=u;function d(y){return t.call(y)==="[object Function]"}i(d,"func"),e.func=d;function f(y){return y!==null&&typeof y=="object"}i(f,"objectLiteral"),e.objectLiteral=f;function h(y,v){return Array.isArray(y)&&y.every(v)}i(h,"typedArray"),e.typedArray=h})($||($={}))}}),kn=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){Object.defineProperty(e,"__esModule",{value:!0});var t;function r(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}i(r,"RAL"),(function(n){function a(s){if(s===void 0)throw new Error("No runtime abstraction layer provided");t=s}i(a,"install"),n.install=a})(r||(r={})),e.default=r}}),Cs=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(c){return c===!0||c===!1}i(t,"boolean"),e.boolean=t;function r(c){return typeof c=="string"||c instanceof String}i(r,"string"),e.string=r;function n(c){return typeof c=="number"||c instanceof Number}i(n,"number"),e.number=n;function a(c){return c instanceof Error}i(a,"error"),e.error=a;function s(c){return typeof c=="function"}i(s,"func"),e.func=s;function o(c){return Array.isArray(c)}i(o,"array"),e.array=o;function l(c){return o(c)&&c.every(u=>r(u))}i(l,"stringArray"),e.stringArray=l}}),qa=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var t=kn(),r;(function(s){const o={dispose(){}};s.None=function(){return o}})(r||(e.Event=r={}));var n=class{static{i(this,"CallbackList")}add(s,o=null,l){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(o),Array.isArray(l)&&l.push({dispose:i(()=>this.remove(s,o),"dispose")})}remove(s,o=null){if(!this._callbacks)return;let l=!1;for(let c=0,u=this._callbacks.length;c{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(o,l);const u={dispose:i(()=>{this._callbacks&&(this._callbacks.remove(o,l),u.dispose=wg._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(c)&&c.push(u),u}),this._event}fire(o){this._callbacks&&this._callbacks.invoke.call(this._callbacks,o)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};e.Emitter=a,a._noop=function(){}}}),El=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t=kn(),r=Cs(),n=qa(),a;(function(c){c.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),c.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function u(d){const f=d;return f&&(f===c.None||f===c.Cancelled||r.boolean(f.isCancellationRequested)&&!!f.onCancellationRequested)}i(u,"is"),c.is=u})(a||(e.CancellationToken=a={}));var s=Object.freeze(function(c,u){const d=(0,t.default)().timer.setTimeout(c.bind(u),0);return{dispose(){d.dispose()}}}),o=class{static{i(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?s:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},l=class{static{i(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token.cancel():this._token=a.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=a.None}};e.CancellationTokenSource=l}}),Ig=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t=Cs(),r;(function(g){g.ParseError=-32700,g.InvalidRequest=-32600,g.MethodNotFound=-32601,g.InvalidParams=-32602,g.InternalError=-32603,g.jsonrpcReservedErrorRangeStart=-32099,g.serverErrorStart=-32099,g.MessageWriteError=-32099,g.MessageReadError=-32098,g.PendingResponseRejected=-32097,g.ConnectionInactive=-32096,g.ServerNotInitialized=-32002,g.UnknownErrorCode=-32001,g.jsonrpcReservedErrorRangeEnd=-32e3,g.serverErrorEnd=-32e3})(r||(e.ErrorCodes=r={}));var n=class Ng extends Error{static{i(this,"ResponseError")}constructor(E,T,R){super(T),this.code=t.number(E)?E:r.UnknownErrorCode,this.data=R,Object.setPrototypeOf(this,Ng.prototype)}toJson(){const E={code:this.code,message:this.message};return this.data!==void 0&&(E.data=this.data),E}};e.ResponseError=n;var a=class vo{static{i(this,"ParameterStructures")}constructor(E){this.kind=E}static is(E){return E===vo.auto||E===vo.byName||E===vo.byPosition}toString(){return this.kind}};e.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");var s=class{static{i(this,"AbstractMessageSignature")}constructor(g,E){this.method=g,this.numberOfParams=E}get parameterStructures(){return a.auto}};e.AbstractMessageSignature=s;var o=class extends s{static{i(this,"RequestType0")}constructor(g){super(g,0)}};e.RequestType0=o;var l=class extends s{static{i(this,"RequestType")}constructor(g,E=a.auto){super(g,1),this._parameterStructures=E}get parameterStructures(){return this._parameterStructures}};e.RequestType=l;var c=class extends s{static{i(this,"RequestType1")}constructor(g,E=a.auto){super(g,1),this._parameterStructures=E}get parameterStructures(){return this._parameterStructures}};e.RequestType1=c;var u=class extends s{static{i(this,"RequestType2")}constructor(g){super(g,2)}};e.RequestType2=u;var d=class extends s{static{i(this,"RequestType3")}constructor(g){super(g,3)}};e.RequestType3=d;var f=class extends s{static{i(this,"RequestType4")}constructor(g){super(g,4)}};e.RequestType4=f;var h=class extends s{static{i(this,"RequestType5")}constructor(g){super(g,5)}};e.RequestType5=h;var y=class extends s{static{i(this,"RequestType6")}constructor(g){super(g,6)}};e.RequestType6=y;var v=class extends s{static{i(this,"RequestType7")}constructor(g){super(g,7)}};e.RequestType7=v;var C=class extends s{static{i(this,"RequestType8")}constructor(g){super(g,8)}};e.RequestType8=C;var b=class extends s{static{i(this,"RequestType9")}constructor(g){super(g,9)}};e.RequestType9=b;var w=class extends s{static{i(this,"NotificationType")}constructor(g,E=a.auto){super(g,1),this._parameterStructures=E}get parameterStructures(){return this._parameterStructures}};e.NotificationType=w;var I=class extends s{static{i(this,"NotificationType0")}constructor(g){super(g,0)}};e.NotificationType0=I;var A=class extends s{static{i(this,"NotificationType1")}constructor(g,E=a.auto){super(g,1),this._parameterStructures=E}get parameterStructures(){return this._parameterStructures}};e.NotificationType1=A;var k=class extends s{static{i(this,"NotificationType2")}constructor(g){super(g,2)}};e.NotificationType2=k;var G=class extends s{static{i(this,"NotificationType3")}constructor(g){super(g,3)}};e.NotificationType3=G;var H=class extends s{static{i(this,"NotificationType4")}constructor(g){super(g,4)}};e.NotificationType4=H;var X=class extends s{static{i(this,"NotificationType5")}constructor(g){super(g,5)}};e.NotificationType5=X;var le=class extends s{static{i(this,"NotificationType6")}constructor(g){super(g,6)}};e.NotificationType6=le;var ce=class extends s{static{i(this,"NotificationType7")}constructor(g){super(g,7)}};e.NotificationType7=ce;var Ne=class extends s{static{i(this,"NotificationType8")}constructor(g){super(g,8)}};e.NotificationType8=Ne;var P=class extends s{static{i(this,"NotificationType9")}constructor(g){super(g,9)}};e.NotificationType9=P;var _;(function(g){function E(S){const O=S;return O&&t.string(O.method)&&(t.string(O.id)||t.number(O.id))}i(E,"isRequest"),g.isRequest=E;function T(S){const O=S;return O&&t.string(O.method)&&S.id===void 0}i(T,"isNotification"),g.isNotification=T;function R(S){const O=S;return O&&(O.result!==void 0||!!O.error)&&(t.string(O.id)||t.number(O.id)||O.id===null)}i(R,"isResponse"),g.isResponse=R})(_||(e.Message=_={}))}}),kg=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0;var r;(function(s){s.None=0,s.First=1,s.AsOld=s.First,s.Last=2,s.AsNew=s.Last})(r||(e.Touch=r={}));var n=class{static{i(this,"LinkedMap")}constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(s){return this._map.has(s)}get(s,o=r.None){const l=this._map.get(s);if(l)return o!==r.None&&this.touch(l,o),l.value}set(s,o,l=r.None){let c=this._map.get(s);if(c)c.value=o,l!==r.None&&this.touch(c,l);else{switch(c={key:s,value:o,next:void 0,previous:void 0},l){case r.None:this.addItemLast(c);break;case r.First:this.addItemFirst(c);break;case r.Last:this.addItemLast(c);break;default:this.addItemLast(c);break}this._map.set(s,c),this._size++}return this}delete(s){return!!this.remove(s)}remove(s){const o=this._map.get(s);if(o)return this._map.delete(s),this.removeItem(o),this._size--,o.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const s=this._head;return this._map.delete(s.key),this.removeItem(s),this._size--,s.value}forEach(s,o){const l=this._state;let c=this._head;for(;c;){if(o?s.bind(o)(c.value,c.key,this):s(c.value,c.key,this),this._state!==l)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){const s=this._state;let o=this._head;const l={[Symbol.iterator]:()=>l,next:i(()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:o.key,done:!1};return o=o.next,c}else return{value:void 0,done:!0}},"next")};return l}values(){const s=this._state;let o=this._head;const l={[Symbol.iterator]:()=>l,next:i(()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:o.value,done:!1};return o=o.next,c}else return{value:void 0,done:!0}},"next")};return l}entries(){const s=this._state;let o=this._head;const l={[Symbol.iterator]:()=>l,next:i(()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:[o.key,o.value],done:!1};return o=o.next,c}else return{value:void 0,done:!0}},"next")};return l}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let o=this._head,l=this.size;for(;o&&l>s;)this._map.delete(o.key),o=o.next,l--;this._head=o,this._size=l,o&&(o.previous=void 0),this._state++}addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this._head)s.next=this._head,this._head.previous=s;else throw new Error("Invalid list");this._head=s,this._state++}addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._tail)s.previous=this._tail,this._tail.next=s;else throw new Error("Invalid list");this._tail=s,this._state++}removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this._tail=void 0;else if(s===this._head){if(!s.next)throw new Error("Invalid list");s.next.previous=void 0,this._head=s.next}else if(s===this._tail){if(!s.previous)throw new Error("Invalid list");s.previous.next=void 0,this._tail=s.previous}else{const o=s.next,l=s.previous;if(!o||!l)throw new Error("Invalid list");o.previous=l,l.next=o}s.next=void 0,s.previous=void 0,this._state++}touch(s,o){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(o!==r.First&&o!==r.Last)){if(o===r.First){if(s===this._head)return;const l=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(l.previous=c,c.next=l),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(o===r.Last){if(s===this._tail)return;const l=s.next,c=s.previous;s===this._head?(l.previous=void 0,this._head=l):(l.previous=c,c.next=l),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){const s=[];return this.forEach((o,l)=>{s.push([l,o])}),s}fromJSON(s){this.clear();for(const[o,l]of s)this.set(o,l)}};e.LinkedMap=n;var a=class extends n{static{i(this,"LRUCache")}constructor(s,o=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,o),1)}get limit(){return this._limit}set limit(s){this._limit=s,this.checkTrim()}get ratio(){return this._ratio}set ratio(s){this._ratio=Math.min(Math.max(0,s),1),this.checkTrim()}get(s,o=r.AsNew){return super.get(s,o)}peek(s){return super.get(s,r.None)}set(s,o){return super.set(s,o,r.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};e.LRUCache=a}}),aw=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0;var t;(function(r){function n(a){return{dispose:a}}i(n,"create"),r.create=n})(t||(e.Disposable=t={}))}}),iw=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t=El(),r;(function(l){l.Continue=0,l.Cancelled=1})(r||(r={}));var n=class{static{i(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(l){if(l.id===null)return;const c=new SharedArrayBuffer(4),u=new Int32Array(c,0,1);u[0]=r.Continue,this.buffers.set(l.id,c),l.$cancellationData=c}async sendCancellation(l,c){const u=this.buffers.get(c);if(u===void 0)return;const d=new Int32Array(u,0,1);Atomics.store(d,0,r.Cancelled)}cleanup(l){this.buffers.delete(l)}dispose(){this.buffers.clear()}};e.SharedArraySenderStrategy=n;var a=class{static{i(this,"SharedArrayBufferCancellationToken")}constructor(l){this.data=new Int32Array(l,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},s=class{static{i(this,"SharedArrayBufferCancellationTokenSource")}constructor(l){this.token=new a(l)}cancel(){}dispose(){}},o=class{static{i(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(l){const c=l.$cancellationData;return c===void 0?new t.CancellationTokenSource:new s(c)}};e.SharedArrayReceiverStrategy=o}}),Pg=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=kn(),r=class{static{i(this,"Semaphore")}constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((a,s)=>{this._waiting.push({thunk:n,resolve:a,reject:s}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const a=n.thunk();a instanceof Promise?a.then(s=>{this._active--,n.resolve(s),this.runNext()},s=>{this._active--,n.reject(s),this.runNext()}):(this._active--,n.resolve(a),this.runNext())}catch(a){this._active--,n.reject(a),this.runNext()}}};e.Semaphore=r}}),sw=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t=kn(),r=Cs(),n=qa(),a=Pg(),s;(function(u){function d(f){let h=f;return h&&r.func(h.listen)&&r.func(h.dispose)&&r.func(h.onError)&&r.func(h.onClose)&&r.func(h.onPartialMessage)}i(d,"is"),u.is=d})(s||(e.MessageReader=s={}));var o=class{static{i(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${r.string(u.message)?u.message:"unknown"}`)}};e.AbstractMessageReader=o;var l;(function(u){function d(f){let h,y;const v=new Map;let C;const b=new Map;if(f===void 0||typeof f=="string")h=f??"utf-8";else{if(h=f.charset??"utf-8",f.contentDecoder!==void 0&&(y=f.contentDecoder,v.set(y.name,y)),f.contentDecoders!==void 0)for(const w of f.contentDecoders)v.set(w.name,w);if(f.contentTypeDecoder!==void 0&&(C=f.contentTypeDecoder,b.set(C.name,C)),f.contentTypeDecoders!==void 0)for(const w of f.contentTypeDecoders)b.set(w.name,w)}return C===void 0&&(C=(0,t.default)().applicationJson.decoder,b.set(C.name,C)),{charset:h,contentDecoder:y,contentDecoders:v,contentTypeDecoder:C,contentTypeDecoders:b}}i(d,"fromOptions"),u.fromOptions=d})(l||(l={}));var c=class extends o{static{i(this,"ReadableStreamMessageReader")}constructor(u,d){super(),this.readable=u,this.options=l.fromOptions(d),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new a.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const d=this.readable.onData(f=>{this.onData(f)});return this.readable.onError(f=>this.fireError(f)),this.readable.onClose(()=>this.fireClose()),d}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const f=this.buffer.tryReadHeaders(!0);if(!f)return;const h=f.get("content-length");if(!h){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(f))}`));return}const y=parseInt(h);if(isNaN(y)){this.fireError(new Error(`Content-Length value must be a number. Got ${h}`));return}this.nextMessageLength=y}const d=this.buffer.tryReadBody(this.nextMessageLength);if(d===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const f=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(d):d,h=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(h)}).catch(f=>{this.fireError(f)})}}catch(d){this.fireError(d)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,d)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:d}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};e.ReadableStreamMessageReader=c}}),ow=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t=kn(),r=Cs(),n=Pg(),a=qa(),s="Content-Length: ",o=`\r +`,l;(function(f){function h(y){let v=y;return v&&r.func(v.dispose)&&r.func(v.onClose)&&r.func(v.onError)&&r.func(v.write)}i(h,"is"),f.is=h})(l||(e.MessageWriter=l={}));var c=class{static{i(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f,h,y){this.errorEmitter.fire([this.asError(f),h,y])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(f){return f instanceof Error?f:new Error(`Writer received error. Reason: ${r.string(f.message)?f.message:"unknown"}`)}};e.AbstractMessageWriter=c;var u;(function(f){function h(y){return y===void 0||typeof y=="string"?{charset:y??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:y.charset??"utf-8",contentEncoder:y.contentEncoder,contentTypeEncoder:y.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}i(h,"fromOptions"),f.fromOptions=h})(u||(u={}));var d=class extends c{static{i(this,"WriteableStreamMessageWriter")}constructor(f,h){super(),this.writable=f,this.options=u.fromOptions(h),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(y=>this.fireError(y)),this.writable.onClose(()=>this.fireClose())}async write(f){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(f,this.options).then(y=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(y):y).then(y=>{const v=[];return v.push(s,y.byteLength.toString(),o),v.push(o),this.doWrite(f,v,y)},y=>{throw this.fireError(y),y}))}async doWrite(f,h,y){try{return await this.writable.write(h.join(""),"ascii"),this.writable.write(y)}catch(v){return this.handleError(v,f),Promise.reject(v)}}handleError(f,h){this.errorCount++,this.fireError(f,h,this.errorCount)}end(){this.writable.end()}};e.WriteableStreamMessageWriter=d}}),lw=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0;var t=13,r=10,n=`\r +`,a=class{static{i(this,"AbstractMessageBuffer")}constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){const o=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(o),this._totalLength+=o.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let o=0,l=0,c=0,u=0;e:for(;lthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(u)}if(this._chunks[0].byteLength>s){const u=this._chunks[0],d=this.asNative(u,s);return this._chunks[0]=u.slice(s),this._totalLength-=s,d}const o=this.allocNative(s);let l=0,c=0;for(;s>0;){const u=this._chunks[c];if(u.byteLength>s){const d=u.slice(0,s);o.set(d,l),l+=s,this._chunks[c]=u.slice(s),this._totalLength-=s,s-=s}else o.set(u,l),l+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,s-=u.byteLength}return o}};e.AbstractMessageBuffer=a}}),cw=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t=kn(),r=Cs(),n=Ig(),a=kg(),s=qa(),o=El(),l;(function(g){g.type=new n.NotificationType("$/cancelRequest")})(l||(l={}));var c;(function(g){function E(T){return typeof T=="string"||typeof T=="number"}i(E,"is"),g.is=E})(c||(e.ProgressToken=c={}));var u;(function(g){g.type=new n.NotificationType("$/progress")})(u||(u={}));var d=class{static{i(this,"ProgressType")}constructor(){}};e.ProgressType=d;var f;(function(g){function E(T){return r.func(T)}i(E,"is"),g.is=E})(f||(f={})),e.NullLogger=Object.freeze({error:i(()=>{},"error"),warn:i(()=>{},"warn"),info:i(()=>{},"info"),log:i(()=>{},"log")});var h;(function(g){g[g.Off=0]="Off",g[g.Messages=1]="Messages",g[g.Compact=2]="Compact",g[g.Verbose=3]="Verbose"})(h||(e.Trace=h={}));var y;(function(g){g.Off="off",g.Messages="messages",g.Compact="compact",g.Verbose="verbose"})(y||(e.TraceValues=y={})),(function(g){function E(R){if(!r.string(R))return g.Off;switch(R=R.toLowerCase(),R){case"off":return g.Off;case"messages":return g.Messages;case"compact":return g.Compact;case"verbose":return g.Verbose;default:return g.Off}}i(E,"fromString"),g.fromString=E;function T(R){switch(R){case g.Off:return"off";case g.Messages:return"messages";case g.Compact:return"compact";case g.Verbose:return"verbose";default:return"off"}}i(T,"toString"),g.toString=T})(h||(e.Trace=h={}));var v;(function(g){g.Text="text",g.JSON="json"})(v||(e.TraceFormat=v={})),(function(g){function E(T){return r.string(T)?(T=T.toLowerCase(),T==="json"?g.JSON:g.Text):g.Text}i(E,"fromString"),g.fromString=E})(v||(e.TraceFormat=v={}));var C;(function(g){g.type=new n.NotificationType("$/setTrace")})(C||(e.SetTraceNotification=C={}));var b;(function(g){g.type=new n.NotificationType("$/logTrace")})(b||(e.LogTraceNotification=b={}));var w;(function(g){g[g.Closed=1]="Closed",g[g.Disposed=2]="Disposed",g[g.AlreadyListening=3]="AlreadyListening"})(w||(e.ConnectionErrors=w={}));var I=class Og extends Error{static{i(this,"ConnectionError")}constructor(E,T){super(T),this.code=E,Object.setPrototypeOf(this,Og.prototype)}};e.ConnectionError=I;var A;(function(g){function E(T){const R=T;return R&&r.func(R.cancelUndispatched)}i(E,"is"),g.is=E})(A||(e.ConnectionStrategy=A={}));var k;(function(g){function E(T){const R=T;return R&&(R.kind===void 0||R.kind==="id")&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}i(E,"is"),g.is=E})(k||(e.IdCancellationReceiverStrategy=k={}));var G;(function(g){function E(T){const R=T;return R&&R.kind==="request"&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}i(E,"is"),g.is=E})(G||(e.RequestCancellationReceiverStrategy=G={}));var H;(function(g){g.Message=Object.freeze({createCancellationTokenSource(T){return new o.CancellationTokenSource}});function E(T){return k.is(T)||G.is(T)}i(E,"is"),g.is=E})(H||(e.CancellationReceiverStrategy=H={}));var X;(function(g){g.Message=Object.freeze({sendCancellation(T,R){return T.sendNotification(l.type,{id:R})},cleanup(T){}});function E(T){const R=T;return R&&r.func(R.sendCancellation)&&r.func(R.cleanup)}i(E,"is"),g.is=E})(X||(e.CancellationSenderStrategy=X={}));var le;(function(g){g.Message=Object.freeze({receiver:H.Message,sender:X.Message});function E(T){const R=T;return R&&H.is(R.receiver)&&X.is(R.sender)}i(E,"is"),g.is=E})(le||(e.CancellationStrategy=le={}));var ce;(function(g){function E(T){const R=T;return R&&r.func(R.handleMessage)}i(E,"is"),g.is=E})(ce||(e.MessageStrategy=ce={}));var Ne;(function(g){function E(T){const R=T;return R&&(le.is(R.cancellationStrategy)||A.is(R.connectionStrategy)||ce.is(R.messageStrategy))}i(E,"is"),g.is=E})(Ne||(e.ConnectionOptions=Ne={}));var P;(function(g){g[g.New=1]="New",g[g.Listening=2]="Listening",g[g.Closed=3]="Closed",g[g.Disposed=4]="Disposed"})(P||(P={}));function _(g,E,T,R){const S=T!==void 0?T:e.NullLogger;let O=0,M=0,D=0;const z="2.0";let B;const Z=new Map;let J;const te=new Map,de=new Map;let ct,Re=new a.LinkedMap,Oe=new Map,qe=new Set,Se=new Map,Q=h.Off,rt=v.Text,me,Nt=P.New;const Zn=new s.Emitter,ri=new s.Emitter,ni=new s.Emitter,ai=new s.Emitter,ii=new s.Emitter,kt=R&&R.cancellationStrategy?R.cancellationStrategy:le.Message;function Qn(m){if(m===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+m.toString()}i(Qn,"createRequestQueueKey");function si(m){return m===null?"res-unknown-"+(++D).toString():"res-"+m.toString()}i(si,"createResponseQueueKey");function oi(){return"not-"+(++M).toString()}i(oi,"createNotificationQueueKey");function li(m,N){n.Message.isRequest(N)?m.set(Qn(N.id),N):n.Message.isResponse(N)?m.set(si(N.id),N):m.set(oi(),N)}i(li,"addMessageToQueue");function ci(m){}i(ci,"cancelUndispatched");function ea(){return Nt===P.Listening}i(ea,"isListening");function ta(){return Nt===P.Closed}i(ta,"isClosed");function zt(){return Nt===P.Disposed}i(zt,"isDisposed");function ra(){(Nt===P.New||Nt===P.Listening)&&(Nt=P.Closed,ri.fire(void 0))}i(ra,"closeHandler");function ui(m){Zn.fire([m,void 0,void 0])}i(ui,"readErrorHandler");function di(m){Zn.fire(m)}i(di,"writeErrorHandler"),g.onClose(ra),g.onError(ui),E.onClose(ra),E.onError(di);function na(){ct||Re.size===0||(ct=(0,t.default)().timer.setImmediate(()=>{ct=void 0,fi()}))}i(na,"triggerMessageQueue");function aa(m){n.Message.isRequest(m)?pi(m):n.Message.isNotification(m)?mi(m):n.Message.isResponse(m)?hi(m):gi(m)}i(aa,"handleMessage");function fi(){if(Re.size===0)return;const m=Re.shift();try{const N=R?.messageStrategy;ce.is(N)?N.handleMessage(m,aa):aa(m)}finally{na()}}i(fi,"processMessageQueue");const qs=i(m=>{try{if(n.Message.isNotification(m)&&m.method===l.type.method){const N=m.params.id,L=Qn(N),x=Re.get(L);if(n.Message.isRequest(x)){const ue=R?.connectionStrategy,be=ue&&ue.cancelUndispatched?ue.cancelUndispatched(x,ci):void 0;if(be&&(be.error!==void 0||be.result!==void 0)){Re.delete(L),Se.delete(N),be.id=x.id,Pr(be,m.method,Date.now()),E.write(be).catch(()=>S.error("Sending response for canceled message failed."));return}}const ge=Se.get(N);if(ge!==void 0){ge.cancel(),Yr(m);return}else qe.add(N)}li(Re,m)}finally{na()}},"callback");function pi(m){if(zt())return;function N(re,Ee,se){const De={jsonrpc:z,id:m.id};re instanceof n.ResponseError?De.error=re.toJson():De.result=re===void 0?null:re,Pr(De,Ee,se),E.write(De).catch(()=>S.error("Sending response failed."))}i(N,"reply");function L(re,Ee,se){const De={jsonrpc:z,id:m.id,error:re.toJson()};Pr(De,Ee,se),E.write(De).catch(()=>S.error("Sending response failed."))}i(L,"replyError");function x(re,Ee,se){re===void 0&&(re=null);const De={jsonrpc:z,id:m.id,result:re};Pr(De,Ee,se),E.write(De).catch(()=>S.error("Sending response failed."))}i(x,"replySuccess"),Ti(m);const ge=Z.get(m.method);let ue,be;ge&&(ue=ge.type,be=ge.handler);const ke=Date.now();if(be||B){const re=m.id??String(Date.now()),Ee=k.is(kt.receiver)?kt.receiver.createCancellationTokenSource(re):kt.receiver.createCancellationTokenSource(m);m.id!==null&&qe.has(m.id)&&Ee.cancel(),m.id!==null&&Se.set(re,Ee);try{let se;if(be)if(m.params===void 0){if(ue!==void 0&&ue.numberOfParams!==0){L(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${m.method} defines ${ue.numberOfParams} params but received none.`),m.method,ke);return}se=be(Ee.token)}else if(Array.isArray(m.params)){if(ue!==void 0&&ue.parameterStructures===n.ParameterStructures.byName){L(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${m.method} defines parameters by name but received parameters by position`),m.method,ke);return}se=be(...m.params,Ee.token)}else{if(ue!==void 0&&ue.parameterStructures===n.ParameterStructures.byPosition){L(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${m.method} defines parameters by position but received parameters by name`),m.method,ke);return}se=be(m.params,Ee.token)}else B&&(se=B(m.method,m.params,Ee.token));const De=se;se?De.then?De.then(We=>{Se.delete(re),N(We,m.method,ke)},We=>{Se.delete(re),We instanceof n.ResponseError?L(We,m.method,ke):We&&r.string(We.message)?L(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${m.method} failed with message: ${We.message}`),m.method,ke):L(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${m.method} failed unexpectedly without providing any details.`),m.method,ke)}):(Se.delete(re),N(se,m.method,ke)):(Se.delete(re),x(se,m.method,ke))}catch(se){Se.delete(re),se instanceof n.ResponseError?N(se,m.method,ke):se&&r.string(se.message)?L(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${m.method} failed with message: ${se.message}`),m.method,ke):L(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${m.method} failed unexpectedly without providing any details.`),m.method,ke)}}else L(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${m.method}`),m.method,ke)}i(pi,"handleRequest");function hi(m){if(!zt())if(m.id===null)m.error?S.error(`Received response message without id: Error is: +${JSON.stringify(m.error,void 0,4)}`):S.error("Received response message without id. No further error information provided.");else{const N=m.id,L=Oe.get(N);if(Ri(m,L),L!==void 0){Oe.delete(N);try{if(m.error){const x=m.error;L.reject(new n.ResponseError(x.code,x.message,x.data))}else if(m.result!==void 0)L.resolve(m.result);else throw new Error("Should never happen.")}catch(x){x.message?S.error(`Response handler '${L.method}' failed with message: ${x.message}`):S.error(`Response handler '${L.method}' failed unexpectedly.`)}}}}i(hi,"handleResponse");function mi(m){if(zt())return;let N,L;if(m.method===l.type.method){const x=m.params.id;qe.delete(x),Yr(m);return}else{const x=te.get(m.method);x&&(L=x.handler,N=x.type)}if(L||J)try{if(Yr(m),L)if(m.params===void 0)N!==void 0&&N.numberOfParams!==0&&N.parameterStructures!==n.ParameterStructures.byName&&S.error(`Notification ${m.method} defines ${N.numberOfParams} params but received none.`),L();else if(Array.isArray(m.params)){const x=m.params;m.method===u.type.method&&x.length===2&&c.is(x[0])?L({token:x[0],value:x[1]}):(N!==void 0&&(N.parameterStructures===n.ParameterStructures.byName&&S.error(`Notification ${m.method} defines parameters by name but received parameters by position`),N.numberOfParams!==m.params.length&&S.error(`Notification ${m.method} defines ${N.numberOfParams} params but received ${x.length} arguments`)),L(...x))}else N!==void 0&&N.parameterStructures===n.ParameterStructures.byPosition&&S.error(`Notification ${m.method} defines parameters by position but received parameters by name`),L(m.params);else J&&J(m.method,m.params)}catch(x){x.message?S.error(`Notification handler '${m.method}' failed with message: ${x.message}`):S.error(`Notification handler '${m.method}' failed unexpectedly.`)}else ni.fire(m)}i(mi,"handleNotification");function gi(m){if(!m){S.error("Received empty message.");return}S.error(`Received message which is neither a response nor a notification message: +${JSON.stringify(m,null,4)}`);const N=m;if(r.string(N.id)||r.number(N.id)){const L=N.id,x=Oe.get(L);x&&x.reject(new Error("The received response has neither a result nor an error property."))}}i(gi,"handleInvalidMessage");function $t(m){if(m!=null)switch(Q){case h.Verbose:return JSON.stringify(m,null,4);case h.Compact:return JSON.stringify(m);default:return}}i($t,"stringifyTrace");function yi(m){if(!(Q===h.Off||!me))if(rt===v.Text){let N;(Q===h.Verbose||Q===h.Compact)&&m.params&&(N=`Params: ${$t(m.params)} + +`),me.log(`Sending request '${m.method} - (${m.id})'.`,N)}else Bt("send-request",m)}i(yi,"traceSendingRequest");function vi(m){if(!(Q===h.Off||!me))if(rt===v.Text){let N;(Q===h.Verbose||Q===h.Compact)&&(m.params?N=`Params: ${$t(m.params)} + +`:N=`No parameters provided. + +`),me.log(`Sending notification '${m.method}'.`,N)}else Bt("send-notification",m)}i(vi,"traceSendingNotification");function Pr(m,N,L){if(!(Q===h.Off||!me))if(rt===v.Text){let x;(Q===h.Verbose||Q===h.Compact)&&(m.error&&m.error.data?x=`Error data: ${$t(m.error.data)} + +`:m.result?x=`Result: ${$t(m.result)} + +`:m.error===void 0&&(x=`No result returned. + +`)),me.log(`Sending response '${N} - (${m.id})'. Processing request took ${Date.now()-L}ms`,x)}else Bt("send-response",m)}i(Pr,"traceSendingResponse");function Ti(m){if(!(Q===h.Off||!me))if(rt===v.Text){let N;(Q===h.Verbose||Q===h.Compact)&&m.params&&(N=`Params: ${$t(m.params)} + +`),me.log(`Received request '${m.method} - (${m.id})'.`,N)}else Bt("receive-request",m)}i(Ti,"traceReceivedRequest");function Yr(m){if(!(Q===h.Off||!me||m.method===b.type.method))if(rt===v.Text){let N;(Q===h.Verbose||Q===h.Compact)&&(m.params?N=`Params: ${$t(m.params)} + +`:N=`No parameters provided. + +`),me.log(`Received notification '${m.method}'.`,N)}else Bt("receive-notification",m)}i(Yr,"traceReceivedNotification");function Ri(m,N){if(!(Q===h.Off||!me))if(rt===v.Text){let L;if((Q===h.Verbose||Q===h.Compact)&&(m.error&&m.error.data?L=`Error data: ${$t(m.error.data)} + +`:m.result?L=`Result: ${$t(m.result)} + +`:m.error===void 0&&(L=`No result returned. + +`)),N){const x=m.error?` Request failed: ${m.error.message} (${m.error.code}).`:"";me.log(`Received response '${N.method} - (${m.id})' in ${Date.now()-N.timerStart}ms.${x}`,L)}else me.log(`Received response ${m.id} without active response promise.`,L)}else Bt("receive-response",m)}i(Ri,"traceReceivedResponse");function Bt(m,N){if(!me||Q===h.Off)return;const L={isLSPMessage:!0,type:m,message:N,timestamp:Date.now()};me.log(L)}i(Bt,"logLSPMessage");function lr(){if(ta())throw new I(w.Closed,"Connection is closed.");if(zt())throw new I(w.Disposed,"Connection is disposed.")}i(lr,"throwIfClosedOrDisposed");function $i(){if(ea())throw new I(w.AlreadyListening,"Connection is already listening")}i($i,"throwIfListening");function Ai(){if(!ea())throw new Error("Call listen() first.")}i(Ai,"throwIfNotListening");function cr(m){return m===void 0?null:m}i(cr,"undefinedToNull");function ia(m){if(m!==null)return m}i(ia,"nullToUndefined");function p(m){return m!=null&&!Array.isArray(m)&&typeof m=="object"}i(p,"isNamedParam");function ae(m,N){switch(m){case n.ParameterStructures.auto:return p(N)?ia(N):[cr(N)];case n.ParameterStructures.byName:if(!p(N))throw new Error("Received parameters by name but param is not an object literal.");return ia(N);case n.ParameterStructures.byPosition:return[cr(N)];default:throw new Error(`Unknown parameter structure ${m.toString()}`)}}i(ae,"computeSingleParam");function $e(m,N){let L;const x=m.numberOfParams;switch(x){case 0:L=void 0;break;case 1:L=ae(m.parameterStructures,N[0]);break;default:L=[];for(let ge=0;ge{lr();let L,x;if(r.string(m)){L=m;const ue=N[0];let be=0,ke=n.ParameterStructures.auto;n.ParameterStructures.is(ue)&&(be=1,ke=ue);let re=N.length;const Ee=re-be;switch(Ee){case 0:x=void 0;break;case 1:x=ae(ke,N[be]);break;default:if(ke===n.ParameterStructures.byName)throw new Error(`Received ${Ee} parameters for 'by Name' notification parameter structure.`);x=N.slice(be,re).map(se=>cr(se));break}}else{const ue=N;L=m.method,x=$e(m,ue)}const ge={jsonrpc:z,method:L,params:x};return vi(ge),E.write(ge).catch(ue=>{throw S.error("Sending notification failed."),ue})},"sendNotification"),onNotification:i((m,N)=>{lr();let L;return r.func(m)?J=m:N&&(r.string(m)?(L=m,te.set(m,{type:void 0,handler:N})):(L=m.method,te.set(m.method,{type:m,handler:N}))),{dispose:i(()=>{L!==void 0?te.delete(L):J=void 0},"dispose")}},"onNotification"),onProgress:i((m,N,L)=>{if(de.has(N))throw new Error(`Progress handler for token ${N} already registered`);return de.set(N,L),{dispose:i(()=>{de.delete(N)},"dispose")}},"onProgress"),sendProgress:i((m,N,L)=>W.sendNotification(u.type,{token:N,value:L}),"sendProgress"),onUnhandledProgress:ai.event,sendRequest:i((m,...N)=>{lr(),Ai();let L,x,ge;if(r.string(m)){L=m;const re=N[0],Ee=N[N.length-1];let se=0,De=n.ParameterStructures.auto;n.ParameterStructures.is(re)&&(se=1,De=re);let We=N.length;o.CancellationToken.is(Ee)&&(We=We-1,ge=Ee);const Kt=We-se;switch(Kt){case 0:x=void 0;break;case 1:x=ae(De,N[se]);break;default:if(De===n.ParameterStructures.byName)throw new Error(`Received ${Kt} parameters for 'by Name' request parameter structure.`);x=N.slice(se,We).map(Zb=>cr(Zb));break}}else{const re=N;L=m.method,x=$e(m,re);const Ee=m.numberOfParams;ge=o.CancellationToken.is(re[Ee])?re[Ee]:void 0}const ue=O++;let be;ge&&(be=ge.onCancellationRequested(()=>{const re=kt.sender.sendCancellation(W,ue);return re===void 0?(S.log(`Received no promise from cancellation strategy when cancelling id ${ue}`),Promise.resolve()):re.catch(()=>{S.log(`Sending cancellation messages for id ${ue} failed`)})}));const ke={jsonrpc:z,id:ue,method:L,params:x};return yi(ke),typeof kt.sender.enableCancellation=="function"&&kt.sender.enableCancellation(ke),new Promise(async(re,Ee)=>{const se=i(Kt=>{re(Kt),kt.sender.cleanup(ue),be?.dispose()},"resolveWithCleanup"),De=i(Kt=>{Ee(Kt),kt.sender.cleanup(ue),be?.dispose()},"rejectWithCleanup"),We={method:L,timerStart:Date.now(),resolve:se,reject:De};try{await E.write(ke),Oe.set(ue,We)}catch(Kt){throw S.error("Sending request failed."),We.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,Kt.message?Kt.message:"Unknown reason")),Kt}})},"sendRequest"),onRequest:i((m,N)=>{lr();let L=null;return f.is(m)?(L=void 0,B=m):r.string(m)?(L=null,N!==void 0&&(L=m,Z.set(m,{handler:N,type:void 0}))):N!==void 0&&(L=m.method,Z.set(m.method,{type:m,handler:N})),{dispose:i(()=>{L!==null&&(L!==void 0?Z.delete(L):B=void 0)},"dispose")}},"onRequest"),hasPendingResponse:i(()=>Oe.size>0,"hasPendingResponse"),trace:i(async(m,N,L)=>{let x=!1,ge=v.Text;L!==void 0&&(r.boolean(L)?x=L:(x=L.sendNotification||!1,ge=L.traceFormat||v.Text)),Q=m,rt=ge,Q===h.Off?me=void 0:me=N,x&&!ta()&&!zt()&&await W.sendNotification(C.type,{value:h.toString(m)})},"trace"),onError:Zn.event,onClose:ri.event,onUnhandledNotification:ni.event,onDispose:ii.event,end:i(()=>{E.end()},"end"),dispose:i(()=>{if(zt())return;Nt=P.Disposed,ii.fire(void 0);const m=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const N of Oe.values())N.reject(m);Oe=new Map,Se=new Map,qe=new Set,Re=new a.LinkedMap,r.func(E.dispose)&&E.dispose(),r.func(g.dispose)&&g.dispose()},"dispose"),listen:i(()=>{lr(),$i(),Nt=P.Listening,g.listen(qs)},"listen"),inspect:i(()=>{(0,t.default)().console.log("inspect")},"inspect")};return W.onNotification(b.type,m=>{if(Q===h.Off||!me)return;const N=Q===h.Verbose||Q===h.Compact;me.log(m.message,N?m.verbose:void 0)}),W.onNotification(u.type,m=>{const N=de.get(m.token);N?N(m.value):ai.fire(m)}),W}i(_,"createMessageConnection"),e.createMessageConnection=_}}),ed=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=Ig();Object.defineProperty(e,"Message",{enumerable:!0,get:i(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:i(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:i(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:i(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:i(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:i(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:i(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:i(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:i(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:i(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:i(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:i(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:i(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:i(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:i(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:i(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:i(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:i(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:i(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:i(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:i(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:i(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:i(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:i(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:i(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:i(function(){return t.ParameterStructures},"get")});var r=kg();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:i(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:i(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:i(function(){return r.Touch},"get")});var n=aw();Object.defineProperty(e,"Disposable",{enumerable:!0,get:i(function(){return n.Disposable},"get")});var a=qa();Object.defineProperty(e,"Event",{enumerable:!0,get:i(function(){return a.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:i(function(){return a.Emitter},"get")});var s=El();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:i(function(){return s.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:i(function(){return s.CancellationToken},"get")});var o=iw();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:i(function(){return o.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:i(function(){return o.SharedArrayReceiverStrategy},"get")});var l=sw();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:i(function(){return l.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:i(function(){return l.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:i(function(){return l.ReadableStreamMessageReader},"get")});var c=ow();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:i(function(){return c.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:i(function(){return c.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:i(function(){return c.WriteableStreamMessageWriter},"get")});var u=lw();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:i(function(){return u.AbstractMessageBuffer},"get")});var d=cw();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:i(function(){return d.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:i(function(){return d.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:i(function(){return d.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:i(function(){return d.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:i(function(){return d.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:i(function(){return d.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:i(function(){return d.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:i(function(){return d.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:i(function(){return d.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:i(function(){return d.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:i(function(){return d.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:i(function(){return d.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:i(function(){return d.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:i(function(){return d.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:i(function(){return d.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:i(function(){return d.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:i(function(){return d.MessageStrategy},"get")});var f=kn();e.RAL=f.default}}),uw=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=ed(),r=class Lg extends t.AbstractMessageBuffer{static{i(this,"MessageBuffer")}constructor(u="utf-8"){super(u),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return Lg.emptyBuffer}fromString(u,d){return new TextEncoder().encode(u)}toString(u,d){return d==="ascii"?this.asciiDecoder.decode(u):new TextDecoder(d).decode(u)}asNative(u,d){return d===void 0?u:u.slice(0,d)}allocNative(u){return new Uint8Array(u)}};r.emptyBuffer=new Uint8Array(0);var n=class{static{i(this,"ReadableStreamWrapper")}constructor(c){this.socket=c,this._onData=new t.Emitter,this._messageListener=u=>{u.data.arrayBuffer().then(f=>{this._onData.fire(new Uint8Array(f))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}onData(c){return this._onData.event(c)}},a=class{static{i(this,"WritableStreamWrapper")}constructor(c){this.socket=c}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}write(c,u){if(typeof c=="string"){if(u!==void 0&&u!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u}`);this.socket.send(c)}else this.socket.send(c);return Promise.resolve()}end(){this.socket.close()}},s=new TextEncoder,o=Object.freeze({messageBuffer:Object.freeze({create:i(c=>new r(c),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:i((c,u)=>{if(u.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${u.charset}`);return Promise.resolve(s.encode(JSON.stringify(c,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:i((c,u)=>{if(!(c instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(u.charset).decode(c)))},"decode")})}),stream:Object.freeze({asReadableStream:i(c=>new n(c),"asReadableStream"),asWritableStream:i(c=>new a(c),"asWritableStream")}),console,timer:Object.freeze({setTimeout(c,u,...d){const f=setTimeout(c,u,...d);return{dispose:i(()=>clearTimeout(f),"dispose")}},setImmediate(c,...u){const d=setTimeout(c,0,...u);return{dispose:i(()=>clearTimeout(d),"dispose")}},setInterval(c,u,...d){const f=setInterval(c,u,...d);return{dispose:i(()=>clearInterval(f),"dispose")}}})});function l(){return o}i(l,"RIL"),(function(c){function u(){t.RAL.install(o)}i(u,"install"),c.install=u})(l||(l={})),e.default=l}}),Wa=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){var t=e&&e.__createBinding||(Object.create?(function(c,u,d,f){f===void 0&&(f=d);var h=Object.getOwnPropertyDescriptor(u,d);(!h||("get"in h?!u.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:i(function(){return u[d]},"get")}),Object.defineProperty(c,f,h)}):(function(c,u,d,f){f===void 0&&(f=d),c[f]=u[d]})),r=e&&e.__exportStar||function(c,u){for(var d in c)d!=="default"&&!Object.prototype.hasOwnProperty.call(u,d)&&t(u,c,d)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0;var n=uw();n.default.install();var a=ed();r(ed(),e);var s=class extends a.AbstractMessageReader{static{i(this,"BrowserMessageReader")}constructor(c){super(),this._onData=new a.Emitter,this._messageListener=u=>{this._onData.fire(u.data)},c.addEventListener("error",u=>this.fireError(u)),c.onmessage=this._messageListener}listen(c){return this._onData.event(c)}};e.BrowserMessageReader=s;var o=class extends a.AbstractMessageWriter{static{i(this,"BrowserMessageWriter")}constructor(c){super(),this.port=c,this.errorCount=0,c.addEventListener("error",u=>this.fireError(u))}write(c){try{return this.port.postMessage(c),Promise.resolve()}catch(u){return this.handleError(u,c),Promise.reject(u)}}handleError(c,u){this.errorCount++,this.fireError(c,u,this.errorCount)}end(){}};e.BrowserMessageWriter=o;function l(c,u,d,f){return d===void 0&&(d=a.NullLogger),a.ConnectionStrategy.is(f)&&(f={connectionStrategy:f}),(0,a.createMessageConnection)(c,u,d,f)}i(l,"createMessageConnection"),e.createMessageConnection=l}}),xh=V({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){t.exports=Wa()}}),Ce=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t=Wa(),r;(function(c){c.clientToServer="clientToServer",c.serverToClient="serverToClient",c.both="both"})(r||(e.MessageDirection=r={}));var n=class{static{i(this,"RegistrationType")}constructor(c){this.method=c}};e.RegistrationType=n;var a=class extends t.RequestType0{static{i(this,"ProtocolRequestType0")}constructor(c){super(c)}};e.ProtocolRequestType0=a;var s=class extends t.RequestType{static{i(this,"ProtocolRequestType")}constructor(c){super(c,t.ParameterStructures.byName)}};e.ProtocolRequestType=s;var o=class extends t.NotificationType0{static{i(this,"ProtocolNotificationType0")}constructor(c){super(c)}};e.ProtocolNotificationType0=o;var l=class extends t.NotificationType{static{i(this,"ProtocolNotificationType")}constructor(c){super(c,t.ParameterStructures.byName)}};e.ProtocolNotificationType=l}}),Qd=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(d){return d===!0||d===!1}i(t,"boolean"),e.boolean=t;function r(d){return typeof d=="string"||d instanceof String}i(r,"string"),e.string=r;function n(d){return typeof d=="number"||d instanceof Number}i(n,"number"),e.number=n;function a(d){return d instanceof Error}i(a,"error"),e.error=a;function s(d){return typeof d=="function"}i(s,"func"),e.func=s;function o(d){return Array.isArray(d)}i(o,"array"),e.array=o;function l(d){return o(d)&&d.every(f=>r(f))}i(l,"stringArray"),e.stringArray=l;function c(d,f){return Array.isArray(d)&&d.every(f)}i(c,"typedArray"),e.typedArray=c;function u(d){return d!==null&&typeof d=="object"}i(u,"objectLiteral"),e.objectLiteral=u}}),dw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t=Ce(),r;(function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ImplementationRequest=r={}))}}),fw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t=Ce(),r;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.TypeDefinitionRequest=r={}))}}),pw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t=Ce(),r;(function(a){a.method="workspace/workspaceFolders",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(r||(e.WorkspaceFoldersRequest=r={}));var n;(function(a){a.method="workspace/didChangeWorkspaceFolders",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolNotificationType(a.method)})(n||(e.DidChangeWorkspaceFoldersNotification=n={}))}}),hw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t=Ce(),r;(function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ConfigurationRequest=r={}))}}),mw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t=Ce(),r;(function(a){a.method="textDocument/documentColor",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.DocumentColorRequest=r={}));var n;(function(a){a.method="textDocument/colorPresentation",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(n||(e.ColorPresentationRequest=n={}))}}),gw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t=Ce(),r;(function(a){a.method="textDocument/foldingRange",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.FoldingRangeRequest=r={}));var n;(function(a){a.method="workspace/foldingRange/refresh",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(n||(e.FoldingRangeRefreshRequest=n={}))}}),yw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t=Ce(),r;(function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.DeclarationRequest=r={}))}}),vw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t=Ce(),r;(function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.SelectionRangeRequest=r={}))}}),Tw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t=Wa(),r=Ce(),n;(function(o){o.type=new t.ProgressType;function l(c){return c===o.type}i(l,"is"),o.is=l})(n||(e.WorkDoneProgress=n={}));var a;(function(o){o.method="window/workDoneProgress/create",o.messageDirection=r.MessageDirection.serverToClient,o.type=new r.ProtocolRequestType(o.method)})(a||(e.WorkDoneProgressCreateRequest=a={}));var s;(function(o){o.method="window/workDoneProgress/cancel",o.messageDirection=r.MessageDirection.clientToServer,o.type=new r.ProtocolNotificationType(o.method)})(s||(e.WorkDoneProgressCancelNotification=s={}))}}),Rw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t=Ce(),r;(function(s){s.method="textDocument/prepareCallHierarchy",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(r||(e.CallHierarchyPrepareRequest=r={}));var n;(function(s){s.method="callHierarchy/incomingCalls",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(n||(e.CallHierarchyIncomingCallsRequest=n={}));var a;(function(s){s.method="callHierarchy/outgoingCalls",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(a||(e.CallHierarchyOutgoingCallsRequest=a={}))}}),$w=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t=Ce(),r;(function(c){c.Relative="relative"})(r||(e.TokenFormat=r={}));var n;(function(c){c.method="textDocument/semanticTokens",c.type=new t.RegistrationType(c.method)})(n||(e.SemanticTokensRegistrationType=n={}));var a;(function(c){c.method="textDocument/semanticTokens/full",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method),c.registrationMethod=n.method})(a||(e.SemanticTokensRequest=a={}));var s;(function(c){c.method="textDocument/semanticTokens/full/delta",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method),c.registrationMethod=n.method})(s||(e.SemanticTokensDeltaRequest=s={}));var o;(function(c){c.method="textDocument/semanticTokens/range",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method),c.registrationMethod=n.method})(o||(e.SemanticTokensRangeRequest=o={}));var l;(function(c){c.method="workspace/semanticTokens/refresh",c.messageDirection=t.MessageDirection.serverToClient,c.type=new t.ProtocolRequestType0(c.method)})(l||(e.SemanticTokensRefreshRequest=l={}))}}),Aw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t=Ce(),r;(function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ShowDocumentRequest=r={}))}}),Ew=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t=Ce(),r;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.LinkedEditingRangeRequest=r={}))}}),_w=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t=Ce(),r;(function(u){u.file="file",u.folder="folder"})(r||(e.FileOperationPatternKind=r={}));var n;(function(u){u.method="workspace/willCreateFiles",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolRequestType(u.method)})(n||(e.WillCreateFilesRequest=n={}));var a;(function(u){u.method="workspace/didCreateFiles",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolNotificationType(u.method)})(a||(e.DidCreateFilesNotification=a={}));var s;(function(u){u.method="workspace/willRenameFiles",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolRequestType(u.method)})(s||(e.WillRenameFilesRequest=s={}));var o;(function(u){u.method="workspace/didRenameFiles",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolNotificationType(u.method)})(o||(e.DidRenameFilesNotification=o={}));var l;(function(u){u.method="workspace/didDeleteFiles",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolNotificationType(u.method)})(l||(e.DidDeleteFilesNotification=l={}));var c;(function(u){u.method="workspace/willDeleteFiles",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolRequestType(u.method)})(c||(e.WillDeleteFilesRequest=c={}))}}),Cw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t=Ce(),r;(function(s){s.document="document",s.project="project",s.group="group",s.scheme="scheme",s.global="global"})(r||(e.UniquenessLevel=r={}));var n;(function(s){s.$import="import",s.$export="export",s.local="local"})(n||(e.MonikerKind=n={}));var a;(function(s){s.method="textDocument/moniker",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(a||(e.MonikerRequest=a={}))}}),Sw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t=Ce(),r;(function(s){s.method="textDocument/prepareTypeHierarchy",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(r||(e.TypeHierarchyPrepareRequest=r={}));var n;(function(s){s.method="typeHierarchy/supertypes",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(n||(e.TypeHierarchySupertypesRequest=n={}));var a;(function(s){s.method="typeHierarchy/subtypes",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(a||(e.TypeHierarchySubtypesRequest=a={}))}}),bw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t=Ce(),r;(function(a){a.method="textDocument/inlineValue",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.InlineValueRequest=r={}));var n;(function(a){a.method="workspace/inlineValue/refresh",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(n||(e.InlineValueRefreshRequest=n={}))}}),ww=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t=Ce(),r;(function(s){s.method="textDocument/inlayHint",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(r||(e.InlayHintRequest=r={}));var n;(function(s){s.method="inlayHint/resolve",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(n||(e.InlayHintResolveRequest=n={}));var a;(function(s){s.method="workspace/inlayHint/refresh",s.messageDirection=t.MessageDirection.serverToClient,s.type=new t.ProtocolRequestType0(s.method)})(a||(e.InlayHintRefreshRequest=a={}))}}),Iw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t=Wa(),r=Qd(),n=Ce(),a;(function(u){function d(f){const h=f;return h&&r.boolean(h.retriggerRequest)}i(d,"is"),u.is=d})(a||(e.DiagnosticServerCancellationData=a={}));var s;(function(u){u.Full="full",u.Unchanged="unchanged"})(s||(e.DocumentDiagnosticReportKind=s={}));var o;(function(u){u.method="textDocument/diagnostic",u.messageDirection=n.MessageDirection.clientToServer,u.type=new n.ProtocolRequestType(u.method),u.partialResult=new t.ProgressType})(o||(e.DocumentDiagnosticRequest=o={}));var l;(function(u){u.method="workspace/diagnostic",u.messageDirection=n.MessageDirection.clientToServer,u.type=new n.ProtocolRequestType(u.method),u.partialResult=new t.ProgressType})(l||(e.WorkspaceDiagnosticRequest=l={}));var c;(function(u){u.method="workspace/diagnostic/refresh",u.messageDirection=n.MessageDirection.serverToClient,u.type=new n.ProtocolRequestType0(u.method)})(c||(e.DiagnosticRefreshRequest=c={}))}}),Nw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t=(_s(),Zd(Al)),r=Qd(),n=Ce(),a;(function(v){v.Markup=1,v.Code=2;function C(b){return b===1||b===2}i(C,"is"),v.is=C})(a||(e.NotebookCellKind=a={}));var s;(function(v){function C(I,A){const k={executionOrder:I};return(A===!0||A===!1)&&(k.success=A),k}i(C,"create"),v.create=C;function b(I){const A=I;return r.objectLiteral(A)&&t.uinteger.is(A.executionOrder)&&(A.success===void 0||r.boolean(A.success))}i(b,"is"),v.is=b;function w(I,A){return I===A?!0:I==null||A===null||A===void 0?!1:I.executionOrder===A.executionOrder&&I.success===A.success}i(w,"equals"),v.equals=w})(s||(e.ExecutionSummary=s={}));var o;(function(v){function C(A,k){return{kind:A,document:k}}i(C,"create"),v.create=C;function b(A){const k=A;return r.objectLiteral(k)&&a.is(k.kind)&&t.DocumentUri.is(k.document)&&(k.metadata===void 0||r.objectLiteral(k.metadata))}i(b,"is"),v.is=b;function w(A,k){const G=new Set;return A.document!==k.document&&G.add("document"),A.kind!==k.kind&&G.add("kind"),A.executionSummary!==k.executionSummary&&G.add("executionSummary"),(A.metadata!==void 0||k.metadata!==void 0)&&!I(A.metadata,k.metadata)&&G.add("metadata"),(A.executionSummary!==void 0||k.executionSummary!==void 0)&&!s.equals(A.executionSummary,k.executionSummary)&&G.add("executionSummary"),G}i(w,"diff"),v.diff=w;function I(A,k){if(A===k)return!0;if(A==null||k===null||k===void 0||typeof A!=typeof k||typeof A!="object")return!1;const G=Array.isArray(A),H=Array.isArray(k);if(G!==H)return!1;if(G&&H){if(A.length!==k.length)return!1;for(let X=0;X0}i(ae,"hasId"),p.hasId=ae})(O||(e.StaticRegistrationOptions=O={}));var M;(function(p){function ae($e){const W=$e;return W&&(W.documentSelector===null||_.is(W.documentSelector))}i(ae,"is"),p.is=ae})(M||(e.TextDocumentRegistrationOptions=M={}));var D;(function(p){function ae(W){const m=W;return n.objectLiteral(m)&&(m.workDoneProgress===void 0||n.boolean(m.workDoneProgress))}i(ae,"is"),p.is=ae;function $e(W){const m=W;return m&&n.boolean(m.workDoneProgress)}i($e,"hasWorkDoneProgress"),p.hasWorkDoneProgress=$e})(D||(e.WorkDoneProgressOptions=D={}));var z;(function(p){p.method="initialize",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(z||(e.InitializeRequest=z={}));var B;(function(p){p.unknownProtocolVersion=1})(B||(e.InitializeErrorCodes=B={}));var Z;(function(p){p.method="initialized",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(Z||(e.InitializedNotification=Z={}));var J;(function(p){p.method="shutdown",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType0(p.method)})(J||(e.ShutdownRequest=J={}));var te;(function(p){p.method="exit",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType0(p.method)})(te||(e.ExitNotification=te={}));var de;(function(p){p.method="workspace/didChangeConfiguration",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(de||(e.DidChangeConfigurationNotification=de={}));var ct;(function(p){p.Error=1,p.Warning=2,p.Info=3,p.Log=4,p.Debug=5})(ct||(e.MessageType=ct={}));var Re;(function(p){p.method="window/showMessage",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolNotificationType(p.method)})(Re||(e.ShowMessageNotification=Re={}));var Oe;(function(p){p.method="window/showMessageRequest",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolRequestType(p.method)})(Oe||(e.ShowMessageRequest=Oe={}));var qe;(function(p){p.method="window/logMessage",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolNotificationType(p.method)})(qe||(e.LogMessageNotification=qe={}));var Se;(function(p){p.method="telemetry/event",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolNotificationType(p.method)})(Se||(e.TelemetryEventNotification=Se={}));var Q;(function(p){p.None=0,p.Full=1,p.Incremental=2})(Q||(e.TextDocumentSyncKind=Q={}));var rt;(function(p){p.method="textDocument/didOpen",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(rt||(e.DidOpenTextDocumentNotification=rt={}));var me;(function(p){function ae(W){let m=W;return m!=null&&typeof m.text=="string"&&m.range!==void 0&&(m.rangeLength===void 0||typeof m.rangeLength=="number")}i(ae,"isIncremental"),p.isIncremental=ae;function $e(W){let m=W;return m!=null&&typeof m.text=="string"&&m.range===void 0&&m.rangeLength===void 0}i($e,"isFull"),p.isFull=$e})(me||(e.TextDocumentContentChangeEvent=me={}));var Nt;(function(p){p.method="textDocument/didChange",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(Nt||(e.DidChangeTextDocumentNotification=Nt={}));var Zn;(function(p){p.method="textDocument/didClose",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(Zn||(e.DidCloseTextDocumentNotification=Zn={}));var ri;(function(p){p.method="textDocument/didSave",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(ri||(e.DidSaveTextDocumentNotification=ri={}));var ni;(function(p){p.Manual=1,p.AfterDelay=2,p.FocusOut=3})(ni||(e.TextDocumentSaveReason=ni={}));var ai;(function(p){p.method="textDocument/willSave",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(ai||(e.WillSaveTextDocumentNotification=ai={}));var ii;(function(p){p.method="textDocument/willSaveWaitUntil",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ii||(e.WillSaveTextDocumentWaitUntilRequest=ii={}));var kt;(function(p){p.method="workspace/didChangeWatchedFiles",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(kt||(e.DidChangeWatchedFilesNotification=kt={}));var Qn;(function(p){p.Created=1,p.Changed=2,p.Deleted=3})(Qn||(e.FileChangeType=Qn={}));var si;(function(p){function ae($e){const W=$e;return n.objectLiteral(W)&&(r.URI.is(W.baseUri)||r.WorkspaceFolder.is(W.baseUri))&&n.string(W.pattern)}i(ae,"is"),p.is=ae})(si||(e.RelativePattern=si={}));var oi;(function(p){p.Create=1,p.Change=2,p.Delete=4})(oi||(e.WatchKind=oi={}));var li;(function(p){p.method="textDocument/publishDiagnostics",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolNotificationType(p.method)})(li||(e.PublishDiagnosticsNotification=li={}));var ci;(function(p){p.Invoked=1,p.TriggerCharacter=2,p.TriggerForIncompleteCompletions=3})(ci||(e.CompletionTriggerKind=ci={}));var ea;(function(p){p.method="textDocument/completion",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ea||(e.CompletionRequest=ea={}));var ta;(function(p){p.method="completionItem/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ta||(e.CompletionResolveRequest=ta={}));var zt;(function(p){p.method="textDocument/hover",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(zt||(e.HoverRequest=zt={}));var ra;(function(p){p.Invoked=1,p.TriggerCharacter=2,p.ContentChange=3})(ra||(e.SignatureHelpTriggerKind=ra={}));var ui;(function(p){p.method="textDocument/signatureHelp",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ui||(e.SignatureHelpRequest=ui={}));var di;(function(p){p.method="textDocument/definition",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(di||(e.DefinitionRequest=di={}));var na;(function(p){p.method="textDocument/references",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(na||(e.ReferencesRequest=na={}));var aa;(function(p){p.method="textDocument/documentHighlight",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(aa||(e.DocumentHighlightRequest=aa={}));var fi;(function(p){p.method="textDocument/documentSymbol",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(fi||(e.DocumentSymbolRequest=fi={}));var qs;(function(p){p.method="textDocument/codeAction",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(qs||(e.CodeActionRequest=qs={}));var pi;(function(p){p.method="codeAction/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(pi||(e.CodeActionResolveRequest=pi={}));var hi;(function(p){p.method="workspace/symbol",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(hi||(e.WorkspaceSymbolRequest=hi={}));var mi;(function(p){p.method="workspaceSymbol/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(mi||(e.WorkspaceSymbolResolveRequest=mi={}));var gi;(function(p){p.method="textDocument/codeLens",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(gi||(e.CodeLensRequest=gi={}));var $t;(function(p){p.method="codeLens/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})($t||(e.CodeLensResolveRequest=$t={}));var yi;(function(p){p.method="workspace/codeLens/refresh",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolRequestType0(p.method)})(yi||(e.CodeLensRefreshRequest=yi={}));var vi;(function(p){p.method="textDocument/documentLink",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(vi||(e.DocumentLinkRequest=vi={}));var Pr;(function(p){p.method="documentLink/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Pr||(e.DocumentLinkResolveRequest=Pr={}));var Ti;(function(p){p.method="textDocument/formatting",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Ti||(e.DocumentFormattingRequest=Ti={}));var Yr;(function(p){p.method="textDocument/rangeFormatting",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Yr||(e.DocumentRangeFormattingRequest=Yr={}));var Ri;(function(p){p.method="textDocument/rangesFormatting",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Ri||(e.DocumentRangesFormattingRequest=Ri={}));var Bt;(function(p){p.method="textDocument/onTypeFormatting",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Bt||(e.DocumentOnTypeFormattingRequest=Bt={}));var lr;(function(p){p.Identifier=1})(lr||(e.PrepareSupportDefaultBehavior=lr={}));var $i;(function(p){p.method="textDocument/rename",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})($i||(e.RenameRequest=$i={}));var Ai;(function(p){p.method="textDocument/prepareRename",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Ai||(e.PrepareRenameRequest=Ai={}));var cr;(function(p){p.method="workspace/executeCommand",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(cr||(e.ExecuteCommandRequest=cr={}));var ia;(function(p){p.method="workspace/applyEdit",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolRequestType("workspace/applyEdit")})(ia||(e.ApplyWorkspaceEditRequest=ia={}))}}),Ow=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=Wa();function r(n,a,s,o){return t.ConnectionStrategy.is(o)&&(o={connectionStrategy:o}),(0,t.createMessageConnection)(n,a,s,o)}i(r,"createProtocolConnection"),e.createProtocolConnection=r}}),Lw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){var t=e&&e.__createBinding||(Object.create?(function(s,o,l,c){c===void 0&&(c=l);var u=Object.getOwnPropertyDescriptor(o,l);(!u||("get"in u?!o.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:i(function(){return o[l]},"get")}),Object.defineProperty(s,c,u)}):(function(s,o,l,c){c===void 0&&(c=l),s[c]=o[l]})),r=e&&e.__exportStar||function(s,o){for(var l in s)l!=="default"&&!Object.prototype.hasOwnProperty.call(o,l)&&t(o,s,l)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,r(Wa(),e),r((_s(),Zd(Al)),e),r(Ce(),e),r(Pw(),e);var n=Ow();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:i(function(){return n.createProtocolConnection},"get")});var a;(function(s){s.lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800})(a||(e.LSPErrorCodes=a={}))}}),Dw=V({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){var t=e&&e.__createBinding||(Object.create?(function(s,o,l,c){c===void 0&&(c=l);var u=Object.getOwnPropertyDescriptor(o,l);(!u||("get"in u?!o.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:i(function(){return o[l]},"get")}),Object.defineProperty(s,c,u)}):(function(s,o,l,c){c===void 0&&(c=l),s[c]=o[l]})),r=e&&e.__exportStar||function(s,o){for(var l in s)l!=="default"&&!Object.prototype.hasOwnProperty.call(o,l)&&t(o,s,l)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var n=xh();r(xh(),e),r(Lw(),e);function a(s,o,l,c){return(0,n.createMessageConnection)(s,o,l,c)}i(a,"createProtocolConnection"),e.createProtocolConnection=a}}),Dg={};Kr(Dg,{AbstractAstReflection:()=>rf,AbstractCstNode:()=>ih,AbstractLangiumParser:()=>oh,AbstractParserErrorMessageProvider:()=>CS,AbstractThreadedAsyncParser:()=>iF,AstUtils:()=>nf,BiMap:()=>yl,Cancellation:()=>pe,CompositeCstNodeImpl:()=>Tc,ContextCache:()=>Sc,CstNodeBuilder:()=>$S,CstUtils:()=>ef,DEFAULT_TOKENIZE_OPTIONS:()=>Ch,DONE_RESULT:()=>Ve,DatatypeSymbol:()=>pl,DefaultAstNodeDescriptionProvider:()=>tb,DefaultAstNodeLocator:()=>nb,DefaultAsyncParser:()=>$b,DefaultCommentProvider:()=>Rb,DefaultConfigurationProvider:()=>ab,DefaultDocumentBuilder:()=>ib,DefaultDocumentValidator:()=>eb,DefaultHydrator:()=>Eb,DefaultIndexManager:()=>sb,DefaultJsonSerializer:()=>XS,DefaultLangiumDocumentFactory:()=>US,DefaultLangiumDocuments:()=>zS,DefaultLangiumProfiler:()=>uF,DefaultLexer:()=>Sh,DefaultLexerErrorMessageProvider:()=>lb,DefaultLinker:()=>BS,DefaultNameProvider:()=>KS,DefaultReferenceDescriptionProvider:()=>rb,DefaultReferences:()=>qS,DefaultScopeComputation:()=>WS,DefaultScopeProvider:()=>YS,DefaultServiceRegistry:()=>JS,DefaultTokenBuilder:()=>Ac,DefaultValueConverter:()=>hh,DefaultWorkspaceLock:()=>Ab,DefaultWorkspaceManager:()=>ob,Deferred:()=>Sr,Disposable:()=>Sn,DisposableCache:()=>Cc,DocumentCache:()=>HS,DocumentState:()=>Y,DocumentValidator:()=>Et,EMPTY_SCOPE:()=>tF,EMPTY_STREAM:()=>Oa,EmptyFileSystem:()=>It,EmptyFileSystemProvider:()=>Sb,ErrorWithLocation:()=>Pl,GrammarAST:()=>Fg,GrammarUtils:()=>Lf,IndentationAwareLexer:()=>oF,IndentationAwareTokenBuilder:()=>Cb,JSDocDocumentationProvider:()=>Tb,LangiumCompletionParser:()=>SS,LangiumParser:()=>_S,LangiumParserErrorMessageProvider:()=>lh,LeafCstNodeImpl:()=>fl,LexingMode:()=>_n,MapScope:()=>eF,Module:()=>Md,MultiMap:()=>br,MultiMapScope:()=>VS,OperationCancelled:()=>Zt,ParserWorker:()=>sF,ProfilingTask:()=>wb,Reduction:()=>os,RefResolving:()=>sn,RegExpUtils:()=>Mf,RootCstNodeImpl:()=>sh,SimpleCache:()=>Rh,StreamImpl:()=>Jt,StreamScope:()=>Pd,TextDocument:()=>ml,TreeStreamImpl:()=>La,URI:()=>dt,UriTrie:()=>vh,UriUtils:()=>Ye,VALIDATE_EACH_NODE:()=>QS,ValidationCategory:()=>vl,ValidationRegistry:()=>ZS,ValueConverter:()=>Yt,WorkspaceCache:()=>$h,assertCondition:()=>Df,assertUnreachable:()=>qr,createCompletionParser:()=>dh,createDefaultCoreModule:()=>yt,createDefaultSharedCoreModule:()=>vt,createGrammarConfig:()=>ep,createLangiumParser:()=>fh,createParser:()=>Rc,delayNextTick:()=>Ec,diagnosticData:()=>En,eagerLoad:()=>Oh,getDiagnosticRange:()=>Eh,indentationBuilderDefaultOptions:()=>Fd,inject:()=>Ae,interruptAndCheck:()=>Ge,isAstNode:()=>Le,isAstNodeDescription:()=>tf,isAstNodeWithComment:()=>Ah,isCompositeCstNode:()=>vr,isIMultiModeLexerDefinition:()=>Ic,isJSDoc:()=>wh,isLeafCstNode:()=>Pn,isLinkingError:()=>cn,isMultiReference:()=>Qt,isNamed:()=>Th,isOperationCancelled:()=>Jn,isReference:()=>He,isRootCstNode:()=>_l,isTokenTypeArray:()=>wc,isTokenTypeDictionary:()=>Tl,loadGrammarFromJson:()=>Tt,parseJSDoc:()=>bh,prepareLangiumParser:()=>ph,setInterruptionPeriod:()=>mh,startCancelableOperation:()=>_c,stream:()=>oe,toDiagnosticData:()=>_h,toDiagnosticSeverity:()=>is});var ef={};Kr(ef,{DefaultNameRegexp:()=>If,RangeComparison:()=>Xt,compareRange:()=>bf,findCommentNode:()=>Nf,findDeclarationNodeAtOffset:()=>ny,findLeafNodeAtOffset:()=>kl,findLeafNodeBeforeOffset:()=>kf,flattenCst:()=>ry,getDatatypeNode:()=>ty,getInteriorNodes:()=>sy,getNextNode:()=>ay,getPreviousNode:()=>Of,getStartlineNode:()=>iy,inRange:()=>wf,isChildNode:()=>Sf,isCommentNode:()=>Xo,streamCst:()=>Fa,toDocumentSegment:()=>Ga,tokenToRange:()=>ls});function Le(e){return typeof e=="object"&&e!==null&&typeof e.$type=="string"}i(Le,"isAstNode");function He(e){return typeof e=="object"&&e!==null&&typeof e.$refText=="string"&&"ref"in e}i(He,"isReference");function Qt(e){return typeof e=="object"&&e!==null&&typeof e.$refText=="string"&&"items"in e}i(Qt,"isMultiReference");function tf(e){return typeof e=="object"&&e!==null&&typeof e.name=="string"&&typeof e.type=="string"&&typeof e.path=="string"}i(tf,"isAstNodeDescription");function cn(e){return typeof e=="object"&&e!==null&&typeof e.info=="object"&&typeof e.message=="string"}i(cn,"isLinkingError");var rf=class{static{i(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const t=this.types[e.container.$type];if(!t)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=t.properties[e.property]?.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return Le(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const n=r[t];if(n!==void 0)return n;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,t)):!1;return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),n=[];for(const a of r)this.isSubtype(a,e)&&n.push(a);return this.allSubtypes[e]=n,n}}};function vr(e){return typeof e=="object"&&e!==null&&Array.isArray(e.content)}i(vr,"isCompositeCstNode");function Pn(e){return typeof e=="object"&&e!==null&&typeof e.tokenType=="object"}i(Pn,"isLeafCstNode");function _l(e){return vr(e)&&typeof e.fullText=="string"}i(_l,"isRootCstNode");var Jt=class fr{static{i(this,"StreamImpl")}constructor(t,r){this.startFn=t,this.nextFn=r}iterator(){const t={state:this.startFn(),next:i(()=>this.nextFn(t.state),"next"),[Symbol.iterator]:()=>t};return t}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const t=this.iterator();let r=0,n=t.next();for(;!n.done;)r++,n=t.next();return r}toArray(){const t=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&t.push(n.value);while(!n.done);return t}toSet(){return new Set(this)}toMap(t,r){const n=this.map(a=>[t?t(a):a,r?r(a):a]);return new Map(n)}toString(){return this.join()}concat(t){return new fr(()=>({first:this.startFn(),firstDone:!1,iterator:t[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 Ve})}join(t=","){const r=this.iterator();let n="",a,s=!1;do a=r.next(),a.done||(s&&(n+=t),n+=Mg(a.value)),s=!0;while(!a.done);return n}indexOf(t,r=0){const n=this.iterator();let a=0,s=n.next();for(;!s.done;){if(a>=r&&s.value===t)return a;s=n.next(),a++}return-1}every(t){const r=this.iterator();let n=r.next();for(;!n.done;){if(!t(n.value))return!1;n=r.next()}return!0}some(t){const r=this.iterator();let n=r.next();for(;!n.done;){if(t(n.value))return!0;n=r.next()}return!1}forEach(t){const r=this.iterator();let n=0,a=r.next();for(;!a.done;)t(a.value,n),a=r.next(),n++}map(t){return new fr(this.startFn,r=>{const{done:n,value:a}=this.nextFn(r);return n?Ve:{done:!1,value:t(a)}})}filter(t){return new fr(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&t(n.value))return n;while(!n.done);return Ve})}nonNullable(){return this.filter(t=>t!=null)}reduce(t,r){const n=this.iterator();let a=r,s=n.next();for(;!s.done;)a===void 0?a=s.value:a=t(a,s.value),s=n.next();return a}reduceRight(t,r){return this.recursiveReduce(this.iterator(),t,r)}recursiveReduce(t,r,n){const a=t.next();if(a.done)return n;const s=this.recursiveReduce(t,r,n);return s===void 0?a.value:r(s,a.value)}find(t){const r=this.iterator();let n=r.next();for(;!n.done;){if(t(n.value))return n.value;n=r.next()}}findIndex(t){const r=this.iterator();let n=0,a=r.next();for(;!a.done;){if(t(a.value))return n;a=r.next(),n++}return-1}includes(t){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===t)return!0;n=r.next()}return!1}flatMap(t){return new fr(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const s=r.iterator.next();if(s.done)r.iterator=void 0;else return s}const{done:n,value:a}=this.nextFn(r.this);if(!n){const s=t(a);if(ss(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(r.iterator);return Ve})}flat(t){if(t===void 0&&(t=1),t<=0)return this;const r=t>1?this.flat(t-1):this;return new fr(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const o=n.iterator.next();if(o.done)n.iterator=void 0;else return o}const{done:a,value:s}=r.nextFn(n.this);if(!a)if(ss(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(n.iterator);return Ve})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(t=1){return new fr(()=>{const r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>t?Ve:this.nextFn(r.state)))}distinct(t){return new fr(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const a=t?t(n.value):n.value;if(!r.set.has(a))return r.set.add(a),n}while(!n.done);return Ve})}exclude(t,r){const n=new Set;for(const a of t){const s=r?r(a):a;n.add(s)}return this.filter(a=>{const s=r?r(a):a;return!n.has(s)})}};function Mg(e){return typeof e=="string"?e:typeof e>"u"?"undefined":typeof e.toString=="function"?e.toString():Object.prototype.toString.call(e)}i(Mg,"toString");function ss(e){return!!e&&typeof e[Symbol.iterator]=="function"}i(ss,"isIterable");var Oa=new Jt(()=>{},()=>Ve),Ve=Object.freeze({done:!0,value:void 0});function oe(...e){if(e.length===1){const t=e[0];if(t instanceof Jt)return t;if(ss(t))return new Jt(()=>t[Symbol.iterator](),r=>r.next());if(typeof t.length=="number")return new Jt(()=>({index:0}),r=>r.index1?new Jt(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){const r=t.iterator.next();if(!r.done)return r;t.iterator=void 0}if(t.array){if(t.arrIndex({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),n=>{for(n.pruned&&(n.iterators.pop(),n.pruned=!1);n.iterators.length>0;){const s=n.iterators[n.iterators.length-1].next();if(s.done)n.iterators.pop();else return n.iterators.push(t(s.value)[Symbol.iterator]()),s}return Ve})}iterator(){const e={state:this.startFn(),next:i(()=>this.nextFn(e.state),"next"),prune:i(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},os;(function(e){function t(s){return s.reduce((o,l)=>o+l,0)}i(t,"sum"),e.sum=t;function r(s){return s.reduce((o,l)=>o*l,0)}i(r,"product"),e.product=r;function n(s){return s.reduce((o,l)=>Math.min(o,l))}i(n,"min"),e.min=n;function a(s){return s.reduce((o,l)=>Math.max(o,l))}i(a,"max"),e.max=a})(os||(os={}));var nf={};Kr(nf,{assignMandatoryProperties:()=>af,copyAstNode:()=>Mo,findRootNode:()=>Ia,getContainerOfType:()=>On,getDocument:()=>Dt,getReferenceNodes:()=>Lo,hasContainerOfType:()=>xg,linkContentToContainer:()=>Da,streamAllContents:()=>wr,streamAst:()=>Mt,streamContents:()=>Ss,streamReferences:()=>Ma});function Da(e,t={}){for(const[r,n]of Object.entries(e))r.startsWith("$")||(Array.isArray(n)?n.forEach((a,s)=>{Le(a)&&(a.$container=e,a.$containerProperty=r,a.$containerIndex=s,t.deep&&Da(a,t))}):Le(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&Da(n,t)))}i(Da,"linkContentToContainer");function On(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}i(On,"getContainerOfType");function xg(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}i(xg,"hasContainerOfType");function Dt(e){const r=Ia(e).$document;if(!r)throw new Error("AST node has no document.");return r}i(Dt,"getDocument");function Ia(e){for(;e.$container;)e=e.$container;return e}i(Ia,"findRootNode");function Lo(e){return He(e)?e.ref?[e.ref]:[]:Qt(e)?e.items.map(t=>t.ref):[]}i(Lo,"getReferenceNodes");function Ss(e,t){if(!e)throw new Error("Node must be an AstNode.");const r=t?.range;return new Jt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexSs(r,t))}i(wr,"streamAllContents");function Mt(e,t){if(e){if(t?.range&&!Do(e,t.range))return new La(e,()=>[])}else throw new Error("Root node must be an AstNode.");return new La(e,r=>Ss(r,t),{includeRoot:!0})}i(Mt,"streamAst");function Do(e,t){if(!t)return!0;const r=e.$cstNode?.range;return r?wf(r,t):!1}i(Do,"isAstNodeInRange");function Ma(e){return new Jt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndexnt,AbstractParserRule:()=>qi,AbstractRule:()=>$a,AbstractType:()=>ut,Action:()=>Lr,Alternatives:()=>Wi,ArrayLiteral:()=>xo,ArrayType:()=>Fo,Assignment:()=>Dr,BooleanLiteral:()=>Go,CharacterRange:()=>Mr,Condition:()=>xr,Conjunction:()=>Vi,CrossReference:()=>Fr,Disjunction:()=>Hi,EndOfFile:()=>jo,Grammar:()=>mr,GrammarImport:()=>Uo,Group:()=>un,InferredType:()=>zo,InfixRule:()=>Ht,InfixRuleOperatorList:()=>Yi,InfixRuleOperators:()=>Bo,Interface:()=>Aa,Keyword:()=>Ea,LangiumGrammarAstReflection:()=>Cf,LangiumGrammarTerminals:()=>Mw,NamedArgument:()=>_a,NegatedToken:()=>dn,Negation:()=>Ko,NumberLiteral:()=>qo,Parameter:()=>Ca,ParameterReference:()=>Wo,ParserRule:()=>Pt,ReferenceType:()=>Xi,RegexToken:()=>fn,ReturnType:()=>Vo,RuleCall:()=>pn,SimpleType:()=>Sa,StringLiteral:()=>Ho,TerminalAlternatives:()=>hn,TerminalElement:()=>at,TerminalGroup:()=>mn,TerminalRule:()=>gr,TerminalRuleCall:()=>gn,Type:()=>Ji,TypeAttribute:()=>yn,TypeDefinition:()=>vn,UnionType:()=>Yo,UnorderedGroup:()=>Zi,UntilToken:()=>Tn,ValueLiteral:()=>Rn,Wildcard:()=>ba,isAbstractElement:()=>Cl,isAbstractParserRule:()=>Ln,isAbstractRule:()=>Gg,isAbstractType:()=>jg,isAction:()=>Gr,isAlternatives:()=>Sl,isArrayLiteral:()=>Ug,isArrayType:()=>of,isAssignment:()=>Tr,isBooleanLiteral:()=>lf,isCharacterRange:()=>cf,isCondition:()=>zg,isConjunction:()=>uf,isCrossReference:()=>Dn,isDisjunction:()=>df,isEndOfFile:()=>ff,isGrammar:()=>Bg,isGrammarImport:()=>Kg,isGroup:()=>Mn,isInferredType:()=>bs,isInfixRule:()=>xa,isInfixRuleOperatorList:()=>qg,isInfixRuleOperators:()=>Wg,isInterface:()=>pf,isKeyword:()=>Rr,isNamedArgument:()=>Vg,isNegatedToken:()=>hf,isNegation:()=>mf,isNumberLiteral:()=>Hg,isParameter:()=>Yg,isParameterReference:()=>gf,isParserRule:()=>Je,isReferenceType:()=>yf,isRegexToken:()=>vf,isReturnType:()=>Tf,isRuleCall:()=>$r,isSimpleType:()=>bl,isStringLiteral:()=>Xg,isTerminalAlternatives:()=>Rf,isTerminalElement:()=>Jg,isTerminalGroup:()=>$f,isTerminalRule:()=>bt,isTerminalRuleCall:()=>wl,isType:()=>Il,isTypeAttribute:()=>Zg,isTypeDefinition:()=>Qg,isUnionType:()=>Af,isUnorderedGroup:()=>Nl,isUntilToken:()=>Ef,isValueLiteral:()=>ey,isWildcard:()=>_f,reflection:()=>j});var Mw={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]*/},nt={$type:"AbstractElement",cardinality:"cardinality"};function Cl(e){return j.isInstance(e,nt.$type)}i(Cl,"isAbstractElement");var qi={$type:"AbstractParserRule"};function Ln(e){return j.isInstance(e,qi.$type)}i(Ln,"isAbstractParserRule");var $a={$type:"AbstractRule"};function Gg(e){return j.isInstance(e,$a.$type)}i(Gg,"isAbstractRule");var ut={$type:"AbstractType"};function jg(e){return j.isInstance(e,ut.$type)}i(jg,"isAbstractType");var Lr={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Gr(e){return j.isInstance(e,Lr.$type)}i(Gr,"isAction");var Wi={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Sl(e){return j.isInstance(e,Wi.$type)}i(Sl,"isAlternatives");var xo={$type:"ArrayLiteral",elements:"elements"};function Ug(e){return j.isInstance(e,xo.$type)}i(Ug,"isArrayLiteral");var Fo={$type:"ArrayType",elementType:"elementType"};function of(e){return j.isInstance(e,Fo.$type)}i(of,"isArrayType");var Dr={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Tr(e){return j.isInstance(e,Dr.$type)}i(Tr,"isAssignment");var Go={$type:"BooleanLiteral",true:"true"};function lf(e){return j.isInstance(e,Go.$type)}i(lf,"isBooleanLiteral");var Mr={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function cf(e){return j.isInstance(e,Mr.$type)}i(cf,"isCharacterRange");var xr={$type:"Condition"};function zg(e){return j.isInstance(e,xr.$type)}i(zg,"isCondition");var Vi={$type:"Conjunction",left:"left",right:"right"};function uf(e){return j.isInstance(e,Vi.$type)}i(uf,"isConjunction");var Fr={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Dn(e){return j.isInstance(e,Fr.$type)}i(Dn,"isCrossReference");var Hi={$type:"Disjunction",left:"left",right:"right"};function df(e){return j.isInstance(e,Hi.$type)}i(df,"isDisjunction");var jo={$type:"EndOfFile",cardinality:"cardinality"};function ff(e){return j.isInstance(e,jo.$type)}i(ff,"isEndOfFile");var mr={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function Bg(e){return j.isInstance(e,mr.$type)}i(Bg,"isGrammar");var Uo={$type:"GrammarImport",path:"path"};function Kg(e){return j.isInstance(e,Uo.$type)}i(Kg,"isGrammarImport");var un={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Mn(e){return j.isInstance(e,un.$type)}i(Mn,"isGroup");var zo={$type:"InferredType",name:"name"};function bs(e){return j.isInstance(e,zo.$type)}i(bs,"isInferredType");var Ht={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function xa(e){return j.isInstance(e,Ht.$type)}i(xa,"isInfixRule");var Yi={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function qg(e){return j.isInstance(e,Yi.$type)}i(qg,"isInfixRuleOperatorList");var Bo={$type:"InfixRuleOperators",precedences:"precedences"};function Wg(e){return j.isInstance(e,Bo.$type)}i(Wg,"isInfixRuleOperators");var Aa={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function pf(e){return j.isInstance(e,Aa.$type)}i(pf,"isInterface");var Ea={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Rr(e){return j.isInstance(e,Ea.$type)}i(Rr,"isKeyword");var _a={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function Vg(e){return j.isInstance(e,_a.$type)}i(Vg,"isNamedArgument");var dn={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function hf(e){return j.isInstance(e,dn.$type)}i(hf,"isNegatedToken");var Ko={$type:"Negation",value:"value"};function mf(e){return j.isInstance(e,Ko.$type)}i(mf,"isNegation");var qo={$type:"NumberLiteral",value:"value"};function Hg(e){return j.isInstance(e,qo.$type)}i(Hg,"isNumberLiteral");var Ca={$type:"Parameter",name:"name"};function Yg(e){return j.isInstance(e,Ca.$type)}i(Yg,"isParameter");var Wo={$type:"ParameterReference",parameter:"parameter"};function gf(e){return j.isInstance(e,Wo.$type)}i(gf,"isParameterReference");var Pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Je(e){return j.isInstance(e,Pt.$type)}i(Je,"isParserRule");var Xi={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function yf(e){return j.isInstance(e,Xi.$type)}i(yf,"isReferenceType");var fn={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function vf(e){return j.isInstance(e,fn.$type)}i(vf,"isRegexToken");var Vo={$type:"ReturnType",name:"name"};function Tf(e){return j.isInstance(e,Vo.$type)}i(Tf,"isReturnType");var pn={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function $r(e){return j.isInstance(e,pn.$type)}i($r,"isRuleCall");var Sa={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function bl(e){return j.isInstance(e,Sa.$type)}i(bl,"isSimpleType");var Ho={$type:"StringLiteral",value:"value"};function Xg(e){return j.isInstance(e,Ho.$type)}i(Xg,"isStringLiteral");var hn={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Rf(e){return j.isInstance(e,hn.$type)}i(Rf,"isTerminalAlternatives");var at={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Jg(e){return j.isInstance(e,at.$type)}i(Jg,"isTerminalElement");var mn={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function $f(e){return j.isInstance(e,mn.$type)}i($f,"isTerminalGroup");var gr={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function bt(e){return j.isInstance(e,gr.$type)}i(bt,"isTerminalRule");var gn={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function wl(e){return j.isInstance(e,gn.$type)}i(wl,"isTerminalRuleCall");var Ji={$type:"Type",name:"name",type:"type"};function Il(e){return j.isInstance(e,Ji.$type)}i(Il,"isType");var yn={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function Zg(e){return j.isInstance(e,yn.$type)}i(Zg,"isTypeAttribute");var vn={$type:"TypeDefinition"};function Qg(e){return j.isInstance(e,vn.$type)}i(Qg,"isTypeDefinition");var Yo={$type:"UnionType",types:"types"};function Af(e){return j.isInstance(e,Yo.$type)}i(Af,"isUnionType");var Zi={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Nl(e){return j.isInstance(e,Zi.$type)}i(Nl,"isUnorderedGroup");var Tn={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Ef(e){return j.isInstance(e,Tn.$type)}i(Ef,"isUntilToken");var Rn={$type:"ValueLiteral"};function ey(e){return j.isInstance(e,Rn.$type)}i(ey,"isValueLiteral");var ba={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function _f(e){return j.isInstance(e,ba.$type)}i(_f,"isWildcard");var Cf=class extends rf{static{i(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:nt.$type,properties:{cardinality:{name:nt.cardinality}},superTypes:[]},AbstractParserRule:{name:qi.$type,properties:{},superTypes:[$a.$type,ut.$type]},AbstractRule:{name:$a.$type,properties:{},superTypes:[]},AbstractType:{name:ut.$type,properties:{},superTypes:[]},Action:{name:Lr.$type,properties:{cardinality:{name:Lr.cardinality},feature:{name:Lr.feature},inferredType:{name:Lr.inferredType},operator:{name:Lr.operator},type:{name:Lr.type,referenceType:ut.$type}},superTypes:[nt.$type]},Alternatives:{name:Wi.$type,properties:{cardinality:{name:Wi.cardinality},elements:{name:Wi.elements,defaultValue:[]}},superTypes:[nt.$type]},ArrayLiteral:{name:xo.$type,properties:{elements:{name:xo.elements,defaultValue:[]}},superTypes:[Rn.$type]},ArrayType:{name:Fo.$type,properties:{elementType:{name:Fo.elementType}},superTypes:[vn.$type]},Assignment:{name:Dr.$type,properties:{cardinality:{name:Dr.cardinality},feature:{name:Dr.feature},operator:{name:Dr.operator},predicate:{name:Dr.predicate},terminal:{name:Dr.terminal}},superTypes:[nt.$type]},BooleanLiteral:{name:Go.$type,properties:{true:{name:Go.true,defaultValue:!1}},superTypes:[xr.$type,Rn.$type]},CharacterRange:{name:Mr.$type,properties:{cardinality:{name:Mr.cardinality},left:{name:Mr.left},lookahead:{name:Mr.lookahead},parenthesized:{name:Mr.parenthesized,defaultValue:!1},right:{name:Mr.right}},superTypes:[at.$type]},Condition:{name:xr.$type,properties:{},superTypes:[]},Conjunction:{name:Vi.$type,properties:{left:{name:Vi.left},right:{name:Vi.right}},superTypes:[xr.$type]},CrossReference:{name:Fr.$type,properties:{cardinality:{name:Fr.cardinality},deprecatedSyntax:{name:Fr.deprecatedSyntax,defaultValue:!1},isMulti:{name:Fr.isMulti,defaultValue:!1},terminal:{name:Fr.terminal},type:{name:Fr.type,referenceType:ut.$type}},superTypes:[nt.$type]},Disjunction:{name:Hi.$type,properties:{left:{name:Hi.left},right:{name:Hi.right}},superTypes:[xr.$type]},EndOfFile:{name:jo.$type,properties:{cardinality:{name:jo.cardinality}},superTypes:[nt.$type]},Grammar:{name:mr.$type,properties:{imports:{name:mr.imports,defaultValue:[]},interfaces:{name:mr.interfaces,defaultValue:[]},isDeclared:{name:mr.isDeclared,defaultValue:!1},name:{name:mr.name},rules:{name:mr.rules,defaultValue:[]},types:{name:mr.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Uo.$type,properties:{path:{name:Uo.path}},superTypes:[]},Group:{name:un.$type,properties:{cardinality:{name:un.cardinality},elements:{name:un.elements,defaultValue:[]},guardCondition:{name:un.guardCondition},predicate:{name:un.predicate}},superTypes:[nt.$type]},InferredType:{name:zo.$type,properties:{name:{name:zo.name}},superTypes:[ut.$type]},InfixRule:{name:Ht.$type,properties:{call:{name:Ht.call},dataType:{name:Ht.dataType},inferredType:{name:Ht.inferredType},name:{name:Ht.name},operators:{name:Ht.operators},parameters:{name:Ht.parameters,defaultValue:[]},returnType:{name:Ht.returnType,referenceType:ut.$type}},superTypes:[qi.$type]},InfixRuleOperatorList:{name:Yi.$type,properties:{associativity:{name:Yi.associativity},operators:{name:Yi.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Bo.$type,properties:{precedences:{name:Bo.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Aa.$type,properties:{attributes:{name:Aa.attributes,defaultValue:[]},name:{name:Aa.name},superTypes:{name:Aa.superTypes,defaultValue:[],referenceType:ut.$type}},superTypes:[ut.$type]},Keyword:{name:Ea.$type,properties:{cardinality:{name:Ea.cardinality},predicate:{name:Ea.predicate},value:{name:Ea.value}},superTypes:[nt.$type]},NamedArgument:{name:_a.$type,properties:{calledByName:{name:_a.calledByName,defaultValue:!1},parameter:{name:_a.parameter,referenceType:Ca.$type},value:{name:_a.value}},superTypes:[]},NegatedToken:{name:dn.$type,properties:{cardinality:{name:dn.cardinality},lookahead:{name:dn.lookahead},parenthesized:{name:dn.parenthesized,defaultValue:!1},terminal:{name:dn.terminal}},superTypes:[at.$type]},Negation:{name:Ko.$type,properties:{value:{name:Ko.value}},superTypes:[xr.$type]},NumberLiteral:{name:qo.$type,properties:{value:{name:qo.value}},superTypes:[Rn.$type]},Parameter:{name:Ca.$type,properties:{name:{name:Ca.name}},superTypes:[]},ParameterReference:{name:Wo.$type,properties:{parameter:{name:Wo.parameter,referenceType:Ca.$type}},superTypes:[xr.$type]},ParserRule:{name:Pt.$type,properties:{dataType:{name:Pt.dataType},definition:{name:Pt.definition},entry:{name:Pt.entry,defaultValue:!1},fragment:{name:Pt.fragment,defaultValue:!1},inferredType:{name:Pt.inferredType},name:{name:Pt.name},parameters:{name:Pt.parameters,defaultValue:[]},returnType:{name:Pt.returnType,referenceType:ut.$type}},superTypes:[qi.$type]},ReferenceType:{name:Xi.$type,properties:{isMulti:{name:Xi.isMulti,defaultValue:!1},referenceType:{name:Xi.referenceType}},superTypes:[vn.$type]},RegexToken:{name:fn.$type,properties:{cardinality:{name:fn.cardinality},lookahead:{name:fn.lookahead},parenthesized:{name:fn.parenthesized,defaultValue:!1},regex:{name:fn.regex}},superTypes:[at.$type]},ReturnType:{name:Vo.$type,properties:{name:{name:Vo.name}},superTypes:[]},RuleCall:{name:pn.$type,properties:{arguments:{name:pn.arguments,defaultValue:[]},cardinality:{name:pn.cardinality},predicate:{name:pn.predicate},rule:{name:pn.rule,referenceType:$a.$type}},superTypes:[nt.$type]},SimpleType:{name:Sa.$type,properties:{primitiveType:{name:Sa.primitiveType},stringType:{name:Sa.stringType},typeRef:{name:Sa.typeRef,referenceType:ut.$type}},superTypes:[vn.$type]},StringLiteral:{name:Ho.$type,properties:{value:{name:Ho.value}},superTypes:[Rn.$type]},TerminalAlternatives:{name:hn.$type,properties:{cardinality:{name:hn.cardinality},elements:{name:hn.elements,defaultValue:[]},lookahead:{name:hn.lookahead},parenthesized:{name:hn.parenthesized,defaultValue:!1}},superTypes:[at.$type]},TerminalElement:{name:at.$type,properties:{cardinality:{name:at.cardinality},lookahead:{name:at.lookahead},parenthesized:{name:at.parenthesized,defaultValue:!1}},superTypes:[nt.$type]},TerminalGroup:{name:mn.$type,properties:{cardinality:{name:mn.cardinality},elements:{name:mn.elements,defaultValue:[]},lookahead:{name:mn.lookahead},parenthesized:{name:mn.parenthesized,defaultValue:!1}},superTypes:[at.$type]},TerminalRule:{name:gr.$type,properties:{definition:{name:gr.definition},fragment:{name:gr.fragment,defaultValue:!1},hidden:{name:gr.hidden,defaultValue:!1},name:{name:gr.name},type:{name:gr.type}},superTypes:[$a.$type]},TerminalRuleCall:{name:gn.$type,properties:{cardinality:{name:gn.cardinality},lookahead:{name:gn.lookahead},parenthesized:{name:gn.parenthesized,defaultValue:!1},rule:{name:gn.rule,referenceType:gr.$type}},superTypes:[at.$type]},Type:{name:Ji.$type,properties:{name:{name:Ji.name},type:{name:Ji.type}},superTypes:[ut.$type]},TypeAttribute:{name:yn.$type,properties:{defaultValue:{name:yn.defaultValue},isOptional:{name:yn.isOptional,defaultValue:!1},name:{name:yn.name},type:{name:yn.type}},superTypes:[]},TypeDefinition:{name:vn.$type,properties:{},superTypes:[]},UnionType:{name:Yo.$type,properties:{types:{name:Yo.types,defaultValue:[]}},superTypes:[vn.$type]},UnorderedGroup:{name:Zi.$type,properties:{cardinality:{name:Zi.cardinality},elements:{name:Zi.elements,defaultValue:[]}},superTypes:[nt.$type]},UntilToken:{name:Tn.$type,properties:{cardinality:{name:Tn.cardinality},lookahead:{name:Tn.lookahead},parenthesized:{name:Tn.parenthesized,defaultValue:!1},terminal:{name:Tn.terminal}},superTypes:[at.$type]},ValueLiteral:{name:Rn.$type,properties:{},superTypes:[]},Wildcard:{name:ba.$type,properties:{cardinality:{name:ba.cardinality},lookahead:{name:ba.lookahead},parenthesized:{name:ba.parenthesized,defaultValue:!1}},superTypes:[at.$type]}}}},j=new Cf;function ty(e){let t=e,r=!1;for(;t;){const n=On(t.grammarSource,Je);if(n&&n.dataType)t=t.container,r=!0;else return r?t:void 0}}i(ty,"getDatatypeNode");function Fa(e){return new La(e,t=>vr(t)?t.content:[],{includeRoot:!0})}i(Fa,"streamCst");function ry(e){return Fa(e).filter(Pn)}i(ry,"flattenCst");function Sf(e,t){for(;e.container;)if(e=e.container,e===t)return!0;return!1}i(Sf,"isChildNode");function ls(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}i(ls,"tokenToRange");function Ga(e){if(!e)return;const{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}i(Ga,"toDocumentSegment");var Xt;(function(e){e[e.Before=0]="Before",e[e.After=1]="After",e[e.OverlapFront=2]="OverlapFront",e[e.OverlapBack=3]="OverlapBack",e[e.Inside=4]="Inside",e[e.Outside=5]="Outside"})(Xt||(Xt={}));function bf(e,t){if(e.end.linet.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return Xt.After;const r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.lineXt.After}i(wf,"inRange");var If=/^[\w\p{L}]$/u;function ny(e,t,r=If){if(e){if(t>0){const n=t-e.offset,a=e.text.charAt(n);r.test(a)||t--}return kl(e,t)}}i(ny,"findDeclarationNodeAtOffset");function Nf(e,t){if(e){const r=Of(e,!0);if(r&&Xo(r,t))return r;if(_l(e)){const n=e.content.findIndex(a=>!a.hidden);for(let a=n-1;a>=0;a--){const s=e.content[a];if(Xo(s,t))return s}}}}i(Nf,"findCommentNode");function Xo(e,t){return Pn(e)&&t.includes(e.tokenType.name)}i(Xo,"isCommentNode");function kl(e,t){if(Pn(e))return e;if(vr(e)){const r=Pf(e,t,!1);if(r)return kl(r,t)}}i(kl,"findLeafNodeAtOffset");function kf(e,t){if(Pn(e))return e;if(vr(e)){const r=Pf(e,t,!0);if(r)return kf(r,t)}}i(kf,"findLeafNodeBeforeOffset");function Pf(e,t,r){let n=0,a=e.content.length-1,s;for(;n<=a;){const o=Math.floor((n+a)/2),l=e.content[o];if(l.offset<=t&&l.end>t)return l;l.end<=t?(s=r?l:void 0,n=o+1):a=o-1}return s}i(Pf,"binarySearch");function Of(e,t=!0){for(;e.container;){const r=e.container;let n=r.content.indexOf(e);for(;n>0;){n--;const a=r.content[n];if(t||!a.hidden)return a}e=r}}i(Of,"getPreviousNode");function ay(e,t=!0){for(;e.container;){const r=e.container;let n=r.content.indexOf(e);const a=r.content.length-1;for(;nVf,findNameAssignment:()=>Gl,findNodeForKeyword:()=>Wf,findNodeForProperty:()=>Ml,findNodesForKeyword:()=>my,findNodesForKeywordInternal:()=>Fl,findNodesForProperty:()=>qf,getActionAtElement:()=>Yf,getActionType:()=>Jf,getAllReachableRules:()=>Dl,getAllRulesUsedForCrossReferences:()=>hy,getCrossReferenceTerminal:()=>Bf,getEntryRule:()=>jf,getExplicitRuleType:()=>Is,getHiddenRules:()=>Uf,getRuleType:()=>Zf,getRuleTypeName:()=>Ry,getTypeName:()=>bn,isArrayCardinality:()=>yy,isArrayOperator:()=>vy,isCommentTerminal:()=>Kf,isDataType:()=>Ty,isDataTypeRule:()=>ws,isOptionalCardinality:()=>gy,terminalRegex:()=>Ns});var Pl=class extends Error{static{i(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function qr(e,t="Error: Got unexpected value."){throw new Error(t)}i(qr,"assertUnreachable");function Df(e,t="Error: Condition is violated."){if(!e)throw new Error(t)}i(Df,"assertCondition");var Mf={};Kr(Mf,{NEWLINE_REGEXP:()=>uy,escapeRegExp:()=>Va,getTerminalParts:()=>fy,isMultilineComment:()=>xf,isWhitespace:()=>Ll,partialMatches:()=>Ff,partialRegExp:()=>Gf,whitespaceCharacters:()=>py});function K(e){return e.charCodeAt(0)}i(K,"cc");function To(e,t){Array.isArray(e)?e.forEach(function(r){t.push(r)}):t.push(e)}i(To,"insertToSet");function ha(e,t){if(e[t]===!0)throw"duplicate flag "+t;e[t],e[t]=!0}i(ha,"addFlag");function rn(e){if(e===void 0)throw Error("Internal Error - Should never get here!");return!0}i(rn,"ASSERT_EXISTS");function ly(){throw Error("Internal Error - Should never get here!")}i(ly,"ASSERT_NEVER_REACH_HERE");function rd(e){return e.type==="Character"}i(rd,"isCharacter");var Jo=[];for(let e=K("0");e<=K("9");e++)Jo.push(e);var Zo=[K("_")].concat(Jo);for(let e=K("a");e<=K("z");e++)Zo.push(e);for(let e=K("A");e<=K("Z");e++)Zo.push(e);var Fh=[K(" "),K("\f"),K(` +`),K("\r"),K(" "),K("\v"),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K("\u2028"),K("\u2029"),K(" "),K(" "),K(" "),K("\uFEFF")],xw=/[0-9a-fA-F]/,Ws=/[0-9]/,Fw=/[1-9]/,cy=class{static{i(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("/");const t=this.disjunction();this.consumeChar("/");const r={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":ha(r,"global");break;case"i":ha(r,"ignoreCase");break;case"m":ha(r,"multiLine");break;case"u":ha(r,"unicode");break;case"y":ha(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){const e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){const e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}break}}rn(t);const r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return ly()}quantifier(e=!1){let t;const r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":const n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),t={atLeast:n,atMost:a}):t={atLeast:n,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;rn(t);break}if(!(e===!0&&t===void 0)&&rn(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e;const t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),rn(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[K(` +`),K("\r"),K("\u2028"),K("\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,t=!1;switch(this.popChar()){case"d":e=Jo;break;case"D":e=Jo,t=!0;break;case"s":e=Fh;break;case"S":e=Fh,t=!0;break;case"w":e=Zo;break;case"W":e=Zo,t=!0;break}if(rn(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=K("\f");break;case"n":e=K(` +`);break;case"r":e=K("\r");break;case"t":e=K(" ");break;case"v":e=K("\v");break}if(rn(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:K("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:K(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:K(e)}}}characterClass(){const e=[];let t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,rd(r)&&this.isRangeDash()){this.consumeChar("-");const n=this.classAtom();if(n.type,rd(n)){if(n.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}},Ol=class{static{i(this,"BaseRegExpVisitor")}visitChildren(e){for(const t in e){const r=e[t];e.hasOwnProperty(t)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(n=>{this.visit(n)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},uy=/\r?\n/gm,dy=new cy,Gw=class extends Ol{static{i(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){const t=String.fromCharCode(e.value);if(!this.multiline&&t===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=Va(t);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const t=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(t);this.multiline=!!` +`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},$n=new Gw;function fy(e){try{typeof e!="string"&&(e=e.source),e=`/${e}/`;const t=dy.pattern(e),r=[];for(const n of t.value.value)$n.reset(e),$n.visit(n),r.push({start:$n.startRegexp,end:$n.endRegex});return r}catch{return[]}}i(fy,"getTerminalParts");function xf(e){try{return typeof e=="string"&&(e=new RegExp(e)),e=e.toString(),$n.reset(e),$n.visit(dy.pattern(e)),$n.multiline}catch{return!1}}i(xf,"isMultilineComment");var py=`\f +\r \v              \u2028\u2029   \uFEFF`.split("");function Ll(e){const t=typeof e=="string"?new RegExp(e):e;return py.some(r=>t.test(r))}i(Ll,"isWhitespace");function Va(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}i(Va,"escapeRegExp");function Ff(e,t){const r=Gf(e),n=t.match(r);return!!n&&n[0].length>0}i(Ff,"partialMatches");function Gf(e){typeof e=="string"&&(e=new RegExp(e));const t=e,r=e.source;let n=0;function a(){let s="",o;function l(u){s+=r.substr(n,u),n+=u}i(l,"appendRaw");function c(u){s+="(?:"+r.substr(n,u)+"|$)",n+=u}for(i(c,"appendOptional");n",n)-n+1);break;default:c(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(r)||[],c(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(r),o?l(o[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":s+="(?:",n+=3,s+=a()+"|$)";break;case"=":s+="(?=",n+=3,s+=a()+")";break;case"!":o=n,n+=3,a(),s+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,a(),s+=r.substr(o,n-o);break;default:l(r.indexOf(">",n)-n+1),s+=a()+"|$)";break}break}else l(1),s+=a()+"|$)";break;case")":return++n,s;default:c(1);break}return s}return i(a,"process"),new RegExp(a(),e.flags)}i(Gf,"partialRegExp");function jf(e){return e.rules.find(t=>Je(t)&&t.entry)}i(jf,"getEntryRule");function Uf(e){return e.rules.filter(t=>bt(t)&&t.hidden)}i(Uf,"getHiddenRules");function Dl(e,t){const r=new Set,n=jf(e);if(!n)return new Set(e.rules);const a=[n].concat(Uf(e));for(const o of a)zf(o,r,t);const s=new Set;for(const o of e.rules)(r.has(o.name)||bt(o)&&o.hidden)&&s.add(o);return s}i(Dl,"getAllReachableRules");function zf(e,t,r){t.add(e.name),wr(e).forEach(n=>{if($r(n)||r&&wl(n)){const a=n.rule.ref;a&&!t.has(a.name)&&zf(a,t,r)}})}i(zf,"ruleDfs");function hy(e){const t=new Set;return wr(e).forEach(r=>{Dn(r)&&(Je(r.type.ref)&&t.add(r.type.ref),bs(r.type.ref)&&Je(r.type.ref.$container)&&t.add(r.type.ref.$container))}),t}i(hy,"getAllRulesUsedForCrossReferences");function Bf(e){if(e.terminal)return e.terminal;if(e.type.ref)return Gl(e.type.ref)?.terminal}i(Bf,"getCrossReferenceTerminal");function Kf(e){return e.hidden&&!Ll(Ns(e))}i(Kf,"isCommentTerminal");function qf(e,t){return!e||!t?[]:xl(e,t,e.astNode,!0)}i(qf,"findNodesForProperty");function Ml(e,t,r){if(!e||!t)return;const n=xl(e,t,e.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}i(Ml,"findNodeForProperty");function xl(e,t,r,n){if(!n){const a=On(e.grammarSource,Tr);if(a&&a.feature===t)return[e]}return vr(e)&&e.astNode===r?e.content.flatMap(a=>xl(a,t,r,!1)):[]}i(xl,"findNodesForPropertyInternal");function my(e,t){return e?Fl(e,t,e?.astNode):[]}i(my,"findNodesForKeyword");function Wf(e,t,r){if(!e)return;const n=Fl(e,t,e?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}i(Wf,"findNodeForKeyword");function Fl(e,t,r){if(e.astNode!==r)return[];if(Rr(e.grammarSource)&&e.grammarSource.value===t)return[e];const n=Fa(e).iterator();let a;const s=[];do if(a=n.next(),!a.done){const o=a.value;o.astNode===r?Rr(o.grammarSource)&&o.grammarSource.value===t&&s.push(o):n.prune()}while(!a.done);return s}i(Fl,"findNodesForKeywordInternal");function Vf(e){const t=e.astNode;for(;t===e.container?.astNode;){const r=On(e.grammarSource,Tr);if(r)return r;e=e.container}}i(Vf,"findAssignment");function Gl(e){let t=e;return bs(t)&&(Gr(t.$container)?t=t.$container.$container:Ln(t.$container)?t=t.$container:qr(t.$container)),Hf(e,t,new Map)}i(Gl,"findNameAssignment");function Hf(e,t,r){function n(a,s){let o;return On(a,Tr)||(o=Hf(s,s,r)),r.set(e,o),o}if(i(n,"go"),r.has(e))return r.get(e);r.set(e,void 0);for(const a of wr(t)){if(Tr(a)&&a.feature.toLowerCase()==="name")return r.set(e,a),a;if($r(a)&&Je(a.rule.ref))return n(a,a.rule.ref);if(bl(a)&&a.typeRef?.ref)return n(a,a.typeRef.ref)}}i(Hf,"findNameAssignmentInternal");function Yf(e){const t=e.$container;if(Mn(t)){const r=t.elements,n=r.indexOf(e);for(let a=n-1;a>=0;a--){const s=r[a];if(Gr(s))return s;{const o=wr(r[a]).find(Gr);if(o)return o}}}if(Cl(t))return Yf(t)}i(Yf,"getActionAtElement");function gy(e,t){return e==="?"||e==="*"||Mn(t)&&!!t.guardCondition}i(gy,"isOptionalCardinality");function yy(e){return e==="*"||e==="+"}i(yy,"isArrayCardinality");function vy(e){return e==="+="}i(vy,"isArrayOperator");function ws(e){return Xf(e,new Set)}i(ws,"isDataTypeRule");function Xf(e,t){if(t.has(e))return!0;t.add(e);for(const r of wr(e))if($r(r)){if(!r.rule.ref||Je(r.rule.ref)&&!Xf(r.rule.ref,t)||xa(r.rule.ref))return!1}else{if(Tr(r))return!1;if(Gr(r))return!1}return!!e.definition}i(Xf,"isDataTypeRuleInternal");function Ty(e){return Qo(e.type,new Set)}i(Ty,"isDataType");function Qo(e,t){if(t.has(e))return!0;if(t.add(e),of(e))return!1;if(yf(e))return!1;if(Af(e))return e.types.every(r=>Qo(r,t));if(bl(e)){if(e.primitiveType!==void 0)return!0;if(e.stringType!==void 0)return!0;if(e.typeRef!==void 0){const r=e.typeRef.ref;return Il(r)?Qo(r.type,t):!1}else return!1}else return!1}i(Qo,"isDataTypeInternal");function Is(e){if(!bt(e)){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){const t=e.returnType.ref;if(t)return t.name}}}i(Is,"getExplicitRuleType");function bn(e){if(Ln(e))return Je(e)&&ws(e)?e.name:Is(e)??e.name;if(pf(e)||Il(e)||Tf(e))return e.name;if(Gr(e)){const t=Jf(e);if(t)return t}else if(bs(e))return e.name;throw new Error("Cannot get name of Unknown Type")}i(bn,"getTypeName");function Jf(e){if(e.inferredType)return e.inferredType.name;if(e.type?.ref)return bn(e.type.ref)}i(Jf,"getActionType");function Ry(e){return bt(e)?e.type?.name??"string":Je(e)&&ws(e)?e.name:Is(e)??e.name}i(Ry,"getRuleTypeName");function Zf(e){return bt(e)?e.type?.name??"string":Is(e)??e.name}i(Zf,"getRuleType");function Ns(e){const t={s:!1,i:!1,u:!1},r=xn(e.definition,t),n=Object.entries(t).filter(([,a])=>a).map(([a])=>a).join("");return new RegExp(r,n)}i(Ns,"terminalRegex");var Qf=/[\s\S]/.source;function xn(e,t){if(Rf(e))return $y(e);if($f(e))return Ay(e);if(cf(e))return Cy(e);if(wl(e)){const r=e.rule.ref;if(!r)throw new Error("Missing rule reference.");return er(xn(r.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}else{if(hf(e))return _y(e);if(Ef(e))return Ey(e);if(vf(e)){const r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),a=e.regex.substring(r+1);return t&&(t.i=a.includes("i"),t.s=a.includes("s"),t.u=a.includes("u")),er(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else{if(_f(e))return er(Qf,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});throw new Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}}}i(xn,"abstractElementToRegex");function $y(e){return er(e.elements.map(t=>xn(t)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}i($y,"terminalAlternativesToRegex");function Ay(e){return er(e.elements.map(t=>xn(t)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}i(Ay,"terminalGroupToRegex");function Ey(e){return er(`${Qf}*?${xn(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}i(Ey,"untilTokenToRegex");function _y(e){return er(`(?!${xn(e.terminal)})${Qf}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}i(_y,"negateTokenToRegex");function Cy(e){return e.right?er(`[${Ro(e.left)}-${Ro(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):er(Ro(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}i(Cy,"characterRangeToRegex");function Ro(e){return Va(e.value)}i(Ro,"keywordToRegex");function er(e,t){return(t.parenthesized||t.lookahead||t.wrap!==!1)&&(e=`(${t.lookahead??(t.parenthesized?"":"?:")}${e})`),t.cardinality?`${e}${t.cardinality}`:e}i(er,"withCardinality");function ep(e){const t=[],r=e.Grammar;for(const n of r.rules)bt(n)&&Kf(n)&&xf(Ns(n))&&t.push(n.name);return{multilineCommentRules:t,nameRegexp:If}}i(ep,"createGrammarConfig");var jw=typeof global=="object"&&global&&global.Object===Object&&global,Sy=jw,Uw=typeof self=="object"&&self&&self.Object===Object&&self,zw=Sy||Uw||Function("return this")(),rr=zw,Bw=rr.Symbol,Ct=Bw,by=Object.prototype,Kw=by.hasOwnProperty,qw=by.toString,_i=Ct?Ct.toStringTag:void 0;function wy(e){var t=Kw.call(e,_i),r=e[_i];try{e[_i]=void 0;var n=!0}catch{}var a=qw.call(e);return n&&(t?e[_i]=r:delete e[_i]),a}i(wy,"getRawTag");var Ww=wy,Vw=Object.prototype,Hw=Vw.toString;function Iy(e){return Hw.call(e)}i(Iy,"objectToString");var Yw=Iy,Xw="[object Null]",Jw="[object Undefined]",Gh=Ct?Ct.toStringTag:void 0;function Ny(e){return e==null?e===void 0?Jw:Xw:Gh&&Gh in Object(e)?Ww(e):Yw(e)}i(Ny,"baseGetTag");var Wr=Ny;function ky(e){return e!=null&&typeof e=="object"}i(ky,"isObjectLike");var Gt=ky,Zw="[object Symbol]";function Py(e){return typeof e=="symbol"||Gt(e)&&Wr(e)==Zw}i(Py,"isSymbol");var jl=Py;function Oy(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r0){if(++t>=LI)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}i(Xy,"shortOut");var xI=Xy;function Jy(e){return function(){return e}}i(Jy,"constant");var FI=Jy,GI=(function(){try{var e=Gn(Object,"defineProperty");return e({},"",{}),e}catch{}})(),el=GI,jI=el?function(e,t){return el(e,"toString",{configurable:!0,enumerable:!1,value:FI(t),writable:!0})}:ja,UI=jI,zI=xI(UI),BI=zI;function Zy(e,t){for(var r=-1,n=e==null?0:e.length;++r-1}i(iv,"arrayIncludes");var sv=iv,WI=9007199254740991,VI=/^(?:0|[1-9]\d*)$/;function ov(e,t){var r=typeof e;return t=t??WI,!!t&&(r=="number"||r!="symbol"&&VI.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=JI}i(hv,"isLength");var ip=hv;function mv(e){return e!=null&&ip(e.length)&&!Ir(e)}i(mv,"isArrayLike");var nr=mv;function gv(e,t,r){if(!St(r))return!1;var n=typeof t;return(n=="number"?nr(r)&&Ul(t,r.length):n=="string"&&t in r)?Os(r[t],e):!1}i(gv,"isIterateeCall");var Bl=gv;function yv(e){return ap(function(t,r){var n=-1,a=r.length,s=a>1?r[a-1]:void 0,o=a>2?r[2]:void 0;for(s=e.length>3&&typeof s=="function"?(a--,s):void 0,o&&Bl(r[0],r[1],o)&&(s=a<3?void 0:s,a=1),t=Object(t);++n-1}i(Vv,"listCacheHas");var mk=Vv;function Hv(e,t){var r=this.__data__,n=Wl(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}i(Hv,"listCacheSet");var gk=Hv;function Un(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t0&&r(l)?t>1?up(l,t-1,r,n,a):cp(a,l):n||(a[a.length]=l)}return a}i(up,"baseFlatten");var dp=up;function uT(e){var t=e==null?0:e.length;return t?dp(e,1):[]}i(uT,"flatten");var xt=uT,Dk=Nv(Object.getPrototypeOf,Object),dT=Dk;function fT(e,t,r){var n=-1,a=e.length;t<0&&(t=-t>a?0:a+t),r=r>a?a:r,r<0&&(r+=a),a=t>r?0:r-t>>>0,t>>>=0;for(var s=Array(a);++nl))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var f=-1,h=!0,y=r&C0?new mp:void 0;for(s.set(e,t),s.set(t,e);++f2?t[2]:void 0;for(a&&Bl(t[0],t[1],a)&&(n=1);++r=vO&&(s=gp,o=!1,t=new mp(t));e:for(;++a-1?a[s?t[o]:o]:void 0}}i(VR,"createFind");var _O=VR,CO=Math.max;function HR(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:Ps(r);return a<0&&(a=CO(n+a,0)),tv(e,ar(t),a)}i(HR,"findIndex");var SO=HR,bO=_O(SO),za=bO;function YR(e){return e&&e.length?e[0]:void 0}i(YR,"head");var jt=YR;function XR(e,t){var r=-1,n=nr(e)?Array(e.length):[];return Kn(e,function(a,s,o){n[++r]=t(a,s,o)}),n}i(XR,"baseMap");var wO=XR;function JR(e,t){var r=ne(e)?ks:wO;return r(e,ar(t))}i(JR,"map");var F=JR;function ZR(e,t){return dp(F(e,t),1)}i(ZR,"flatMap");var _t=ZR,IO=Object.prototype,NO=IO.hasOwnProperty,kO=mO(function(e,t,r){NO.call(e,r)?e[r].push(t):np(e,r,[t])}),PO=kO,OO=Object.prototype,LO=OO.hasOwnProperty;function QR(e,t){return e!=null&&LO.call(e,t)}i(QR,"baseHas");var DO=QR;function e$(e,t){return e!=null&&vR(e,t,DO)}i(e$,"has");var U=e$,MO="[object String]";function t$(e){return typeof e=="string"||!ne(e)&&Gt(e)&&Wr(e)==MO}i(t$,"isString");var it=t$;function r$(e,t){return ks(t,function(r){return e[r]})}i(r$,"baseValues");var xO=r$;function n$(e){return e==null?[]:xO(e,ft(e))}i(n$,"values");var xe=n$,FO=Math.max;function a$(e,t,r,n){e=nr(e)?e:xe(e),r=r&&!n?Ps(r):0;var a=e.length;return r<0&&(r=FO(a+r,0)),it(e)?r<=a&&e.indexOf(t,r)>-1:!!a&&rp(e,t,r)>-1}i(a$,"includes");var tt=a$,GO=Math.max;function i$(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:Ps(r);return a<0&&(a=GO(n+a,0)),rp(e,t,a)}i(i$,"indexOf");var ym=i$,jO="[object Map]",UO="[object Set]",zO=Object.prototype,BO=zO.hasOwnProperty;function s$(e){if(e==null)return!0;if(nr(e)&&(ne(e)||typeof e=="string"||typeof e.splice=="function"||cs(e)||sp(e)||Kl(e)))return!e.length;var t=Ua(e);if(t==jO||t==UO)return!e.size;if(Ds(e))return!Pv(e).length;for(var r in e)if(BO.call(e,r))return!1;return!0}i(s$,"isEmpty");var he=s$,KO="[object RegExp]";function o$(e){return Gt(e)&&Wr(e)==KO}i(o$,"baseIsRegExp");var qO=o$,vm=jr&&jr.isRegExp,WO=vm?Ms(vm):qO,Ar=WO;function l$(e){return e===void 0}i(l$,"isUndefined");var Er=l$,VO="Expected a function";function c$(e){if(typeof e!="function")throw new TypeError(VO);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}i(c$,"negate");var HO=c$;function u$(e,t,r,n){if(!St(e))return e;t=Jl(t,e);for(var a=-1,s=t.length,o=s-1,l=e;l!=null&&++a=rL){var u=t?null:tL(e);if(u)return yp(u);o=!1,a=gp,c=new mp}else c=t?[]:l;e:for(;++n{t.accept(e)})}},Ze=class extends ir{static{i(this,"NonTerminal")}constructor(e){super([]),this.idx=1,pt(this,Ut(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ha=class extends ir{static{i(this,"Rule")}constructor(e){super(e.definition),this.orgText="",pt(this,Ut(e,t=>t!==void 0))}},st=class extends ir{static{i(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,pt(this,Ut(e,t=>t!==void 0))}},Be=class extends ir{static{i(this,"Option")}constructor(e){super(e.definition),this.idx=1,pt(this,Ut(e,t=>t!==void 0))}},mt=class extends ir{static{i(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,pt(this,Ut(e,t=>t!==void 0))}},gt=class extends ir{static{i(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,pt(this,Ut(e,t=>t!==void 0))}},we=class extends ir{static{i(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,pt(this,Ut(e,t=>t!==void 0))}},ot=class extends ir{static{i(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,pt(this,Ut(e,t=>t!==void 0))}},lt=class extends ir{static{i(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,pt(this,Ut(e,t=>t!==void 0))}},Te=class{static{i(this,"Terminal")}constructor(e){this.idx=1,pt(this,Ut(e,t=>t!==void 0))}accept(e){e.visit(this)}};function E$(e){return F(e,rs)}i(E$,"serializeGrammar");function rs(e){function t(r){return F(r,rs)}if(i(t,"convertDefinition"),e instanceof Ze){const r={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return it(e.label)&&(r.label=e.label),r}else{if(e instanceof st)return{type:"Alternative",definition:t(e.definition)};if(e instanceof Be)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof mt)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof gt)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:rs(new Te({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof ot)return{type:"RepetitionWithSeparator",idx:e.idx,separator:rs(new Te({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof we)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof lt)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof Te){const r={type:"Terminal",name:e.terminalType.name,label:$$(e.terminalType),idx:e.idx};it(e.label)&&(r.terminalLabel=e.label);const n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(r.pattern=Ar(n)?n.source:n),r}else{if(e instanceof Ha)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}}}i(rs,"serializeProduction");var Ya=class{static{i(this,"GAstVisitor")}visit(e){const t=e;switch(t.constructor){case Ze:return this.visitNonTerminal(t);case st:return this.visitAlternative(t);case Be:return this.visitOption(t);case mt:return this.visitRepetitionMandatory(t);case gt:return this.visitRepetitionMandatoryWithSeparator(t);case ot:return this.visitRepetitionWithSeparator(t);case we:return this.visitRepetition(t);case lt:return this.visitAlternation(t);case Te:return this.visitTerminal(t);case Ha:return this.visitRule(t);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 _$(e){return e instanceof st||e instanceof Be||e instanceof we||e instanceof mt||e instanceof gt||e instanceof ot||e instanceof Te||e instanceof Ha}i(_$,"isSequenceProd");function hs(e,t=[]){return e instanceof Be||e instanceof we||e instanceof ot?!0:e instanceof lt?v$(e.definition,n=>hs(n,t)):e instanceof Ze&&tt(t,e)?!1:e instanceof ir?(e instanceof Ze&&t.push(e),Ft(e.definition,n=>hs(n,t))):!1}i(hs,"isOptionalProd");function C$(e){return e instanceof lt}i(C$,"isBranchingProd");function Ot(e){if(e instanceof Ze)return"SUBRULE";if(e instanceof Be)return"OPTION";if(e instanceof lt)return"OR";if(e instanceof mt)return"AT_LEAST_ONE";if(e instanceof gt)return"AT_LEAST_ONE_SEP";if(e instanceof ot)return"MANY_SEP";if(e instanceof we)return"MANY";if(e instanceof Te)return"CONSUME";throw Error("non exhaustive match")}i(Ot,"getProductionDslName");var ec=class{static{i(this,"RestWalker")}walk(e,t=[]){q(e.definition,(r,n)=>{const a=ze(e.definition,n+1);if(r instanceof Ze)this.walkProdRef(r,a,t);else if(r instanceof Te)this.walkTerminal(r,a,t);else if(r instanceof st)this.walkFlat(r,a,t);else if(r instanceof Be)this.walkOption(r,a,t);else if(r instanceof mt)this.walkAtLeastOne(r,a,t);else if(r instanceof gt)this.walkAtLeastOneSep(r,a,t);else if(r instanceof ot)this.walkManySep(r,a,t);else if(r instanceof we)this.walkMany(r,a,t);else if(r instanceof lt)this.walkOr(r,a,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){const n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){const n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){const n=[new Be({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){const n=od(e,t,r);this.walk(e,n)}walkMany(e,t,r){const n=[new Be({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){const n=od(e,t,r);this.walk(e,n)}walkOr(e,t,r){const n=t.concat(r);q(e.definition,a=>{const s=new st({definition:[a]});this.walk(s,n)})}};function od(e,t,r){return[new Be({definition:[new Te({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}i(od,"restForRepetitionWithSeparator");function Xa(e){if(e instanceof Ze)return Xa(e.referencedRule);if(e instanceof Te)return w$(e);if(_$(e))return S$(e);if(C$(e))return b$(e);throw Error("non exhaustive match")}i(Xa,"first");function S$(e){let t=[];const r=e.definition;let n=0,a=r.length>n,s,o=!0;for(;a&&o;)s=r[n],o=hs(s),t=t.concat(Xa(s)),n=n+1,a=r.length>n;return Rp(t)}i(S$,"firstForSequence");function b$(e){const t=F(e.definition,r=>Xa(r));return Rp(xt(t))}i(b$,"firstForBranching");function w$(e){return[e.terminalType]}i(w$,"firstForTerminal");var I$="_~IN~_",aL=class extends ec{static{i(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){const n=k$(e.referencedRule,e.idx)+this.topProd.name,a=t.concat(r),s=new st({definition:a}),o=Xa(s);this.follows[n]=o}};function N$(e){const t={};return q(e,r=>{const n=new aL(r).startWalking();pt(t,n)}),t}i(N$,"computeAllProdsFollows");function k$(e,t){return e.name+t+I$}i(k$,"buildBetweenProdsFollowPrefix");var $o={},iL=new cy;function Gs(e){const t=e.toString();if($o.hasOwnProperty(t))return $o[t];{const r=iL.pattern(t);return $o[t]=r,r}}i(Gs,"getRegExpAst");function P$(){$o={}}i(P$,"clearRegExpParserCache");var O$="Complement Sets are not supported for first char optimization",nl=`Unable to use "first char" lexer optimizations: +`;function L$(e,t=!1){try{const r=Gs(e);return al(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===O$)t&&$p(`${nl} Unable to optimize: < ${e.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="";t&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),rl(`${nl} + Failed parsing: < ${e.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}i(L$,"getOptimizedStartCodesIndices");function al(e,t,r){switch(e.type){case"Disjunction":for(let a=0;a{if(typeof c=="number")ji(c,t,r);else{const u=c;if(r===!0)for(let d=u.from;d<=u.to;d++)ji(d,t,r);else{for(let d=u.from;d<=u.to&&d=zi){const d=u.from>=zi?u.from:zi,f=u.to,h=_r(d),y=_r(f);for(let v=h;v<=y;v++)t[v]=v}}}});break;case"Group":al(o.value,t,r);break;default:throw Error("Non Exhaustive Match")}const l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&il(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return xe(t)}i(al,"firstCharOptimizedIndices");function ji(e,t,r){const n=_r(e);t[n]=n,r===!0&&D$(e,t)}i(ji,"addOptimizedIdxToResult");function D$(e,t){const r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){const a=_r(n.charCodeAt(0));t[a]=a}else{const a=r.toLowerCase();if(a!==r){const s=_r(a.charCodeAt(0));t[s]=s}}}i(D$,"handleIgnoreCase");function ld(e,t){return za(e.value,r=>{if(typeof r=="number")return tt(t,r);{const n=r;return za(t,a=>n.from<=a&&a<=n.to)!==void 0}})}i(ld,"findCode");function il(e){const t=e.quantifier;return t&&t.atLeast===0?!0:e.value?ne(e.value)?Ft(e.value,il):il(e.value):!1}i(il,"isWholeOptional");var sL=class extends Ol{static{i(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;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){tt(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?ld(e,this.targetCharCodes)===void 0&&(this.found=!0):ld(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function tc(e,t){if(t instanceof RegExp){const r=Gs(t),n=new sL(e);return n.visit(r),n.found}else return za(t,r=>tt(e,r.charCodeAt(0)))!==void 0}i(tc,"canMatchCharCode");var In="PATTERN",Ui="defaultMode",Hs="modes",M$=typeof new RegExp("(?:)").sticky=="boolean";function x$(e,t){t=Tp(t,{useSticky:M$,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:i((I,A)=>A(),"tracer")});const r=t.tracer;r("initCharCodeToOptimizedIndexMap",()=>{aA()});let n;r("Reject Lexer.NA",()=>{n=Ql(e,I=>I[In]===Xe.NA)});let a=!1,s;r("Transform Patterns",()=>{a=!1,s=F(n,I=>{const A=I[In];if(Ar(A)){const k=A.source;return k.length===1&&k!=="^"&&k!=="$"&&k!=="."&&!A.ignoreCase?k:k.length===2&&k[0]==="\\"&&!tt(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],k[1])?k[1]:t.useSticky?ud(A):cd(A)}else{if(Ir(A))return a=!0,{exec:A};if(typeof A=="object")return a=!0,A;if(typeof A=="string"){if(A.length===1)return A;{const k=A.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),G=new RegExp(k);return t.useSticky?ud(G):cd(G)}}else throw Error("non exhaustive match")}})});let o,l,c,u,d;r("misc mapping",()=>{o=F(n,I=>I.tokenTypeIdx),l=F(n,I=>{const A=I.GROUP;if(A!==Xe.SKIPPED){if(it(A))return A;if(Er(A))return!1;throw Error("non exhaustive match")}}),c=F(n,I=>{const A=I.LONGER_ALT;if(A)return ne(A)?F(A,G=>ym(n,G)):[ym(n,A)]}),u=F(n,I=>I.PUSH_MODE),d=F(n,I=>U(I,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{const I=Sp(t.lineTerminatorCharacters);f=F(n,A=>!1),t.positionTracking!=="onlyOffset"&&(f=F(n,A=>U(A,"LINE_BREAKS")?!!A.LINE_BREAKS:Cp(A,I)===!1&&tc(I,A.PATTERN)))});let h,y,v,C;r("Misc Mapping #2",()=>{h=F(n,_p),y=F(s,rA),v=ht(n,(I,A)=>{const k=A.GROUP;return it(k)&&k!==Xe.SKIPPED&&(I[k]=[]),I},{}),C=F(s,(I,A)=>({pattern:s[A],longerAlt:c[A],canLineTerminator:f[A],isCustom:h[A],short:y[A],group:l[A],push:u[A],pop:d[A],tokenTypeIdx:o[A],tokenType:n[A]}))});let b=!0,w=[];return t.safeMode||r("First Char Optimization",()=>{w=ht(n,(I,A,k)=>{if(typeof A.PATTERN=="string"){const G=A.PATTERN.charCodeAt(0),H=_r(G);Ao(I,H,C[k])}else if(ne(A.START_CHARS_HINT)){let G;q(A.START_CHARS_HINT,H=>{const X=typeof H=="string"?H.charCodeAt(0):H,le=_r(X);G!==le&&(G=le,Ao(I,le,C[k]))})}else if(Ar(A.PATTERN))if(A.PATTERN.unicode)b=!1,t.ensureOptimizations&&rl(`${nl} Unable to analyze < ${A.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const G=L$(A.PATTERN,t.ensureOptimizations);he(G)&&(b=!1),q(G,H=>{Ao(I,H,C[k])})}else t.ensureOptimizations&&rl(`${nl} TokenType: <${A.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`),b=!1;return I},[])}),{emptyGroups:v,patternIdxToConfig:C,charCodeToPatternIdxToConfig:w,hasCustom:a,canBeOptimized:b}}i(x$,"analyzeTokenTypes");function F$(e,t){let r=[];const n=j$(e);r=r.concat(n.errors);const a=U$(n.valid),s=a.valid;return r=r.concat(a.errors),r=r.concat(G$(s)),r=r.concat(V$(s)),r=r.concat(H$(s,t)),r=r.concat(Y$(s)),r}i(F$,"validatePatterns");function G$(e){let t=[];const r=wt(e,n=>Ar(n[In]));return t=t.concat(z$(r)),t=t.concat(K$(r)),t=t.concat(q$(r)),t=t.concat(W$(r)),t=t.concat(B$(r)),t}i(G$,"validateRegExpPattern");function j$(e){const t=wt(e,a=>!U(a,In)),r=F(t,a=>({message:"Token Type: ->"+a.name+"<- missing static 'PATTERN' property",type:Ie.MISSING_PATTERN,tokenTypes:[a]})),n=Zl(e,t);return{errors:r,valid:n}}i(j$,"findMissingPatterns");function U$(e){const t=wt(e,a=>{const s=a[In];return!Ar(s)&&!Ir(s)&&!U(s,"exec")&&!it(s)}),r=F(t,a=>({message:"Token Type: ->"+a.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Ie.INVALID_PATTERN,tokenTypes:[a]})),n=Zl(e,t);return{errors:r,valid:n}}i(U$,"findInvalidPatterns");var oL=/[^\\][$]/;function z$(e){class t extends Ol{static{i(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const r=wt(e,a=>{const s=a.PATTERN;try{const o=Gs(s),l=new t;return l.visit(o),l.found}catch{return oL.test(s.source)}});return F(r,a=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+a.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ie.EOI_ANCHOR_FOUND,tokenTypes:[a]}))}i(z$,"findEndOfInputAnchor");function B$(e){const t=wt(e,n=>n.PATTERN.test(""));return F(t,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Ie.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}i(B$,"findEmptyMatchRegExps");var lL=/[^\\[][\^]|^\^/;function K$(e){class t extends Ol{static{i(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const r=wt(e,a=>{const s=a.PATTERN;try{const o=Gs(s),l=new t;return l.visit(o),l.found}catch{return lL.test(s.source)}});return F(r,a=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+a.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ie.SOI_ANCHOR_FOUND,tokenTypes:[a]}))}i(K$,"findStartOfInputAnchor");function q$(e){const t=wt(e,n=>{const a=n[In];return a instanceof RegExp&&(a.multiline||a.global)});return F(t,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ie.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}i(q$,"findUnsupportedFlags");function W$(e){const t=[];let r=F(e,s=>ht(e,(o,l)=>(s.PATTERN.source===l.PATTERN.source&&!tt(t,l)&&l.PATTERN!==Xe.NA&&(t.push(l),o.push(l)),o),[]));r=Fs(r);const n=wt(r,s=>s.length>1);return F(n,s=>{const o=F(s,c=>c.name);return{message:`The same RegExp pattern ->${jt(s).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:Ie.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}i(W$,"findDuplicatePatterns");function V$(e){const t=wt(e,n=>{if(!U(n,"GROUP"))return!1;const a=n.GROUP;return a!==Xe.SKIPPED&&a!==Xe.NA&&!it(a)});return F(t,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ie.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}i(V$,"findInvalidGroupType");function H$(e,t){const r=wt(e,a=>a.PUSH_MODE!==void 0&&!tt(t,a.PUSH_MODE));return F(r,a=>({message:`Token Type: ->${a.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${a.PUSH_MODE}<-which does not exist`,type:Ie.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[a]}))}i(H$,"findModesThatDoNotExist");function Y$(e){const t=[],r=ht(e,(n,a,s)=>{const o=a.PATTERN;return o===Xe.NA||(it(o)?n.push({str:o,idx:s,tokenType:a}):Ar(o)&&J$(o)&&n.push({str:o.source,idx:s,tokenType:a})),n},[]);return q(e,(n,a)=>{q(r,({str:s,idx:o,tokenType:l})=>{if(a${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`;t.push({message:c,type:Ie.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),t}i(Y$,"findUnreachablePatterns");function X$(e,t){if(Ar(t)){if(Z$(t))return!1;const r=t.exec(e);return r!==null&&r.index===0}else{if(Ir(t))return t(e,0,[],{});if(U(t,"exec"))return t.exec(e,0,[],{});if(typeof t=="string")return t===e;throw Error("non exhaustive match")}}i(X$,"tryToMatchStrToPattern");function J$(e){return za([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>e.source.indexOf(r)!==-1)===void 0}i(J$,"noMetaChar");function Z$(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition +`,type:Ie.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),U(e,Hs)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Hs+`> property in its definition +`,type:Ie.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),U(e,Hs)&&U(e,Ui)&&!U(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ui}: <${e.defaultMode}>which does not exist +`,type:Ie.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),U(e,Hs)&&q(e.modes,(a,s)=>{q(a,(o,l)=>{if(Er(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${l}> +`,type:Ie.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(U(o,"LONGER_ALT")){const c=ne(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];q(c,u=>{!Er(u)&&!tt(a,u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${o.name}> outside of mode <${s}> +`,type:Ie.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}i(Q$,"performRuntimeChecks");function eA(e,t,r){const n=[];let a=!1;const s=Fs(xt(xe(e.modes))),o=Ql(s,c=>c[In]===Xe.NA),l=Sp(r);return t&&q(o,c=>{const u=Cp(c,l);if(u!==!1){const f={message:nA(c,u),type:u.issue,tokenType:c};n.push(f)}else U(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(a=!0):tc(l,c.PATTERN)&&(a=!0)}),t&&!a&&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:Ie.NO_LINE_BREAKS_FLAGS}),n}i(eA,"performWarningRuntimeChecks");function tA(e){const t={},r=ft(e);return q(r,n=>{const a=e[n];if(ne(a))t[n]=[];else throw Error("non exhaustive match")}),t}i(tA,"cloneEmptyGroups");function _p(e){const t=e.PATTERN;if(Ar(t))return!1;if(Ir(t))return!0;if(U(t,"exec"))return!0;if(it(t))return!1;throw Error("non exhaustive match")}i(_p,"isCustomPattern");function rA(e){return it(e)&&e.length===1?e.charCodeAt(0):!1}i(rA,"isShortPattern");var cL={test:i(function(e){const t=e.length;for(let r=this.lastIndex;r Token Type + Root cause: ${t.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===Ie.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. + The problem is in the <${e.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}i(nA,"buildLineBreakIssueMessage");function Sp(e){return F(e,r=>it(r)?r.charCodeAt(0):r)}i(Sp,"getCharCodes");function Ao(e,t,r){e[t]===void 0?e[t]=[r]:e[t].push(r)}i(Ao,"addToMapOfArrays");var zi=256,Eo=[];function _r(e){return e255?255+~~(e/255):e}}i(aA,"initCharCodeToOptimizedIndexMap");function Ja(e,t){const r=e.tokenTypeIdx;return r===t.tokenTypeIdx?!0:t.isParent===!0&&t.categoryMatchesMap[r]===!0}i(Ja,"tokenStructuredMatcher");function ms(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}i(ms,"tokenStructuredMatcherNoCategories");var Tm=1,iA={};function Za(e){const t=sA(e);oA(t),cA(t),lA(t),q(t,r=>{r.isParent=r.categoryMatches.length>0})}i(Za,"augmentTokenTypes");function sA(e){let t=Ke(e),r=e,n=!0;for(;n;){r=Fs(xt(F(r,s=>s.CATEGORIES)));const a=Zl(r,t);t=t.concat(a),he(a)?n=!1:r=a}return t}i(sA,"expandCategories");function oA(e){q(e,t=>{wp(t)||(iA[Tm]=t,t.tokenTypeIdx=Tm++),dd(t)&&!ne(t.CATEGORIES)&&(t.CATEGORIES=[t.CATEGORIES]),dd(t)||(t.CATEGORIES=[]),uA(t)||(t.categoryMatches=[]),dA(t)||(t.categoryMatchesMap={})})}i(oA,"assignTokenDefaultProps");function lA(e){q(e,t=>{t.categoryMatches=[],q(t.categoryMatchesMap,(r,n)=>{t.categoryMatches.push(iA[n].tokenTypeIdx)})})}i(lA,"assignCategoriesTokensProp");function cA(e){q(e,t=>{bp([],t)})}i(cA,"assignCategoriesMapProp");function bp(e,t){q(e,r=>{t.categoryMatchesMap[r.tokenTypeIdx]=!0}),q(t.CATEGORIES,r=>{const n=e.concat(t);tt(n,r)||bp(n,r)})}i(bp,"singleAssignCategoriesToksMap");function wp(e){return U(e,"tokenTypeIdx")}i(wp,"hasShortKeyProperty");function dd(e){return U(e,"CATEGORIES")}i(dd,"hasCategoriesProperty");function uA(e){return U(e,"categoryMatches")}i(uA,"hasExtendingTokensTypesProperty");function dA(e){return U(e,"categoryMatchesMap")}i(dA,"hasExtendingTokensTypesMapProperty");function fA(e){return U(e,"tokenTypeIdx")}i(fA,"isTokenType");var fd={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,r,n,a,s){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`}},Ie;(function(e){e[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Ie||(Ie={}));var Bi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:fd,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Bi);var Xe=class{static{i(this,"Lexer")}constructor(e,t=Bi){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=(n,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${n}>`);const{time:o,value:l}=Ap(a),c=o>10?console.warn:console.log;return this.traceInitIndent time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof t=="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=pt({},Bi,t);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let n,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Bi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=cL;else if(this.config.lineTerminatorCharacters===Bi.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(t.safeMode&&t.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),ne(e)?n={modes:{defaultMode:Ke(e)},defaultMode:Ui}:(a=!1,n=Ke(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Q$(n,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(eA(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),n.modes=n.modes?n.modes:{},q(n.modes,(o,l)=>{n.modes[l]=Ql(o,c=>Er(c))});const s=ft(n.modes);if(q(n.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(F$(o,s))}),he(this.lexerDefinitionErrors)){Za(o);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=x$(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=c.charCodeToPatternIdxToConfig,this.emptyGroups=pt({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=c.canBeOptimized}})}),this.defaultMode=n.defaultMode,!he(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=F(this.lexerDefinitionErrors,c=>c.message).join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+l)}q(this.lexerDefinitionWarning,o=>{$p(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(M$?(this.chopInput=ja,this.match=this.matchWithTest):(this.updateLastIndex=Me,this.match=this.matchWithExec),a&&(this.handleModes=Me),this.trackStartLines===!1&&(this.computeNewColumn=ja),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Me),/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",()=>{const o=ht(this.canModeBeOptimized,(l,c,u)=>(c===!1&&l.push(u),l),[]);if(t.ensureOptimizations&&!he(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{P$()}),this.TRACE_INIT("toFastProperties",()=>{Ep(this)})})}tokenize(e,t=this.defaultMode){if(!he(this.lexerDefinitionErrors)){const n=F(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,a,s,o,l,c,u,d,f,h,y,v,C,b;const w=e,I=w.length;let A=0,k=0;const G=this.hasCustom?0:Math.floor(e.length/10),H=new Array(G),X=[];let le=this.trackStartLines?1:void 0,ce=this.trackStartLines?1:void 0;const Ne=tA(this.emptyGroups),P=this.trackStartLines,_=this.config.lineTerminatorsPattern;let g=0,E=[],T=[];const R=[],S=[];Object.freeze(S);let O;function M(){return E}i(M,"getPossiblePatternsSlow");function D(te){const de=_r(te),ct=T[de];return ct===void 0?S:ct}i(D,"getPossiblePatternsOptimized");const z=i(te=>{if(R.length===1&&te.tokenType.PUSH_MODE===void 0){const de=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(te);X.push({offset:te.startOffset,line:te.startLine,column:te.startColumn,length:te.image.length,message:de})}else{R.pop();const de=wn(R);E=this.patternIdxToConfig[de],T=this.charCodeToPatternIdxToConfig[de],g=E.length;const ct=this.canModeBeOptimized[de]&&this.config.safeMode===!1;T&&ct?O=D:O=M}},"pop_mode");function B(te){R.push(te),T=this.charCodeToPatternIdxToConfig[te],E=this.patternIdxToConfig[te],g=E.length,g=E.length;const de=this.canModeBeOptimized[te]&&this.config.safeMode===!1;T&&de?O=D:O=M}i(B,"push_mode"),B.call(this,t);let Z;const J=this.config.recoveryEnabled;for(;Al.length){l=s,c=u,Z=Se;break}}}break}}if(l!==null){if(d=l.length,f=Z.group,f!==void 0&&(h=Z.tokenTypeIdx,y=this.createTokenInstance(l,A,h,Z.tokenType,le,ce,d),this.handlePayload(y,c),f===!1?k=this.addToken(H,k,y):Ne[f].push(y)),e=this.chopInput(e,d),A=A+d,ce=this.computeNewColumn(ce,d),P===!0&&Z.canLineTerminator===!0){let Re=0,Oe,qe;_.lastIndex=0;do Oe=_.test(l),Oe===!0&&(qe=_.lastIndex-1,Re++);while(Oe===!0);Re!==0&&(le=le+Re,ce=d-qe,this.updateTokenEndLineColumnLocation(y,f,qe,Re,le,ce,d))}this.handleModes(Z,z,B,y)}else{const Re=A,Oe=le,qe=ce;let Se=J===!1;for(;Se===!1&&A ${Cn(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e,ruleName:t}){return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:a}){const s="Expecting: ",l=` +but found: '`+jt(t).image+"'";if(n)return s+n+l;{const c=ht(e,(h,y)=>h.concat(y),[]),u=F(c,h=>`[${F(h,y=>Cn(y)).join(", ")}]`),f=`one of these possible Token sequences: +${F(u,(h,y)=>` ${y+1}. ${h}`).join(` +`)}`;return s+f+l}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){const a="Expecting: ",o=` +but found: '`+jt(t).image+"'";if(r)return a+r+o;{const c=`expecting at least one iteration which starts with one of these possible Token sequences:: + <${F(e,u=>`[${F(u,d=>Cn(d)).join(",")}]`).join(" ,")}>`;return a+c+o}}};Object.freeze(wa);var dL={buildRuleNotFoundError(e,t){return"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+`<- +inside top level rule: ->`+e.name+"<-"}},An={buildDuplicateFoundError(e,t){function r(d){return d instanceof Te?d.terminalType.name:d instanceof Ze?d.nonTerminalName:""}i(r,"getExtraProductionArgument");const n=e.name,a=jt(t),s=a.idx,o=Ot(a),l=r(a),c=s>0;let u=`->${o}${c?s:""}<- ${l?`with argument: ->${l}<-`:""} + appears more than once (${t.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,` +`),u},buildNamespaceConflictError(e){return`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.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(e){const t=F(e.prefixPath,a=>Cn(a)).join(", "),r=e.alternation.idx===0?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in inside <${e.topLevelRule.name}> Rule, +<${t}> 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(e){const t=F(e.prefixPath,a=>Cn(a)).join(", "),r=e.alternation.idx===0?"":e.alternation.idx;let n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in inside <${e.topLevelRule.name}> Rule, +<${t}> 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(e){let t=Ot(e.repetition);return e.repetition.idx!==0&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError(e){return"deprecated"},buildEmptyAlternationError(e){return`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in inside <${e.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(e){return`An Alternation cannot have more than 256 alternatives: + inside <${e.topLevelRule.name}> Rule. + has ${e.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(e){const t=e.topLevelRule.name,r=F(e.leftRecursionPath,s=>s.name),n=`${t} --> ${r.concat([t]).join(" --> ")}`;return`Left Recursion found in grammar. +rule: <${t}> 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(e){return"deprecated"},buildDuplicateRuleNameError(e){let t;return e.topLevelRule instanceof Ha?t=e.topLevelRule.name:t=e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function hA(e,t){const r=new fL(e,t);return r.resolveRefs(),r.errors}i(hA,"resolveGrammar");var fL=class extends Ya{static{i(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){q(xe(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:Qe.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},pL=class extends ec{static{i(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,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=Ke(this.path.ruleStack).reverse(),this.occurrenceStack=Ke(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){he(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},hL=class extends pL{static{i(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const n=t.concat(r),a=new st({definition:n});this.possibleTokTypes=Xa(a),this.found=!0}}},rc=class extends ec{static{i(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},mL=class extends rc{static{i(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){const n=jt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof Te&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkMany(e,t,r)}},wm=class extends rc{static{i(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){const n=jt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof Te&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkManySep(e,t,r)}},gL=class extends rc{static{i(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){const n=jt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof Te&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkAtLeastOne(e,t,r)}},Im=class extends rc{static{i(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){const n=jt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof Te&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkAtLeastOneSep(e,t,r)}};function sl(e,t,r=[]){r=Ke(r);let n=[],a=0;function s(l){return l.concat(ze(e,a+1))}i(s,"remainingPathWith");function o(l){const c=sl(s(l),t,r);return n.concat(c)}for(i(o,"getAlternativesForProd");r.length{he(c.definition)===!1&&(n=o(c.definition))}),n;if(l instanceof Te)r.push(l.terminalType);else throw Error("non exhaustive match")}a++}return n.push({partialPath:r,suffixDef:ze(e,a)}),n}i(sl,"possiblePathsFrom");function kp(e,t,r,n){const a="EXIT_NONE_TERMINAL",s=[a],o="EXIT_ALTERNATIVE";let l=!1;const c=t.length,u=c-n-1,d=[],f=[];for(f.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!he(f);){const h=f.pop();if(h===o){l&&wn(f).idx<=u&&f.pop();continue}const y=h.def,v=h.idx,C=h.ruleStack,b=h.occurrenceStack;if(he(y))continue;const w=y[0];if(w===a){const I={idx:v,def:ze(y),ruleStack:ps(C),occurrenceStack:ps(b)};f.push(I)}else if(w instanceof Te)if(v=0;I--){const A=w.definition[I],k={idx:v,def:A.definition.concat(ze(y)),ruleStack:C,occurrenceStack:b};f.push(k),f.push(o)}else if(w instanceof st)f.push({idx:v,def:w.definition.concat(ze(y)),ruleStack:C,occurrenceStack:b});else if(w instanceof Ha)f.push(mA(w,v,C,b));else throw Error("non exhaustive match")}return d}i(kp,"nextPossibleTokensAfter");function mA(e,t,r,n){const a=Ke(r);a.push(e.name);const s=Ke(n);return s.push(1),{idx:t,def:e.definition,ruleStack:a,occurrenceStack:s}}i(mA,"expandTopLevelRule");var _e;(function(e){e[e.OPTION=0]="OPTION",e[e.REPETITION=1]="REPETITION",e[e.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",e[e.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",e[e.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",e[e.ALTERNATION=5]="ALTERNATION"})(_e||(_e={}));function nc(e){if(e instanceof Be||e==="Option")return _e.OPTION;if(e instanceof we||e==="Repetition")return _e.REPETITION;if(e instanceof mt||e==="RepetitionMandatory")return _e.REPETITION_MANDATORY;if(e instanceof gt||e==="RepetitionMandatoryWithSeparator")return _e.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof ot||e==="RepetitionWithSeparator")return _e.REPETITION_WITH_SEPARATOR;if(e instanceof lt||e==="Alternation")return _e.ALTERNATION;throw Error("non exhaustive match")}i(nc,"getProdType");function pd(e){const{occurrence:t,rule:r,prodType:n,maxLookahead:a}=e,s=nc(n);return s===_e.ALTERNATION?Us(t,r,a):zs(t,r,s,a)}i(pd,"getLookaheadPaths");function gA(e,t,r,n,a,s){const o=Us(e,t,r),l=Op(o)?ms:Ja;return s(o,n,l,a)}i(gA,"buildLookaheadFuncForOr");function yA(e,t,r,n,a,s){const o=zs(e,t,a,r),l=Op(o)?ms:Ja;return s(o[0],l,n)}i(yA,"buildLookaheadFuncForOptionalProd");function vA(e,t,r,n){const a=e.length,s=Ft(e,o=>Ft(o,l=>l.length===1));if(t)return function(o){const l=F(o,c=>c.GATE);for(let c=0;cxt(c)),l=ht(o,(c,u,d)=>(q(u,f=>{U(c,f.tokenTypeIdx)||(c[f.tokenTypeIdx]=d),q(f.categoryMatches,h=>{U(c,h)||(c[h]=d)})}),c),{});return function(){const c=this.LA(1);return l[c.tokenTypeIdx]}}else return function(){for(let o=0;os.length===1),a=e.length;if(n&&!r){const s=xt(e);if(s.length===1&&he(s[0].categoryMatches)){const l=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{const o=ht(s,(l,c,u)=>(l[c.tokenTypeIdx]=!0,q(c.categoryMatches,d=>{l[d]=!0}),l),[]);return function(){const l=this.LA(1);return o[l.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;ssl([o],1)),n=hd(r.length),a=F(r,o=>{const l={};return q(o,c=>{const u=_o(c.partialPath);q(u,d=>{l[d]=!0})}),l});let s=r;for(let o=1;o<=t;o++){const l=s;s=hd(l.length);for(let c=0;c{const w=_o(b.partialPath);q(w,I=>{a[c][I]=!0})})}}}}return n}i(Pp,"lookAheadSequenceFromAlternatives");function Us(e,t,r,n){const a=new RA(e,_e.ALTERNATION,n);return t.accept(a),Pp(a.result,r)}i(Us,"getLookaheadPathsForOr");function zs(e,t,r,n){const a=new RA(e,r);t.accept(a);const s=a.result,l=new yL(t,e,r).startWalking(),c=new st({definition:s}),u=new st({definition:l});return Pp([c,u],n)}i(zs,"getLookaheadPathsForOptionalProd");function ol(e,t){e:for(let r=0;r{const a=t[n];return r===a||a.categoryMatchesMap[r.tokenTypeIdx]})}i(AA,"isStrictPrefixOfPath");function Op(e){return Ft(e,t=>Ft(t,r=>Ft(r,n=>he(n.categoryMatches))))}i(Op,"areTokenCategoriesNotUsed");function EA(e){const t=e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName});return F(t,r=>Object.assign({type:Qe.CUSTOM_LOOKAHEAD_VALIDATION},r))}i(EA,"validateLookahead");function _A(e,t,r,n){const a=_t(e,c=>CA(c,r)),s=DA(e,t,r),o=_t(e,c=>kA(c,r)),l=_t(e,c=>bA(c,e,n,r));return a.concat(s,o,l)}i(_A,"validateGrammar");function CA(e,t){const r=new vL;e.accept(r);const n=r.allProductions,a=PO(n,SA),s=Ut(a,l=>l.length>1);return F(xe(s),l=>{const c=jt(l),u=t.buildDuplicateFoundError(e,l),d=Ot(c),f={message:u,type:Qe.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:d,occurrence:c.idx},h=Lp(c);return h&&(f.parameter=h),f})}i(CA,"validateDuplicateProductions");function SA(e){return`${Ot(e)}_#_${e.idx}_#_${Lp(e)}`}i(SA,"identifyProductionForDuplicates");function Lp(e){return e instanceof Te?e.terminalType.name:e instanceof Ze?e.nonTerminalName:""}i(Lp,"getExtraProductionArgument");var vL=class extends Ya{static{i(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)}};function bA(e,t,r,n){const a=[];if(ht(t,(o,l)=>l.name===e.name?o+1:o,0)>1){const o=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});a.push({message:o,type:Qe.DUPLICATE_RULE_NAME,ruleName:e.name})}return a}i(bA,"validateRuleDoesNotAlreadyExist");function wA(e,t,r){const n=[];let a;return tt(t,e)||(a=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:a,type:Qe.INVALID_RULE_OVERRIDE,ruleName:e})),n}i(wA,"validateRuleIsOverridden");function Dp(e,t,r,n=[]){const a=[],s=ns(t.definition);if(he(s))return[];{const o=e.name;tt(s,e)&&a.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:Qe.LEFT_RECURSION,ruleName:o});const c=Zl(s,n.concat([e])),u=_t(c,d=>{const f=Ke(n);return f.push(d),Dp(e,d,r,f)});return a.concat(u)}}i(Dp,"validateNoLeftRecursion");function ns(e){let t=[];if(he(e))return t;const r=jt(e);if(r instanceof Ze)t.push(r.referencedRule);else if(r instanceof st||r instanceof Be||r instanceof mt||r instanceof gt||r instanceof ot||r instanceof we)t=t.concat(ns(r.definition));else if(r instanceof lt)t=xt(F(r.definition,s=>ns(s.definition)));else if(!(r instanceof Te))throw Error("non exhaustive match");const n=hs(r),a=e.length>1;if(n&&a){const s=ze(e);return t.concat(ns(s))}else return t}i(ns,"getFirstNoneTerminal");var Mp=class extends Ya{static{i(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function IA(e,t){const r=new Mp;e.accept(r);const n=r.alternations;return _t(n,s=>{const o=ps(s.definition);return _t(o,(l,c)=>{const u=kp([l],[],Ja,1);return he(u)?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:s,emptyChoiceIdx:c}),type:Qe.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:s.idx,alternative:c+1}]:[]})})}i(IA,"validateEmptyOrAlternative");function NA(e,t,r){const n=new Mp;e.accept(n);let a=n.alternations;return a=Ql(a,o=>o.ignoreAmbiguities===!0),_t(a,o=>{const l=o.idx,c=o.maxLookahead||t,u=Us(l,e,c,o),d=OA(u,o,e,r),f=LA(u,o,e,r);return d.concat(f)})}i(NA,"validateAmbiguousAlternationAlternatives");var TL=class extends Ya{static{i(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)}};function kA(e,t){const r=new Mp;e.accept(r);const n=r.alternations;return _t(n,s=>s.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:s}),type:Qe.TOO_MANY_ALTS,ruleName:e.name,occurrence:s.idx}]:[])}i(kA,"validateTooManyAlts");function PA(e,t,r){const n=[];return q(e,a=>{const s=new TL;a.accept(s);const o=s.allProductions;q(o,l=>{const c=nc(l),u=l.maxLookahead||t,d=l.idx,h=zs(d,a,c,u)[0];if(he(xt(h))){const y=r.buildEmptyRepetitionError({topLevelRule:a,repetition:l});n.push({message:y,type:Qe.NO_NON_EMPTY_LOOKAHEAD,ruleName:a.name})}})}),n}i(PA,"validateSomeNonEmptyLookaheadPath");function OA(e,t,r,n){const a=[],s=ht(e,(l,c,u)=>(t.definition[u].ignoreAmbiguities===!0||q(c,d=>{const f=[u];q(e,(h,y)=>{u!==y&&ol(h,d)&&t.definition[y].ignoreAmbiguities!==!0&&f.push(y)}),f.length>1&&!ol(a,d)&&(a.push(d),l.push({alts:f,path:d}))}),l),[]);return F(s,l=>{const c=F(l.alts,d=>d+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:c,prefixPath:l.path}),type:Qe.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:l.alts}})}i(OA,"checkAlternativesAmbiguities");function LA(e,t,r,n){const a=ht(e,(o,l,c)=>{const u=F(l,d=>({idx:c,path:d}));return o.concat(u)},[]);return Fs(_t(a,o=>{if(t.definition[o.idx].ignoreAmbiguities===!0)return[];const c=o.idx,u=o.path,d=wt(a,h=>t.definition[h.idx].ignoreAmbiguities!==!0&&h.idx{const y=[h.idx+1,c+1],v=t.idx===0?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:y,prefixPath:h.path}),type:Qe.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:v,alternatives:y}})}))}i(LA,"checkPrefixAlternativesAmbiguities");function DA(e,t,r){const n=[],a=F(t,s=>s.name);return q(e,s=>{const o=s.name;if(tt(a,o)){const l=r.buildNamespaceConflictError(s);n.push({message:l,type:Qe.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}i(DA,"checkTerminalAndNoneTerminalsNameSpace");function MA(e){const t=Tp(e,{errMsgProvider:dL}),r={};return q(e.rules,n=>{r[n.name]=n}),hA(r,t.errMsgProvider)}i(MA,"resolveGrammar");function xA(e){return e=Tp(e,{errMsgProvider:An}),_A(e.rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}i(xA,"validateGrammar");var FA="MismatchedTokenException",GA="NoViableAltException",jA="EarlyExitException",UA="NotAllInputParsedException",zA=[FA,GA,jA,UA];Object.freeze(zA);function gs(e){return tt(zA,e.name)}i(gs,"isRecognitionException");var ac=class extends Error{static{i(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},BA=class extends ac{static{i(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=FA}},RL=class extends ac{static{i(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=GA}},$L=class extends ac{static{i(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=UA}},AL=class extends ac{static{i(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=jA}},Dc={},KA="InRuleRecoveryException",EL=class extends Error{static{i(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=KA}},_L=class{static{i(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=U(e,"recoveryEnabled")?e.recoveryEnabled:Cr.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=qA)}getTokenToInsert(e){const t=js(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const c=this.LA(1);let u=this.LA(1);const d=i(()=>{const f=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:c,previous:f,ruleName:this.getCurrRuleFullName()}),y=new BA(h,c,this.LA(0));y.resyncedTokens=ps(o),this.SAVE_ERROR(y)},"generateErrorMessage");for(;!l;)if(this.tokenMatcher(u,n)){d();return}else if(r.call(this)){d(),e.apply(this,t);return}else this.tokenMatcher(u,a)?l=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){const r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new EL("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||he(t))return!1;const r=this.LA(1);return za(t,a=>this.tokenMatcher(r,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const t=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(t);return tt(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let t=this.LA(1),r=2;for(;;){const n=za(e,a=>Np(t,a));if(n!==void 0)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Dc;const e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return F(e,(r,n)=>n===0?Dc:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){const e=F(this.buildFullFollowKeyStack(),t=>this.getFollowSetFromFollowKey(t));return xt(e)}getFollowSetFromFollowKey(e){if(e===Dc)return[Ur];const t=e.ruleName+e.idxInCallingRule+I$+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,Ur)||t.push(e),t}reSyncTo(e){const t=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return ps(t)}attemptInRepetitionRecovery(e,t,r,n,a,s,o){}getCurrentGrammarPath(e,t){const r=this.getHumanReadableRuleStack(),n=Ke(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:n,lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return F(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function qA(e,t,r,n,a,s,o){const l=this.getKeyForAutomaticLookahead(n,a);let c=this.firstAfterRepMap[l];if(c===void 0){const h=this.getCurrRuleFullName(),y=this.getGAstProductions()[h];c=new s(y,a).startWalking(),this.firstAfterRepMap[l]=c}let u=c.token,d=c.occurrence;const f=c.isEndOfRule;this.RULE_STACK.length===1&&f&&u===void 0&&(u=Ur,d=1),!(u===void 0||d===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,d,o)&&this.tryInRepetitionRecovery(e,t,r,u)}i(qA,"attemptInRepetitionRecovery");var CL=4,Vr=8,WA=1<Dp(t,t,An))}validateEmptyOrAlternatives(e){return _t(e,t=>IA(t,An))}validateAmbiguousAlternationAlternatives(e,t){return _t(e,r=>NA(r,t,An))}validateSomeNonEmptyLookaheadPath(e,t){return PA(e,t,An)}buildLookaheadForAlternation(e){return gA(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,vA)}buildLookaheadForOptional(e){return yA(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,nc(e.prodType),TA)}},SL=class{static{i(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=U(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Cr.dynamicTokensEnabled,this.maxLookahead=U(e,"maxLookahead")?e.maxLookahead:Cr.maxLookahead,this.lookaheadStrategy=U(e,"lookaheadStrategy")?e.lookaheadStrategy:new xp({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){q(e,t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,()=>{const{alternation:r,repetition:n,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=HA(t);q(r,c=>{const u=c.idx===0?"":c.idx;this.TRACE_INIT(`${Ot(c)}${u}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:t,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=So(this.fullRuleNameToShort[t.name],WA,c.idx);this.setLaFuncCache(f,d)})}),q(n,c=>{this.computeLookaheadFunc(t,c.idx,md,"Repetition",c.maxLookahead,Ot(c))}),q(a,c=>{this.computeLookaheadFunc(t,c.idx,VA,"Option",c.maxLookahead,Ot(c))}),q(s,c=>{this.computeLookaheadFunc(t,c.idx,gd,"RepetitionMandatory",c.maxLookahead,Ot(c))}),q(o,c=>{this.computeLookaheadFunc(t,c.idx,Co,"RepetitionMandatoryWithSeparator",c.maxLookahead,Ot(c))}),q(l,c=>{this.computeLookaheadFunc(t,c.idx,yd,"RepetitionWithSeparator",c.maxLookahead,Ot(c))})})})}computeLookaheadFunc(e,t,r,n,a,s){this.TRACE_INIT(`${s}${t===0?"":t}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),l=So(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,t){const r=this.getLastExplicitRuleShortName();return So(r,e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},bL=class extends Ya{static{i(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)}},Ys=new bL;function HA(e){Ys.reset(),e.accept(Ys);const t=Ys.dslMethods;return Ys.reset(),t}i(HA,"collectMethods");function vd(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffseto.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${s.join(` + +`).replace(/\n/g,` + `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=t,r}i(ZA,"createBaseSemanticVisitorConstructor");function QA(e,t,r){const n=i(function(){},"derivedConstructor");Fp(n,e+"BaseSemanticsWithDefaults");const a=Object.create(r.prototype);return q(t,s=>{a[s]=JA}),n.prototype=a,n.prototype.constructor=n,n}i(QA,"createBaseVisitorConstructorWithDefaults");var Rd;(function(e){e[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD"})(Rd||(Rd={}));function eE(e,t){return tE(e,t)}i(eE,"validateVisitor");function tE(e,t){const r=wt(t,a=>Ir(e[a])===!1),n=F(r,a=>({msg:`Missing visitor method: <${a}> on ${e.constructor.name} CST Visitor.`,type:Rd.MISSING_METHOD,methodName:a}));return Fs(n)}i(tE,"validateMissingCstMethods");var IL=class{static{i(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=U(e,"nodeLocationTracking")?e.nodeLocationTracking:Cr.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Me,this.cstFinallyStateUpdate=Me,this.cstPostTerminal=Me,this.cstPostNonTerminal=Me,this.cstPostRule=Me;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Td,this.setNodeLocationFromNode=Td,this.cstPostRule=Me,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Me,this.setNodeLocationFromNode=Me,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=vd,this.setNodeLocationFromNode=vd,this.cstPostRule=Me,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Me,this.setNodeLocationFromNode=Me,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Me,this.setNodeLocationFromNode=Me,this.cstPostRule=Me,this.setInitialNodeLocation=Me;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){const t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];YA(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];XA(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(Er(this.baseCstVisitorConstructor)){const e=ZA(this.className,ft(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Er(this.baseCstVisitorWithDefaultsConstructor)){const e=QA(this.className,ft(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},NL=class{static{i(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)):ll}LA(e){const t=this.currIdx+e;return t<0||this.tokVectorLength<=t?ll:this.tokVector[t]}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()}},kL=class{static{i(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}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,t,r=cl){if(tt(this.definedRulesNames,e)){const s={message:An.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Qe.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=cl){const n=wA(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);const a=this.defineRule(e,t,r);return this[e]=a,a}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if(gs(n))return!1;throw n}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return E$(xe(this.gastProductionsCache))}},PL=class{static{i(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ms,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},U(t,"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(ne(e)){if(he(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(ne(e))this.tokensMap=ht(e,(a,s)=>(a[s.name]=s,a),{});else if(U(e,"modes")&&Ft(xt(xe(e.modes)),fA)){const a=xt(xe(e.modes)),s=Rp(a);this.tokensMap=ht(s,(o,l)=>(o[l.name]=l,o),{})}else if(St(e))this.tokensMap=Ke(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Ur;const r=U(e,"modes")?xt(xe(e.modes)):xe(e),n=Ft(r,a=>he(a.categoryMatches));this.tokenMatcher=n?ms:Ja,Za(xe(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const n=U(r,"resyncEnabled")?r.resyncEnabled:cl.resyncEnabled,a=U(r,"recoveryValueFunc")?r.recoveryValueFunc:cl.recoveryValueFunc,s=this.ruleShortNameIdx<s.call(this)&&o.call(this),"lookAheadFunc")}}else a=e;if(n.call(this)===!0)return a.call(this)}atLeastOneInternal(e,t){const r=this.getKeyForAutomaticLookahead(gd,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),a;if(typeof t!="function"){a=t.DEF;const s=t.GATE;if(s!==void 0){const o=n;n=i(()=>s.call(this)&&o.call(this),"lookAheadFunc")}}else a=t;if(n.call(this)===!0){let s=this.doSingleRepetition(a);for(;n.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,_e.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],n,gd,e,gL)}atLeastOneSepFirstInternal(e,t){const r=this.getKeyForAutomaticLookahead(Co,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){const n=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){n.call(this);const o=i(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,n,Im],o,Co,e,Im)}else throw this.raiseEarlyExitException(e,_e.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){const r=this.getKeyForAutomaticLookahead(md,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),a;if(typeof t!="function"){a=t.DEF;const o=t.GATE;if(o!==void 0){const l=n;n=i(()=>o.call(this)&&l.call(this),"lookaheadFunction")}}else a=t;let s=!0;for(;n.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],n,md,e,mL,s)}manySepFirstInternal(e,t){const r=this.getKeyForAutomaticLookahead(yd,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){const n=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){n.call(this);const o=i(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,n,wm],o,yd,e,wm)}}repetitionSepSecondInternal(e,t,r,n,a){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,a],r,Co,e,a)}doSingleRepetition(e){const t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){const r=this.getKeyForAutomaticLookahead(WA,t),n=ne(e)?e:e.DEF,s=this.getLaFuncFromCache(r).call(this,n);if(s!==void 0)return n[s].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new $L(t,e))}}subruleInternal(e,t,r){let n;try{const a=r!==void 0?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,a),this.cstPostNonTerminal(n,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),n}catch(a){throw this.subruleInternalError(a,r,e.ruleName)}}subruleInternalError(e,t,r){throw gs(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{const a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),n=a):this.consumeInternalError(e,a,r)}catch(a){n=this.consumeInternalRecovery(e,t,a)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n;const a=this.LA(0);throw r!==void 0&&r.ERR_MSG?n=r.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new BA(n,t,a))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(a){throw a.name===KA?r:a}}else throw r}saveRecogState(){const e=this.errors,t=Ke(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Ur)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},OL=class{static{i(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=U(e,"errorMessageProvider")?e.errorMessageProvider:Cr.errorMessageProvider}SAVE_ERROR(e){if(gs(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Ke(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Ke(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){const n=this.getCurrRuleFullName(),a=this.getGAstProductions()[n],o=zs(e,a,t,this.maxLookahead)[0],l=[];for(let u=1;u<=this.maxLookahead;u++)l.push(this.LA(u));const c=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new AL(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){const r=this.getCurrRuleFullName(),n=this.getGAstProductions()[r],a=Us(e,n,this.maxLookahead),s=[];for(let c=1;c<=this.maxLookahead;c++)s.push(this.LA(c));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new RL(l,this.LA(1),o))}},LL=class{static{i(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){const r=this.gastProductionsCache[e];if(Er(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return kp([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const t=jt(e.ruleStack),n=this.getGAstProductions()[t];return new hL(n,e).startWalking()}},ic={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ic);var Nm=!0,km=Math.pow(2,Vr)-1,rE=ka({name:"RECORDING_PHASE_TOKEN",pattern:Xe.NA});Za([rE]);var nE=js(rE,`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(nE);var DL={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},ML=class{static{i(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++){const t=e>0?e:"";this[`CONSUME${t}`]=function(r,n){return this.consumeInternalRecord(r,e,n)},this[`SUBRULE${t}`]=function(r,n){return this.subruleInternalRecord(r,e,n)},this[`OPTION${t}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${t}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${t}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${t}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${t}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${t}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let t=0;t<10;t++){const r=t>0?t:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}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,t){return()=>!0}LA_RECORD(e){return ll}topLevelRuleRecord(e,t){try{const r=new Ha({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.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 r}throw r}}optionInternalRecord(e,t){return ma.call(this,Be,e,t)}atLeastOneInternalRecord(e,t){ma.call(this,mt,t,e)}atLeastOneSepFirstInternalRecord(e,t){ma.call(this,gt,t,e,Nm)}manyInternalRecord(e,t){ma.call(this,we,t,e)}manySepFirstInternalRecord(e,t){ma.call(this,ot,t,e,Nm)}orInternalRecord(e,t){return aE.call(this,e,t)}subruleInternalRecord(e,t,r){if(ys(t),!e||U(e,"ruleName")===!1){const o=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const n=wn(this.recordingProdStack),a=e.ruleName,s=new Ze({idx:t,nonTerminalName:a,label:r?.LABEL,referencedRule:void 0});return n.definition.push(s),this.outputCst?DL:ic}consumeInternalRecord(e,t,r){if(ys(t),!wp(e)){const 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}const n=wn(this.recordingProdStack),a=new Te({idx:t,terminalType:e,label:r?.LABEL});return n.definition.push(a),nE}};function ma(e,t,r,n=!1){ys(r);const a=wn(this.recordingProdStack),s=Ir(t)?t:t.DEF,o=new e({definition:[],idx:r});return n&&(o.separator=t.SEP),U(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),a.definition.push(o),this.recordingProdStack.pop(),ic}i(ma,"recordProd");function aE(e,t){ys(t);const r=wn(this.recordingProdStack),n=ne(e)===!1,a=n===!1?e:e.DEF,s=new lt({definition:[],idx:t,ignoreAmbiguities:n&&e.IGNORE_AMBIGUITIES===!0});U(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD);const o=v$(a,l=>Ir(l.GATE));return s.hasPredicates=o,r.definition.push(s),q(a,l=>{const c=new st({definition:[]});s.definition.push(c),U(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:U(l,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),l.ALT.call(this),this.recordingProdStack.pop()}),ic}i(aE,"recordOrProd");function $d(e){return e===0?"":`${e}`}i($d,"getIdxSuffix");function ys(e){if(e<0||e>km){const t=new Error(`Invalid DSL Method idx value: <${e}> + Idx value must be a none negative value smaller than ${km+1}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}i(ys,"assertMethodIdxIsValid");var xL=class{static{i(this,"PerformanceTracer")}initPerformanceTracer(e){if(U(e,"traceInitPerf")){const t=e.traceInitPerf,r=typeof t=="number";this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Cr.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);const{time:n,value:a}=Ap(t),s=n>10?console.warn:console.log;return this.traceInitIndent time: ${n}ms`),this.traceInitIndent--,a}else return t()}};function iE(e,t){t.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(a=>{if(a==="constructor")return;const s=Object.getOwnPropertyDescriptor(n,a);s&&(s.get||s.set)?Object.defineProperty(e.prototype,a,s):e.prototype[a]=r.prototype[a]})})}i(iE,"applyMixins");var ll=js(Ur,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(ll);var Cr=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:wa,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),cl=Object.freeze({recoveryValueFunc:i(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),Qe;(function(e){e[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Qe||(Qe={}));function Ad(e=void 0){return function(){return e}}i(Ad,"EMPTY_ALT");var Gp=class sE{static{i(this,"Parser")}static performSelfAnalysis(t){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let t;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{Ep(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),q(this.definedRulesNames,a=>{const o=this[a].originalGrammarAction;let l;this.TRACE_INIT(`${a} Rule`,()=>{l=this.topLevelRuleRecord(a,o)}),this.gastProductionsCache[a]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=MA({rules:xe(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(he(n)&&this.skipValidations===!1){const a=xA({rules:xe(this.gastProductionsCache),tokenTypes:xe(this.tokensMap),errMsgProvider:An,grammarName:r}),s=EA({lookaheadStrategy:this.lookaheadStrategy,rules:xe(this.gastProductionsCache),tokenTypes:xe(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(a,s)}}),he(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const a=N$(xe(this.gastProductionsCache));this.resyncFollows=a}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var a,s;(s=(a=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(a,{rules:xe(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(xe(this.gastProductionsCache))})),!sE.DEFER_DEFINITION_ERRORS_HANDLING&&!he(this.definitionErrors))throw t=F(this.definitionErrors,a=>a.message),new Error(`Parser Definition Errors detected: + ${t.join(` +------------------------------- +`)}`)})}constructor(t,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(t,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),U(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=U(r,"skipValidations")?r.skipValidations:Cr.skipValidations}};Gp.DEFER_DEFINITION_ERRORS_HANDLING=!1;iE(Gp,[_L,SL,IL,NL,PL,kL,OL,LL,ML,xL]);var FL=class extends Gp{static{i(this,"EmbeddedActionsParser")}constructor(e,t=Cr){const r=Ke(t);r.outputCst=!1,super(e,r)}};function oE(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r-1}i(mE,"listCacheHas");var KL=mE;function gE(e,t){var r=this.__data__,n=sc(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}i(gE,"listCacheSet");var qL=gE;function qn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++tl))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var f=-1,h=!0,y=r&JD?new YE:void 0;for(s.set(e,t),s.set(t,e);++f-1&&e%1==0&&e-1&&e%1==0&&e<=PM}i(v_,"isLength");var zp=v_,OM="[object Arguments]",LM="[object Array]",DM="[object Boolean]",MM="[object Date]",xM="[object Error]",FM="[object Function]",GM="[object Map]",jM="[object Number]",UM="[object Object]",zM="[object RegExp]",BM="[object Set]",KM="[object String]",qM="[object WeakMap]",WM="[object ArrayBuffer]",VM="[object DataView]",HM="[object Float32Array]",YM="[object Float64Array]",XM="[object Int8Array]",JM="[object Int16Array]",ZM="[object Int32Array]",QM="[object Uint8Array]",ex="[object Uint8ClampedArray]",tx="[object Uint16Array]",rx="[object Uint32Array]",ve={};ve[HM]=ve[YM]=ve[XM]=ve[JM]=ve[ZM]=ve[QM]=ve[ex]=ve[tx]=ve[rx]=!0;ve[OM]=ve[LM]=ve[WM]=ve[DM]=ve[VM]=ve[MM]=ve[xM]=ve[FM]=ve[GM]=ve[jM]=ve[UM]=ve[zM]=ve[BM]=ve[KM]=ve[qM]=!1;function T_(e){return Ba(e)&&zp(e.length)&&!!ve[Qa(e)]}i(T_,"baseIsTypedArray");var nx=T_;function R_(e){return function(t){return e(t)}}i(R_,"baseUnary");var ax=R_,$_=typeof exports=="object"&&exports&&!exports.nodeType&&exports,as=$_&&typeof module=="object"&&module&&!module.nodeType&&module,ix=as&&as.exports===$_,Fc=ix&&$E.process,sx=(function(){try{var e=as&&as.require&&as.require("util").types;return e||Fc&&Fc.binding&&Fc.binding("util")}catch{}})(),Um=sx,zm=Um&&Um.isTypedArray,ox=zm?ax(zm):nx,Bp=ox,lx=Object.prototype,cx=lx.hasOwnProperty;function A_(e,t){var r=et(e),n=!r&&uc(e),a=!r&&!n&&ul(e),s=!r&&!n&&!a&&Bp(e),o=r||n||a||s,l=o?$M(e.length,String):[],c=l.length;for(var u in e)(t||cx.call(e,u))&&!(o&&(u=="length"||a&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||y_(u,c)))&&l.push(u);return l}i(A_,"arrayLikeKeys");var ux=A_,dx=Object.prototype;function E_(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||dx;return e===r}i(E_,"isPrototype");var __=E_;function C_(e,t){return function(r){return e(t(r))}}i(C_,"overArg");var fx=C_,px=fx(Object.keys,Object),hx=px,mx=Object.prototype,gx=mx.hasOwnProperty;function S_(e){if(!__(e))return hx(e);var t=[];for(var r in Object(e))gx.call(e,r)&&r!="constructor"&&t.push(r);return t}i(S_,"baseKeys");var b_=S_;function w_(e){return e!=null&&zp(e.length)&&!wE(e)}i(w_,"isArrayLike");var dc=w_;function I_(e){return dc(e)?ux(e):b_(e)}i(I_,"keys");var Kp=I_;function N_(e){return mM(e,Kp,RM)}i(N_,"getAllKeys");var Bm=N_,yx=1,vx=Object.prototype,Tx=vx.hasOwnProperty;function k_(e,t,r,n,a,s){var o=r&yx,l=Bm(e),c=l.length,u=Bm(t),d=u.length;if(c!=d&&!o)return!1;for(var f=c;f--;){var h=l[f];if(!(o?h in t:Tx.call(t,h)))return!1}var y=s.get(e),v=s.get(t);if(y&&v)return y==t&&v==e;var C=!0;s.set(e,t),s.set(t,e);for(var b=o;++fZp(e,t,o));return Xn(e,t,n,r,...a)}i(EC,"alternation");function _C(e,t,r){const n=Fe(e,t,r,{type:zr});kr(e,n);const a=Xn(e,t,n,r,Hr(e,t,r));return CC(e,t,r,a)}i(_C,"option");function Hr(e,t,r){const n=g1(yr(r.definition,a=>Zp(e,t,a)),a=>a!==void 0);return n.length===1?n[0]:n.length===0?void 0:bC(e,n)}i(Hr,"block");function Qp(e,t,r,n,a){const s=n.left,o=n.right,l=Fe(e,t,r,{type:$1});kr(e,l);const c=Fe(e,t,r,{type:mC});return s.loopback=l,c.loopback=l,e.decisionMap[Nn(t,a?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,Pe(o,l),a===void 0?(Pe(l,s),Pe(l,c)):(Pe(l,c),Pe(l,a.left),Pe(a.right,s)),{left:s,right:c}}i(Qp,"plus");function eh(e,t,r,n,a){const s=n.left,o=n.right,l=Fe(e,t,r,{type:R1});kr(e,l);const c=Fe(e,t,r,{type:mC}),u=Fe(e,t,r,{type:T1});return l.loopback=u,c.loopback=u,Pe(l,s),Pe(l,c),Pe(o,u),a!==void 0?(Pe(u,c),Pe(u,a.left),Pe(a.right,s)):Pe(u,l),e.decisionMap[Nn(t,a?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:c}}i(eh,"star");function CC(e,t,r,n){const a=n.left,s=n.right;return Pe(a,s),e.decisionMap[Nn(t,"Option",r.idx)]=a,n}i(CC,"optional");function kr(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}i(kr,"defineDecisionState");function Xn(e,t,r,n,...a){const s=Fe(e,t,n,{type:v1,start:r});r.end=s;for(const l of a)l!==void 0?(Pe(r,l.left),Pe(l.right,s)):Pe(r,s);const o={left:r,right:s};return e.decisionMap[Nn(t,SC(n),n.idx)]=r,o}i(Xn,"makeAlts");function SC(e){if(e instanceof lt)return"Alternation";if(e instanceof Be)return"Option";if(e instanceof we)return"Repetition";if(e instanceof ot)return"RepetitionWithSeparator";if(e instanceof mt)return"RepetitionMandatory";if(e instanceof gt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}i(SC,"getProdType");function bC(e,t){const r=t.length;for(let s=0;se.alt)}get key(){let e="";for(const t in this.map)e+=t+":";return e}};function th(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(r=>r.stateNumber.toString()).join("_")}`}i(th,"getATNConfigKey");function kC(e,t,r){for(var n=-1,a=e.length;++n0&&r(l)?t>1?rh(l,t-1,r,n,a):i_(a,l):n||(a[a.length]=l)}return a}i(rh,"baseFlatten");var DC=rh;function MC(e,t){return DC(yr(e,t),1)}i(MC,"flatMap");var S1=MC;function xC(e,t,r,n){for(var a=e.length,s=r+(n?1:-1);n?s--:++s-1}i(UC,"arrayIncludes");var k1=UC;function zC(e,t,r){for(var n=-1,a=e==null?0:e.length;++n=x1){var u=t?null:M1(e);if(u)return Up(u);o=!1,a=ZE,c=new YE}else c=t?[]:l;e:for(;++n{const a=n.toString();let s=r[a];return s!==void 0||(s={atnStartState:e,decision:t,states:{}},r[a]=s),s}}i(eS,"createDFACache");var tS=class{static{i(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="";const t=this.predicates.length;for(let r=0;rconsole.log(r))}initialize(e){this.atn=yC(e.rules),this.dfas=rS(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=Nn(r,"Alternation",t),u=this.atn.decisionMap[l].decision,d=yr(pd({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),f=>yr(f,h=>h[0]));if(wd(d,!1)&&!a){const f=tg(d,(h,y,v)=>(Gc(y,C=>{C&&(h[C.tokenTypeIdx]=v,Gc(C.categoryMatches,b=>{h[b]=v}))}),h),{});return n?function(h){var y;const v=this.LA(1),C=f[v.tokenTypeIdx];if(h!==void 0&&C!==void 0){const b=(y=h[C])===null||y===void 0?void 0:y.GATE;if(b!==void 0&&b.call(this)===!1)return}return C}:function(){const h=this.LA(1);return f[h.tokenTypeIdx]}}else return n?function(f){const h=new tS,y=f===void 0?0:f.length;for(let C=0;Cyr(f,h=>h[0]));if(wd(d)&&d[0][0]&&!a){const f=d[0],h=j1(f);if(h.length===1&&V1(h[0].categoryMatches)){const v=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===v}}else{const y=tg(h,(v,C)=>(C!==void 0&&(v[C.tokenTypeIdx]=!0,Gc(C.categoryMatches,b=>{v[b]=!0})),v),{});return function(){const v=this.LA(1);return y[v.tokenTypeIdx]===!0}}}return function(){const f=wo.call(this,s,u,rg,o);return typeof f=="object"?!1:f===0}}};function wd(e,t=!0){const r=new Set;for(const n of e){const a=new Set;for(const s of n){if(s===void 0){if(t)break;return!1}const o=[s.tokenTypeIdx].concat(s.categoryMatches);for(const l of o)if(r.has(l)){if(!a.has(l))return!1}else r.add(l),a.add(l)}}return!0}i(wd,"isLL1Sequence");function rS(e){const t=e.decisionStates.length,r=Array(t);for(let n=0;nCn(a)).join(", "),r=e.production.idx===0?"":e.production.idx;let n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${oS(e.production)}${r}> inside <${e.topLevelRule.name}> Rule, +<${t}> 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}i(sS,"buildAmbiguityError");function oS(e){if(e instanceof Ze)return"SUBRULE";if(e instanceof Be)return"OPTION";if(e instanceof lt)return"OR";if(e instanceof mt)return"AT_LEAST_ONE";if(e instanceof gt)return"AT_LEAST_ONE_SEP";if(e instanceof ot)return"MANY_SEP";if(e instanceof we)return"MANY";if(e instanceof Te)return"CONSUME";throw Error("non exhaustive match")}i(oS,"getProductionDslName");function lS(e,t,r){const n=S1(t.configs.elements,s=>s.state.transitions),a=G1(n.filter(s=>s instanceof Xp).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:a,tokenPath:e}}i(lS,"buildAdaptivePredictError");function cS(e,t){return e.edges[t.tokenTypeIdx]}i(cS,"getExistingTargetState");function uS(e,t,r){const n=new bd,a=[];for(const o of e.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===Bs){a.push(o);continue}const l=o.state.transitions.length;for(let c=0;c0&&!mS(s))for(const o of a)s.add(o);return s}i(uS,"computeReachSet");function dS(e,t){if(e instanceof Xp&&Np(t,e.tokenType))return e.target}i(dS,"getReachableTarget");function fS(e,t){let r;for(const n of e.elements)if(t.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}i(fS,"getUniqueAlt");function nh(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}i(nh,"newDFAState");function Id(e,t,r,n){return n=ah(e,n),t.edges[r.tokenTypeIdx]=n,n}i(Id,"addDFAEdge");function ah(e,t){if(t===dl)return t;const r=t.configs.key,n=e.states[r];return n!==void 0?n:(t.configs.finalize(),e.states[r]=t,t)}i(ah,"addDFAState");function pS(e){const t=new bd,r=e.transitions.length;for(let n=0;n0){const a=[...e.stack],o={state:a.pop(),alt:e.alt,stack:a};$s(o,t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);const n=r.transitions.length;for(let a=0;a1)return!0;return!1}i(TS,"hasConflictingAltSet");function RS(e){for(const t of Array.from(e.values()))if(Object.keys(t).length===1)return!0;return!1}i(RS,"hasStateAssociatedWithOneAlt");_s();var $S=class{static{i(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new sh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const t=new Tc;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){const r=new fl(e.startOffset,e.image.length,ls(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const t=e.container;if(t){const r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){const t=[];for(const a of e){const s=new fl(a.startOffset,a.image.length,ls(a),a.tokenType,!0);s.root=this.rootNode,t.push(s)}let r=this.current,n=!1;if(r.content.length>0){r.content.push(...t);return}for(;r.container;){const a=r.container.content.indexOf(r);if(a>0){r.container.content.splice(a,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){const t=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=t;const r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},ih=class{static{i(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},fl=class extends ih{static{i(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,t,r,n,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},Tc=class extends ih{static{i(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new J1(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){const{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line=0;e--){const t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},J1=class AS extends Array{static{i(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,AS.prototype)}push(...t){return this.addParents(t),super.push(...t)}unshift(...t){return this.addParents(t),super.unshift(...t)}splice(t,r,...n){return this.addParents(n),super.splice(t,r,...n)}addParents(t){for(const r of t)r.container=this.parent}},sh=class extends Tc{static{i(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??""}},pl=Symbol("Datatype");function Io(e){return e.$type===pl}i(Io,"isDataTypeNode");var ng="​",ES=i(e=>e.endsWith(ng)?e:e+ng,"withRuleSuffix"),oh=class{static{i(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const t=this.lexer.definition,r=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Q1(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bS(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}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()}},_S=class extends oh{static{i(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new $S,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){const r=this.computeRuleType(e);let n;xa(e)&&(n=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(ES(e.name),this.startImplementation(r,n,t).bind(this));return this.allRules.set(e.name,a),Je(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const t=e.name,r=new Map;for(let n=0;n0&&(t=this.construct()),t===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,r){return n=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===pl?s.value="":t!==void 0&&(s.$infixName=t)}return r(n),a?this.construct():void 0}}extractHiddenTokens(e){const t=this.lexerResult.hidden;if(!t.length)return[];const r=e.startOffset;for(let n=0;nr)return t.splice(0,n);return t.splice(0,t.length)}consume(e,t,r){const n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){const a=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(n,r),{assignment:o,crossRef:l}=this.getAssignment(r),c=this.current;if(o){const u=Rr(r)?n.image:this.converter.convert(n.image,s);this.assign(o.operator,o.feature,u,s,l)}else if(Io(c)){let u=n.image;Rr(r)||(u=this.converter.convert(u,s).toString()),c.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,r,n,a){let s;!this.isRecording()&&!r&&(s=this.nodeBuilder.buildCompositeNode(n));let o;try{o=this.wrapper.wrapSubrule(e,t,a)}finally{this.isRecording()||(o===void 0&&!r&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,n,s))}}performSubruleAssignment(e,t,r){const{assignment:n,crossRef:a}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,a);else if(!n){const s=this.current;if(Io(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,t){if(!this.isRecording()){let r=this.current;if(t.feature&&t.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode);const a={$type:e};this.stack.push(a),this.assign(t.operator,t.feature,r,r.$cstNode)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Io(e)?this.converter.convert(e.value,e.$cstNode):(af(this.astReflection,e),e)}constructInfix(e,t){const r=e.parts;if(!Array.isArray(r)||r.length===0)return;const n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let a=0,s=-1;for(let v=0;vs?(s=b.precedence,a=v):b.precedence===s&&(b.rightAssoc||(a=v))}const o=n.slice(0,a),l=n.slice(a+1),c=r.slice(0,a+1),u=r.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:l},h=this.constructInfix(d,t),y=this.constructInfix(f,t);return{$type:e.$type,$cstNode:e.$cstNode,left:h,operator:n[a],right:y}}getAssignment(e){if(!this.assignmentMap.has(e)){const t=On(e,Tr);this.assignmentMap.set(e,{assignment:t,crossRef:t&&Dn(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,a){const s=this.current;let o;switch(a==="single"&&typeof r=="string"?o=this.linker.buildReference(s,t,n,r):a==="multi"&&typeof r=="string"?o=this.linker.buildMultiReference(s,t,n,r):o=r,e){case"=":{s[t]=o;break}case"?=":{s[t]=!0;break}case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(o)}}assignWithoutOverride(e,t){for(const[n,a]of Object.entries(t)){const s=e[n];s===void 0?e[n]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[n]=a)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},CS=class{static{i(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return wa.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return wa.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return wa.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return wa.buildEarlyExitMessage(e)}},lh=class extends CS{static{i(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){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 \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},SS=class extends oh{static{i(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.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,t){const r=this.wrapper.DEFINE_RULE(ES(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{const r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,a){this.before(n),this.wrapper.wrapSubrule(e,t,a),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},Z1={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new lh},bS=class extends FL{static{i(this,"ChevrotainWrapper")}constructor(e,t){const r=t&&"maxLookahead"in t;super(e,{...Z1,lookaheadStrategy:r?new xp({maxLookahead:t.maxLookahead}):new X1({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},Q1=class extends bS{static{i(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function Rc(e,t,r){return wS({parser:t,tokens:r,ruleNames:new Map},e),t}i(Rc,"createParser");function wS(e,t){const r=Dl(t,!1),n=oe(t.rules).filter(Je).filter(s=>r.has(s));for(const s of n){const o={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(s,Br(o,s.definition))}const a=oe(t.rules).filter(xa).filter(s=>r.has(s));for(const s of a)e.parser.rule(s,IS(e,s))}i(wS,"buildRules");function IS(e,t){const r=t.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(bt(r))throw new Error("Cannot use terminal rule in infix expression");const n=t.operators.precedences.flatMap(y=>y.operators),a={$type:"Group",elements:[]},s={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},o={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(s,o);const c={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...s,$container:o};o.elements.push(c,u);const f=n.map(y=>e.tokens[y.value]).map((y,v)=>({ALT:i(()=>e.parser.consume(v,y,c),"ALT")}));let h;return y=>{h??(h=$c(e,r)),e.parser.subrule(0,h,!1,s,y),e.parser.many(0,{DEF:i(()=>{e.parser.alternatives(0,f),e.parser.subrule(1,h,!1,u,y)},"DEF")})}}i(IS,"buildInfixRule");function Br(e,t,r=!1){let n;if(Rr(t))n=MS(e,t);else if(Gr(t))n=NS(e,t);else if(Tr(t))n=Br(e,t.terminal);else if(Dn(t))n=ch(e,t);else if($r(t))n=kS(e,t);else if(Sl(t))n=OS(e,t);else if(Nl(t))n=LS(e,t);else if(Mn(t))n=DS(e,t);else if(ff(t)){const a=e.consume++;n=i(()=>e.parser.consume(a,Ur,t),"method")}else throw new Pl(t.$cstNode,`Unexpected element type: ${t.$type}`);return uh(e,r?void 0:As(t),n,t.cardinality)}i(Br,"buildElement");function NS(e,t){const r=bn(t);return()=>e.parser.action(r,t)}i(NS,"buildAction");function kS(e,t){const r=t.rule.ref;if(Ln(r)){const n=e.subrule++,a=Je(r)&&r.fragment,s=t.arguments.length>0?PS(r,t.arguments):()=>({});let o;return l=>{o??(o=$c(e,r)),e.parser.subrule(n,o,a,t,s(l))}}else if(bt(r)){const n=e.consume++,a=hl(e,r.name);return()=>e.parser.consume(n,a,t)}else if(r)qr();else throw new Pl(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}i(kS,"buildRuleCall");function PS(e,t){if(t.some(n=>n.calledByName)){const n=t.map(a=>({parameterName:a.parameter?.ref?.name,predicate:Lt(a.value)}));return a=>{const s={};for(const{parameterName:o,predicate:l}of n)o&&(s[o]=l(a));return s}}else{const n=t.map(a=>Lt(a.value));return a=>{const s={};for(let o=0;ot(n)||r(n)}else if(uf(e)){const t=Lt(e.left),r=Lt(e.right);return n=>t(n)&&r(n)}else if(mf(e)){const t=Lt(e.value);return r=>!t(r)}else if(gf(e)){const t=e.parameter.ref.name;return r=>r!==void 0&&r[t]===!0}else if(lf(e)){const t=!!e.true;return()=>t}qr()}i(Lt,"buildPredicate");function OS(e,t){if(t.elements.length===1)return Br(e,t.elements[0]);{const r=[];for(const a of t.elements){const s={ALT:Br(e,a,!0)},o=As(a);o&&(s.GATE=Lt(o)),r.push(s)}const n=e.or++;return a=>e.parser.alternatives(n,r.map(s=>{const o={ALT:i(()=>s.ALT(a),"ALT")},l=s.GATE;return l&&(o.GATE=()=>l(a)),o}))}}i(OS,"buildAlternatives");function LS(e,t){if(t.elements.length===1)return Br(e,t.elements[0]);const r=[];for(const l of t.elements){const c={ALT:Br(e,l,!0)},u=As(l);u&&(c.GATE=Lt(u)),r.push(c)}const n=e.or++,a=i((l,c)=>{const u=c.getRuleStack().join("-");return`uGroup_${l}_${u}`},"idFunc"),s=i(l=>e.parser.alternatives(n,r.map((c,u)=>{const d={ALT:i(()=>!0,"ALT")},f=e.parser;d.ALT=()=>{if(c.ALT(l),!f.isRecording()){const y=a(n,f);f.unorderedGroups.get(y)||f.unorderedGroups.set(y,[]);const v=f.unorderedGroups.get(y);typeof v?.[u]>"u"&&(v[u]=!0)}};const h=c.GATE;return h?d.GATE=()=>h(l):d.GATE=()=>!f.unorderedGroups.get(a(n,f))?.[u],d})),"alternatives"),o=uh(e,As(t),s,"*");return l=>{o(l),e.parser.isRecording()||e.parser.unorderedGroups.delete(a(n,e.parser))}}i(LS,"buildUnorderedGroup");function DS(e,t){const r=t.elements.map(n=>Br(e,n));return n=>r.forEach(a=>a(n))}i(DS,"buildGroup");function As(e){if(Mn(e))return e.guardCondition}i(As,"getGuardCondition");function ch(e,t,r=t.terminal){if(r)if($r(r)&&Je(r.rule.ref)){const n=r.rule.ref,a=e.subrule++;let s;return o=>{s??(s=$c(e,n)),e.parser.subrule(a,s,!1,t,o)}}else if($r(r)&&bt(r.rule.ref)){const n=e.consume++,a=hl(e,r.rule.ref.name);return()=>e.parser.consume(n,a,t)}else if(Rr(r)){const n=e.consume++,a=hl(e,r.value);return()=>e.parser.consume(n,a,t)}else throw new Error("Could not build cross reference parser");else{if(!t.type.ref)throw new Error("Could not resolve reference to type: "+t.type.$refText);const a=Gl(t.type.ref)?.terminal;if(!a)throw new Error("Could not find name assignment for type: "+bn(t.type.ref));return ch(e,t,a)}}i(ch,"buildCrossReference");function MS(e,t){const r=e.consume++,n=e.tokens[t.value];if(!n)throw new Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}i(MS,"buildKeyword");function uh(e,t,r,n){const a=t&&Lt(t);if(!n)if(a){const s=e.or++;return o=>e.parser.alternatives(s,[{ALT:i(()=>r(o),"ALT"),GATE:i(()=>a(o),"GATE")},{ALT:Ad(),GATE:i(()=>!a(o),"GATE")}])}else return r;if(n==="*"){const s=e.many++;return o=>e.parser.many(s,{DEF:i(()=>r(o),"DEF"),GATE:a?()=>a(o):void 0})}else if(n==="+"){const s=e.many++;if(a){const o=e.or++;return l=>e.parser.alternatives(o,[{ALT:i(()=>e.parser.atLeastOne(s,{DEF:i(()=>r(l),"DEF")}),"ALT"),GATE:i(()=>a(l),"GATE")},{ALT:Ad(),GATE:i(()=>!a(l),"GATE")}])}else return o=>e.parser.atLeastOne(s,{DEF:i(()=>r(o),"DEF")})}else if(n==="?"){const s=e.optional++;return o=>e.parser.optional(s,{DEF:i(()=>r(o),"DEF"),GATE:a?()=>a(o):void 0})}else qr()}i(uh,"wrap");function $c(e,t){const r=xS(e,t),n=e.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}i($c,"getRule");function xS(e,t){if(Ln(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,a=t.$type;for(;!Je(n);)(Mn(n)||Sl(n)||Nl(n))&&(a=n.elements.indexOf(r).toString()+":"+a),r=n,n=n.$container;return a=n.name+":"+a,e.ruleNames.set(t,a),a}}i(xS,"getRuleName");function hl(e,t){const r=e.tokens[t];if(!r)throw new Error(`Token "${t}" not found."`);return r}i(hl,"getToken");function dh(e){const t=e.Grammar,r=e.parser.Lexer,n=new SS(e);return Rc(t,n,r.definition),n.finalize(),n}i(dh,"createCompletionParser");function fh(e){const t=ph(e);return t.finalize(),t}i(fh,"createLangiumParser");function ph(e){const t=e.Grammar,r=e.parser.Lexer,n=new _S(e);return Rc(t,n,r.definition)}i(ph,"prepareLangiumParser");var Ac=class{static{i(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){const r=oe(Dl(e,!1)),n=this.buildTerminalTokens(r),a=this.buildKeywordTokens(r,n,t);return a.push(...n),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(bt).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){const t=Ns(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return typeof r=="function"&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=Ll(t)?Xe.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const t=new RegExp(e,e.flags+"y");return(r,n)=>(t.lastIndex=n,t.exec(r))}buildKeywordTokens(e,t,r){return e.filter(Ln).flatMap(n=>wr(n).filter(Rr)).distinct(n=>n.value).toArray().sort((n,a)=>a.value.length-n.value.length).map(n=>this.buildKeywordToken(n,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){const n=this.buildKeywordPattern(e,r),a={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return typeof n=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,t){return t?new RegExp(Va(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((r,n)=>{const a=n?.PATTERN;return a?.source&&Ff("^"+a.source+"$",e.value)&&r.push(n),r},[])}},hh=class{static{i(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(Dn(r)&&(r=Bf(r)),$r(r)){const n=r.rule.ref;if(!n)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return Yt.convertInt(t);case"STRING":return Yt.convertString(t);case"ID":return Yt.convertID(t)}switch(Zf(e)?.toLowerCase()){case"number":return Yt.convertNumber(t);case"boolean":return Yt.convertBoolean(t);case"bigint":return Yt.convertBigint(t);case"date":return Yt.convertDate(t);default:return t}}},Yt;(function(e){function t(u){let d="";for(let f=1;f{typeof setImmediate>"u"?setTimeout(e,0):setImmediate(e)})}i(Ec,"delayNextTick");var No=0,FS=10;function _c(){return No=performance.now(),new pe.CancellationTokenSource}i(_c,"startCancelableOperation");function mh(e){FS=e}i(mh,"setInterruptionPeriod");var Zt=Symbol("OperationCancelled");function Jn(e){return e===Zt}i(Jn,"isOperationCancelled");async function Ge(e){if(e===pe.CancellationToken.None)return;const t=performance.now();if(t-No>=FS&&(No=t,await Ec(),No=performance.now()),e.isCancellationRequested)throw Zt}i(Ge,"interruptAndCheck");var Sr=class{static{i(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>(e(r),this),this.reject=r=>(t(r),this)})}},ag=class Nd{static{i(this,"FullTextDocument")}constructor(t,r,n,a){this._uri=t,this._languageId=r,this._version=n,this._content=a,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){const r=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(r,n)}return this._content}update(t,r){for(const n of t)if(Nd.isIncremental(n)){const a=yh(n.range),s=this.offsetAt(a.start),o=this.offsetAt(a.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(o,this._content.length);const l=Math.max(a.start.line,0),c=Math.max(a.end.line,0);let u=this._lineOffsets;const d=kd(n.text,!1,s);if(c-l===d.length)for(let h=0,y=d.length;ht?a=o:n=o+1}const s=n-1;return t=this.ensureBeforeEOL(t,r[s]),{line:s,character:t-r[s]}}offsetAt(t){const r=this.getLineOffsets();if(t.line>=r.length)return this._content.length;if(t.line<0)return 0;const n=r[t.line];if(t.character<=0)return n;const a=t.line+1r&&gh(this._content.charCodeAt(t-1));)t--;return t}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){const r=t;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(t){const r=t;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},ml;(function(e){function t(a,s,o,l){return new ag(a,s,o,l)}i(t,"create"),e.create=t;function r(a,s,o){if(a instanceof ag)return a.update(s,o),a;throw new Error("TextDocument.update: document must be created by TextDocument.create")}i(r,"update"),e.update=r;function n(a,s){const o=a.getText(),l=gl(s.map(GS),(d,f)=>{const h=d.range.start.line-f.range.start.line;return h===0?d.range.start.character-f.range.start.character:h});let c=0;const u=[];for(const d of l){const f=a.offsetAt(d.range.start);if(fc&&u.push(o.substring(c,f)),d.newText.length&&u.push(d.newText),c=a.offsetAt(d.range.end)}return u.push(o.substr(c)),u.join("")}i(n,"applyEdits"),e.applyEdits=n})(ml||(ml={}));function gl(e,t){if(e.length<=1)return e;const r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);gl(n,t),gl(a,t);let s=0,o=0,l=0;for(;sr.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}i(yh,"getWellformedRange");function GS(e){const t=yh(e.range);return t!==e.range?{newText:e.newText,range:t}:e}i(GS,"getWellformedEdit");var jS;(()=>{var e={975:P=>{function _(T){if(typeof T!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(T))}i(_,"e");function g(T,R){for(var S,O="",M=0,D=-1,z=0,B=0;B<=T.length;++B){if(B2){var Z=O.lastIndexOf("/");if(Z!==O.length-1){Z===-1?(O="",M=0):M=(O=O.slice(0,Z)).length-1-O.lastIndexOf("/"),D=B,z=0;continue}}else if(O.length===2||O.length===1){O="",M=0,D=B,z=0;continue}}R&&(O.length>0?O+="/..":O="..",M=2)}else O.length>0?O+="/"+T.slice(D+1,B):O=T.slice(D+1,B),M=B-D-1;D=B,z=0}else S===46&&z!==-1?++z:z=-1}return O}i(g,"r");var E={resolve:i(function(){for(var T,R="",S=!1,O=arguments.length-1;O>=-1&&!S;O--){var M;O>=0?M=arguments[O]:(T===void 0&&(T=process.cwd()),M=T),_(M),M.length!==0&&(R=M+"/"+R,S=M.charCodeAt(0)===47)}return R=g(R,!S),S?R.length>0?"/"+R:"/":R.length>0?R:"."},"resolve"),normalize:i(function(T){if(_(T),T.length===0)return".";var R=T.charCodeAt(0)===47,S=T.charCodeAt(T.length-1)===47;return(T=g(T,!R)).length!==0||R||(T="."),T.length>0&&S&&(T+="/"),R?"/"+T:T},"normalize"),isAbsolute:i(function(T){return _(T),T.length>0&&T.charCodeAt(0)===47},"isAbsolute"),join:i(function(){if(arguments.length===0)return".";for(var T,R=0;R0&&(T===void 0?T=S:T+="/"+S)}return T===void 0?".":E.normalize(T)},"join"),relative:i(function(T,R){if(_(T),_(R),T===R||(T=E.resolve(T))===(R=E.resolve(R)))return"";for(var S=1;SB){if(R.charCodeAt(D+J)===47)return R.slice(D+J+1);if(J===0)return R.slice(D+J)}else M>B&&(T.charCodeAt(S+J)===47?Z=J:J===0&&(Z=0));break}var te=T.charCodeAt(S+J);if(te!==R.charCodeAt(D+J))break;te===47&&(Z=J)}var de="";for(J=S+Z+1;J<=O;++J)J!==O&&T.charCodeAt(J)!==47||(de.length===0?de+="..":de+="/..");return de.length>0?de+R.slice(D+Z):(D+=Z,R.charCodeAt(D)===47&&++D,R.slice(D))},"relative"),_makeLong:i(function(T){return T},"_makeLong"),dirname:i(function(T){if(_(T),T.length===0)return".";for(var R=T.charCodeAt(0),S=R===47,O=-1,M=!0,D=T.length-1;D>=1;--D)if((R=T.charCodeAt(D))===47){if(!M){O=D;break}}else M=!1;return O===-1?S?"/":".":S&&O===1?"//":T.slice(0,O)},"dirname"),basename:i(function(T,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');_(T);var S,O=0,M=-1,D=!0;if(R!==void 0&&R.length>0&&R.length<=T.length){if(R.length===T.length&&R===T)return"";var z=R.length-1,B=-1;for(S=T.length-1;S>=0;--S){var Z=T.charCodeAt(S);if(Z===47){if(!D){O=S+1;break}}else B===-1&&(D=!1,B=S+1),z>=0&&(Z===R.charCodeAt(z)?--z==-1&&(M=S):(z=-1,M=B))}return O===M?M=B:M===-1&&(M=T.length),T.slice(O,M)}for(S=T.length-1;S>=0;--S)if(T.charCodeAt(S)===47){if(!D){O=S+1;break}}else M===-1&&(D=!1,M=S+1);return M===-1?"":T.slice(O,M)},"basename"),extname:i(function(T){_(T);for(var R=-1,S=0,O=-1,M=!0,D=0,z=T.length-1;z>=0;--z){var B=T.charCodeAt(z);if(B!==47)O===-1&&(M=!1,O=z+1),B===46?R===-1?R=z:D!==1&&(D=1):R!==-1&&(D=-1);else if(!M){S=z+1;break}}return R===-1||O===-1||D===0||D===1&&R===O-1&&R===S+1?"":T.slice(R,O)},"extname"),format:i(function(T){if(T===null||typeof T!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof T);return(function(R,S){var O=S.dir||S.root,M=S.base||(S.name||"")+(S.ext||"");return O?O===S.root?O+M:O+"/"+M:M})(0,T)},"format"),parse:i(function(T){_(T);var R={root:"",dir:"",base:"",ext:"",name:""};if(T.length===0)return R;var S,O=T.charCodeAt(0),M=O===47;M?(R.root="/",S=1):S=0;for(var D=-1,z=0,B=-1,Z=!0,J=T.length-1,te=0;J>=S;--J)if((O=T.charCodeAt(J))!==47)B===-1&&(Z=!1,B=J+1),O===46?D===-1?D=J:te!==1&&(te=1):D!==-1&&(te=-1);else if(!Z){z=J+1;break}return D===-1||B===-1||te===0||te===1&&D===B-1&&D===z+1?B!==-1&&(R.base=R.name=z===0&&M?T.slice(1,B):T.slice(z,B)):(z===0&&M?(R.name=T.slice(1,D),R.base=T.slice(1,B)):(R.name=T.slice(z,D),R.base=T.slice(z,B)),R.ext=T.slice(D,B)),z>0?R.dir=T.slice(0,z-1):M&&(R.dir="/"),R},"parse"),sep:"/",delimiter:":",win32:null,posix:null};E.posix=E,P.exports=E}},t={};function r(P){var _=t[P];if(_!==void 0)return _.exports;var g=t[P]={exports:{}};return e[P](g,g.exports,r),g.exports}i(r,"r"),r.d=(P,_)=>{for(var g in _)r.o(_,g)&&!r.o(P,g)&&Object.defineProperty(P,g,{enumerable:!0,get:_[g]})},r.o=(P,_)=>Object.prototype.hasOwnProperty.call(P,_),r.r=P=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(P,"__esModule",{value:!0})};var n={};let a;r.r(n),r.d(n,{URI:i(()=>h,"URI"),Utils:i(()=>Ne,"Utils")}),typeof process=="object"?a=process.platform==="win32":typeof navigator=="object"&&(a=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,o=/^\//,l=/^\/\//;function c(P,_){if(!P.scheme&&_)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${P.authority}", path: "${P.path}", query: "${P.query}", fragment: "${P.fragment}"}`);if(P.scheme&&!s.test(P.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(P.path){if(P.authority){if(!o.test(P.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(P.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}i(c,"a");const u="",d="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static{i(this,"l")}static isUri(_){return _ instanceof h||!!_&&typeof _.authority=="string"&&typeof _.fragment=="string"&&typeof _.path=="string"&&typeof _.query=="string"&&typeof _.scheme=="string"&&typeof _.fsPath=="string"&&typeof _.with=="function"&&typeof _.toString=="function"}scheme;authority;path;query;fragment;constructor(_,g,E,T,R,S=!1){typeof _=="object"?(this.scheme=_.scheme||u,this.authority=_.authority||u,this.path=_.path||u,this.query=_.query||u,this.fragment=_.fragment||u):(this.scheme=(function(O,M){return O||M?O:"file"})(_,S),this.authority=g||u,this.path=(function(O,M){switch(O){case"https":case"http":case"file":M?M[0]!==d&&(M=d+M):M=d}return M})(this.scheme,E||u),this.query=T||u,this.fragment=R||u,c(this,S))}get fsPath(){return I(this,!1)}with(_){if(!_)return this;let{scheme:g,authority:E,path:T,query:R,fragment:S}=_;return g===void 0?g=this.scheme:g===null&&(g=u),E===void 0?E=this.authority:E===null&&(E=u),T===void 0?T=this.path:T===null&&(T=u),R===void 0?R=this.query:R===null&&(R=u),S===void 0?S=this.fragment:S===null&&(S=u),g===this.scheme&&E===this.authority&&T===this.path&&R===this.query&&S===this.fragment?this:new v(g,E,T,R,S)}static parse(_,g=!1){const E=f.exec(_);return E?new v(E[2]||u,H(E[4]||u),H(E[5]||u),H(E[7]||u),H(E[9]||u),g):new v(u,u,u,u,u)}static file(_){let g=u;if(a&&(_=_.replace(/\\/g,d)),_[0]===d&&_[1]===d){const E=_.indexOf(d,2);E===-1?(g=_.substring(2),_=d):(g=_.substring(2,E),_=_.substring(E)||d)}return new v("file",g,_,u,u)}static from(_){const g=new v(_.scheme,_.authority,_.path,_.query,_.fragment);return c(g,!0),g}toString(_=!1){return A(this,_)}toJSON(){return this}static revive(_){if(_){if(_ instanceof h)return _;{const g=new v(_);return g._formatted=_.external,g._fsPath=_._sep===y?_.fsPath:null,g}}return _}}const y=a?1:void 0;class v extends h{static{i(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=I(this,!1)),this._fsPath}toString(_=!1){return _?A(this,!0):(this._formatted||(this._formatted=A(this,!1)),this._formatted)}toJSON(){const _={$mid:1};return this._fsPath&&(_.fsPath=this._fsPath,_._sep=y),this._formatted&&(_.external=this._formatted),this.path&&(_.path=this.path),this.scheme&&(_.scheme=this.scheme),this.authority&&(_.authority=this.authority),this.query&&(_.query=this.query),this.fragment&&(_.fragment=this.fragment),_}}const C={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 b(P,_,g){let E,T=-1;for(let R=0;R=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||_&&S===47||g&&S===91||g&&S===93||g&&S===58)T!==-1&&(E+=encodeURIComponent(P.substring(T,R)),T=-1),E!==void 0&&(E+=P.charAt(R));else{E===void 0&&(E=P.substr(0,R));const O=C[S];O!==void 0?(T!==-1&&(E+=encodeURIComponent(P.substring(T,R)),T=-1),E+=O):T===-1&&(T=R)}}return T!==-1&&(E+=encodeURIComponent(P.substring(T))),E!==void 0?E:P}i(b,"m");function w(P){let _;for(let g=0;g1&&P.scheme==="file"?`//${P.authority}${P.path}`:P.path.charCodeAt(0)===47&&(P.path.charCodeAt(1)>=65&&P.path.charCodeAt(1)<=90||P.path.charCodeAt(1)>=97&&P.path.charCodeAt(1)<=122)&&P.path.charCodeAt(2)===58?_?P.path.substr(1):P.path[1].toLowerCase()+P.path.substr(2):P.path,a&&(g=g.replace(/\//g,"\\")),g}i(I,"v");function A(P,_){const g=_?w:b;let E="",{scheme:T,authority:R,path:S,query:O,fragment:M}=P;if(T&&(E+=T,E+=":"),(R||T==="file")&&(E+=d,E+=d),R){let D=R.indexOf("@");if(D!==-1){const z=R.substr(0,D);R=R.substr(D+1),D=z.lastIndexOf(":"),D===-1?E+=g(z,!1,!1):(E+=g(z.substr(0,D),!1,!1),E+=":",E+=g(z.substr(D+1),!1,!0)),E+="@"}R=R.toLowerCase(),D=R.lastIndexOf(":"),D===-1?E+=g(R,!1,!0):(E+=g(R.substr(0,D),!1,!0),E+=R.substr(D))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){const D=S.charCodeAt(1);D>=65&&D<=90&&(S=`/${String.fromCharCode(D+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){const D=S.charCodeAt(0);D>=65&&D<=90&&(S=`${String.fromCharCode(D+32)}:${S.substr(2)}`)}E+=g(S,!0,!1)}return O&&(E+="?",E+=g(O,!1,!1)),M&&(E+="#",E+=_?M:b(M,!1,!1)),E}i(A,"b");function k(P){try{return decodeURIComponent(P)}catch{return P.length>3?P.substr(0,3)+k(P.substr(3)):P}}i(k,"C");const G=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function H(P){return P.match(G)?P.replace(G,(_=>k(_))):P}i(H,"w");var X=r(975);const le=X.posix||X,ce="/";var Ne;(function(P){P.joinPath=function(_,...g){return _.with({path:le.join(_.path,...g)})},P.resolvePath=function(_,...g){let E=_.path,T=!1;E[0]!==ce&&(E=ce+E,T=!0);let R=le.resolve(E,...g);return T&&R[0]===ce&&!_.authority&&(R=R.substring(1)),_.with({path:R})},P.dirname=function(_){if(_.path.length===0||_.path===ce)return _;let g=le.dirname(_.path);return g.length===1&&g.charCodeAt(0)===46&&(g=""),_.with({path:g})},P.basename=function(_){return le.basename(_.path)},P.extname=function(_){return le.extname(_.path)}})(Ne||(Ne={})),jS=n})();var{URI:dt,Utils:Si}=jS,Ye;(function(e){e.basename=Si.basename,e.dirname=Si.dirname,e.extname=Si.extname,e.joinPath=Si.joinPath,e.resolvePath=Si.resolvePath;const t=typeof process=="object"&&process?.platform==="win32";function r(o,l){return o?.toString()===l?.toString()}i(r,"equals"),e.equals=r;function n(o,l){const c=typeof o=="string"?dt.parse(o).path:o.path,u=typeof l=="string"?dt.parse(l).path:l.path,d=c.split("/").filter(C=>C.length>0),f=u.split("/").filter(C=>C.length>0);if(t){const C=/^[A-Z]:$/;if(d[0]&&C.test(d[0])&&(d[0]=d[0].toLowerCase()),f[0]&&C.test(f[0])&&(f[0]=f[0].toLowerCase()),d[0]!==f[0])return u.substring(1)}let h=0;for(;h({name:n.name,uri:Ye.joinPath(dt.parse(t),n.name).toString(),element:n.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const t=this.getNode(Ye.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){const r=e.split("/");e.charAt(e.length-1)==="/"&&r.pop();let n=this.root;for(const a of r){let s=n.children.get(a);if(!s)if(t)s={name:a,children:new Map,parent:n},n.children.set(a,s);else return;n=s}return n}collectValues(e){const t=[];e.element&&t.push(e.element);for(const r of e.children.values())t.push(...this.collectValues(r));return t}},Y;(function(e){e[e.Changed=0]="Changed",e[e.Parsed=1]="Parsed",e[e.IndexedContent=2]="IndexedContent",e[e.ComputedScopes=3]="ComputedScopes",e[e.Linked=4]="Linked",e[e.IndexedReferences=5]="IndexedReferences",e[e.Validated=6]="Validated"})(Y||(Y={}));var US=class{static{i(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=pe.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=t??dt.parse(e.uri),pe.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return pe.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if(typeof t=="string"){const n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}else if("$model"in t){const n={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{const n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if(typeof t=="string"){const n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}else{const n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let a;if(r)a={parseResult:e,uri:t,state:Y.Parsed,references:[],textDocument:r};else{const s=this.createTextDocumentGetter(t,n);a={parseResult:e,uri:t,state:Y.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,t){const r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),a=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return r!==a&&(e.parseResult=await this.parseAsync(e.uri,a,t),e.parseResult.value.$document=e),e.state=Y.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){const r=this.serviceRegistry;let n;return()=>n??(n=ml.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}},zS=class{static{i(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new vh,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return oe(this.documentTrie.all())}addDocument(e){const t=e.uri.toString();if(this.documentTrie.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){const t=e.toString();return this.documentTrie.find(t)}getDocuments(e){const t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r),r)}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(n=>(this.addDocument(n),n));{const n=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(n),n}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,Y.Changed),r}deleteDocument(e){const t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=Y.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){const t=e.toString(),r=this.documentTrie.findAll(t);for(const n of r)n.state=Y.Changed;return this.documentTrie.delete(t),r}},sn=Symbol("RefResolving"),BS=class{static{i(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,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=pe.CancellationToken.None){if(this.profiler?.isActive("linking")){const r=this.profiler.createTask("linking",this.languageId);r.start();try{for(const n of Mt(e.parseResult.value))await Ge(t),Ma(n).forEach(a=>{const s=`${n.$type}:${a.property}`;r.startSubTask(s);try{this.doLink(a,e)}finally{r.stopSubTask(s)}})}finally{r.stop()}}else for(const r of Mt(e.parseResult.value))await Ge(t),Ma(r).forEach(n=>this.doLink(n,e))}doLink(e,t){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=sn;try{const n=this.getCandidate(e);if(cn(n))r._ref=n;else{r._nodeDescription=n;const a=this.loadAstNode(n);r._ref=a??this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);const a=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${a}`}}t.references.push(r)}else if("_items"in r&&r._items===void 0){r._items=sn;try{const n=this.getCandidates(e),a=[];if(cn(n))r._linkingError=n;else for(const s of n){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}r._items=a}catch(n){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${n}`},r._items=[]}t.references.push(r)}}unlink(e){for(const t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(n=>`${n.documentUri}#${n.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,t,r,n){const a=this,s={$refNode:r,$refText:n,_ref:void 0,get ref(){if(Le(this._ref))return this._ref;if(tf(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=sn;const o=Ia(e).$document,l=a.getLinkedNode({reference:s,container:e,property:t});if(l.error&&o&&o.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:t})}};return s}throwCyclicReferenceError(e,t,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{const t=this.getCandidate(e);if(cn(t))return{error:t};const r=this.loadAstNode(t);return r?{node:r,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(t){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,t);const r=t.message??String(t);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}loadAstNode(e){if(e.node)return e.node;const t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){const r=Ia(e.container).$document;r&&r.stateDn(t)&&t.isMulti)}findDeclarations(e){if(e){const t=Vf(e),r=e.astNode;if(t&&r){const n=r[t.feature];if(He(n)||Qt(n))return Lo(n);if(Array.isArray(n)){for(const a of n)if((He(a)||Qt(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return Lo(a)}}if(r){const n=this.nameProvider.getNameNode(r);if(n&&(n===e||Sf(e,n)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(const n of Ma(r))if(Qt(n.reference)&&n.reference.items.some(a=>a.ref===e))return n.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const t=this.findDeclarations(e),r=[];for(const n of t){const a=this.nameProvider.getNameNode(n)??n.$cstNode;a&&r.push(a)}return r}findReferences(e,t){const r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(a=>Ye.equals(a.sourceUri,t.documentUri))),r.push(...n),oe(r)}getSelfReferences(e){const t=this.getSelfNodes(e),r=[];for(const n of t){const a=this.nameProvider.getNameNode(n);if(a){const s=Dt(n),o=this.nodeLocator.getAstNodePath(n);r.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:Ga(a),local:!0})}}return r}},br=class{static{i(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(const[t,r]of e)this.add(t,r)}get size(){return os.sum(oe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const n=r.indexOf(t);if(n>=0)return r.length===1?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const t=this.map.get(e);return t?oe(t):Oa}has(e,t){if(t===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(t)>=0:!1}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(n=>e(n,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return oe(this.map.entries()).flatMap(([e,t])=>t.map(r=>[e,r]))}keys(){return oe(this.map.keys())}values(){return oe(this.map.values()).flat()}entriesGroupedByKey(){return oe(this.map.entries())}},yl=class{static{i(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const t=this.map.get(e);return t!==void 0?(this.map.delete(e),this.inverse.delete(t),!0):!1}},WS=class{static{i(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=pe.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=Ss,n=pe.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,t);for(const s of r(e))await Ge(n),this.addExportedSymbol(s,a,t);return a}addExportedSymbol(e,t,r){const n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=pe.CancellationToken.None){const r=e.parseResult.value,n=new br;for(const a of wr(r))await Ge(t),this.addLocalSymbol(a,e,n);return n}addLocalSymbol(e,t,r){const n=e.$container;if(n){const a=this.nameProvider.getName(e);a&&r.add(n,this.descriptions.createDescription(e,a,t))}}},Pd=class{static{i(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===t):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(n=>n.name.toLowerCase()===t):this.elements.filter(n=>n.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},eF=class{static{i(this,"MapScope")}constructor(e,t,r){this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(const n of e){const a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.set(a,n)}this.outerScope=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t),n=r?[r]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?oe(n).concat(this.outerScope.getElements(e)):oe(n)}getAllElements(){let e=oe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},VS=class{static{i(this,"MultiMapScope")}constructor(e,t,r){this.elements=new br,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(const n of e){const a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.add(a,n)}this.outerScope=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||r.length===0)&&this.outerScope?oe(r).concat(this.outerScope.getElements(e)):oe(r)}getAllElements(){let e=oe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},tF={getElement(){},getElements(){return Oa},getAllElements(){return Oa}},Cc=class{static{i(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")}},Rh=class extends Cc{static{i(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){const r=t();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Sc=class extends Cc{static{i(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(t=>t)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();const n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){const a=r();return n.set(t,a),a}else return}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){const t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){const t=this.converter(e);let r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},HS=class extends Sc{static{i(this,"DocumentCache")}constructor(e,t){super(r=>r.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,r=>{this.clear(r.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{for(const a of n)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{const a=r.concat(n);for(const s of a)this.clear(s)}))}},$h=class extends Rh{static{i(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{n.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},YS=class{static{i(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 $h(e.shared)}getScope(e){const t=[],r=this.reflection.getReferenceType(e),n=Dt(e.container).localSymbols;if(n){let s=e.container;do n.has(s)&&t.push(n.getStream(s).filter(o=>this.reflection.isSubtype(o.type,r))),s=s.$container;while(s)}let a=this.getGlobalScope(r,e);for(let s=t.length-1;s>=0;s--)a=this.createScope(t[s],a);return a}createScope(e,t,r){return new Pd(oe(e),t,r)}createScopeForNodes(e,t,r){const n=oe(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new Pd(n,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new VS(this.indexManager.allElements(e)))}};function Ah(e){return typeof e.$comment=="string"}i(Ah,"isAstNodeWithComment");function Od(e){return typeof e=="object"&&!!e&&("$ref"in e||"$error"in e)}i(Od,"isIntermediateReference");var XS=class{static{i(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,t){const r=t??{},n=t?.replacer,a=i((o,l)=>this.replacer(o,l,r),"defaultReplacer"),s=n?(o,l)=>n(o,l,a):a;try{return this.currentDocument=Dt(e),JSON.stringify(e,s,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){const r=t??{},n=JSON.parse(e);return this.linkNode(n,n,r),n}replacer(e,t,{refText:r,sourceText:n,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(He(t)){const l=t.ref,c=r?t.$refText:void 0;if(l){const u=Dt(l);let d="";this.currentDocument&&this.currentDocument!==u&&(o?d=o(u.uri,l):d=u.uri.toString());const f=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${f}`,$refText:c}}else return{$error:t.error?.message??"Could not resolve reference",$refText:c}}else if(Qt(t)){const l=r?t.$refText:void 0,c=[];for(const u of t.items){const d=u.ref,f=Dt(u.ref);let h="";this.currentDocument&&this.currentDocument!==f&&(o?h=o(f.uri,d):h=f.uri.toString());const y=this.astNodeLocator.getAstNodePath(d);c.push(`${h}#${y}`)}return{$refs:c,$refText:l}}else if(Le(t)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(l??(l={...t}),l.$sourceText=t.$cstNode?.text),s){l??(l={...t});const c=this.commentProvider.getComment(t);c&&(l.$comment=c.replace(/\r/g,""))}return l??t}else return t}addAstNodeRegionWithAssignmentsTo(e){const t=i(r=>({offset:r.offset,end:r.end,length:r.length,range:r.range}),"createDocumentSegment");if(e.$cstNode){const r=e.$textRegion=t(e.$cstNode),n=r.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=qf(e.$cstNode,a).map(t);s.length!==0&&(n[a]=s)}),e}}linkNode(e,t,r,n,a,s){for(const[l,c]of Object.entries(e))if(Array.isArray(c))for(let u=0;u{await this.handleException(()=>e.call(t,r,n,a),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(a){if(Jn(a))throw a;console.error(`${t}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);r("error",`${t}: ${s}`,{node:n})}}addEntry(e,t){if(e==="AstNode"){this.entries.add("AstNode",t);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=oe(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(n=>t.includes(n.category))),r.map(n=>n.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,a,s,o)=>{await this.handleException(()=>e.call(r,n,a,s,o),t,a,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},QS=Object.freeze({validateNode:!0,validateChildren:!0}),eb=class{static{i(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},r=pe.CancellationToken.None){const n=e.parseResult,a=[];if(await Ge(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,a,t),t.stopAfterLexingErrors&&a.some(s=>s.data?.code===Et.LexingError)||(this.processParsingErrors(n,a,t),t.stopAfterParsingErrors&&a.some(s=>s.data?.code===Et.ParsingError))||(this.processLinkingErrors(e,a,t),t.stopAfterLinkingErrors&&a.some(s=>s.data?.code===Et.LinkingError))))return a;try{a.push(...await this.validateAst(n.value,t,r))}catch(s){if(Jn(s))throw s;console.error("An error occurred during validation:",s)}return await Ge(r),a}processLexingErrors(e,t,r){const n=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of n){const s=a.severity??"error",o={severity:is(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:_h(s),source:this.getSource()};t.push(o)}}processParsingErrors(e,t,r){for(const n of e.parserErrors){let a;if(isNaN(n.token.startOffset)){if("previousToken"in n){const s=n.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=ls(n.token);if(a){const s={severity:is("error"),range:a,message:n.message,data:En(Et.ParsingError),source:this.getSource()};t.push(s)}}}processLinkingErrors(e,t,r){for(const n of e.references){const a=n.error;if(a){const s={node:a.info.container,range:n.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Et.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};t.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,t,r=pe.CancellationToken.None){const n=[],a=i((s,o,l)=>{n.push(this.toDiagnostic(s,o,l))},"acceptor");return await this.validateAstBefore(e,t,a,r),await this.validateAstNodes(e,t,a,r),await this.validateAstAfter(e,t,a,r),n}async validateAstBefore(e,t,r,n=pe.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await Ge(n),await s(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=pe.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=Mt(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,t);if(l.validateNode)try{const c=this.validationRegistry.getChecks(o.$type,t.categories);for(const u of c)await u(o,r,n)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=Mt(e).iterator();for(const s of a){await Ge(n);const o=this.validateSingleNodeOptions(s,t);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,t.categories);for(const c of l)await c(s,r,n)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,t){return QS}async validateAstAfter(e,t,r,n=pe.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await Ge(n),await s(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:Eh(r),severity:is(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function Eh(e){if(e.range)return e.range;let t;return typeof e.property=="string"?t=Ml(e.node.$cstNode,e.property,e.index):typeof e.keyword=="string"&&(t=Wf(e.node.$cstNode,e.keyword,e.index)),t??(t=e.node.$cstNode),t?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}i(Eh,"getDiagnosticRange");function is(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+e)}}i(is,"toDiagnosticSeverity");function _h(e){switch(e){case"error":return En(Et.LexingError);case"warning":return En(Et.LexingWarning);case"info":return En(Et.LexingInfo);case"hint":return En(Et.LexingHint);default:throw new Error("Invalid diagnostic severity: "+e)}}i(_h,"toDiagnosticData");var Et;(function(e){e.LexingError="lexing-error",e.LexingWarning="lexing-warning",e.LexingInfo="lexing-info",e.LexingHint="lexing-hint",e.ParsingError="parsing-error",e.LinkingError="linking-error"})(Et||(Et={}));var tb=class{static{i(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){const n=r??Dt(e);t??(t=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${a} has no name.`);let s;const o=i(()=>s??(s=Ga(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return o()},selectionSegment:Ga(e.$cstNode),type:e.$type,documentUri:n.uri,path:a}}},rb=class{static{i(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=pe.CancellationToken.None){const r=[],n=e.parseResult.value;for(const a of Mt(n))await Ge(t),Ma(a).forEach(s=>{s.reference.error||r.push(...this.createInfoDescriptions(s))});return r}createInfoDescriptions(e){const t=e.reference;if(t.error||!t.$refNode)return[];let r=[];He(t)&&t.$nodeDescription?r=[t.$nodeDescription]:Qt(t)&&(r=t.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const n=Dt(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=Ga(t.$refNode);for(const l of r)s.push({sourceUri:n,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:Ye.equals(l.documentUri,n)});return s}},nb=class{static{i(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return t!==void 0?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((n,a)=>{if(!n||a.length===0)return n;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return n[o]?.[l]}return n[a]},e)}},bc={};$l(bc,Jd(qa()));var ab=class{static{i(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new Sr,this.onConfigurationSectionUpdateEmitter=new bc.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const t=this.serviceRegistry.all;e.register({section:t.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const t=this.serviceRegistry.all.map(n=>({section:this.toSectionName(n.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((n,a)=>{this.updateSectionConfiguration(n.section,r[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([t,r])=>{this.updateSectionConfiguration(t,r),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:r})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},Js=Jd(Dw()),Sn;(function(e){function t(r){return{dispose:i(async()=>await r(),"dispose")}}i(t,"create"),e.create=t})(Sn||(Sn={}));var ib=class{static{i(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new br,this.documentPhaseListeners=new br,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Y.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=pe.CancellationToken.None){for(const n of e){const a=n.uri.toString();if(n.state===Y.Validated){if(typeof t.validation=="boolean"&&t.validation)this.resetToState(n,Y.IndexedReferences);else if(typeof t.validation=="object"){const s=this.findMissingValidationCategories(n,t);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),n.state=Y.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=Y.Changed,await this.emitUpdate(e.map(n=>n.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=pe.CancellationToken.None){this.currentState=Y.Changed;const n=[];for(const l of t){const c=this.langiumDocuments.deleteDocuments(l);for(const u of c)n.push(u.uri),this.cleanUpDeleted(u)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let c=this.langiumDocuments.getDocument(l);c===void 0&&(c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),c.state=Y.Changed,this.langiumDocuments.addDocument(c)),this.resetToState(c,Y.Changed)}const s=oe(a).concat(n).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,Y.ComputedScopes)),await this.emitUpdate(a,n),await Ge(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,t){const r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set,s=t===void 0||t.validation===!0?n:typeof t.validation=="object"?t.validation.categories??n:[];return oe(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const r=await this.fileSystemProvider.stat(e);if(r.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(r))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t=0&&!this.hasTextDocument(e[r]);)r--;tr.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),Sn.create(()=>{const t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case Y.Changed:case Y.Parsed:this.indexManager.removeContent(e.uri);case Y.IndexedContent:e.localSymbols=void 0;case Y.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Y.Linked:this.indexManager.removeReferences(e.uri);case Y.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Y.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Y.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,Y.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,Y.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,Y.ComputedScopes,r,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,r)});const n=e.filter(s=>this.shouldLink(s));await this.runCancelable(n,Y.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(n,Y.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,Y.Validated,r,async s=>{await this.validate(s,r),this.markAsCompleted(s)})}markAsCompleted(e){const t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(const r of e){const n=r.uri.toString(),a=this.buildState.get(n);(!a||a.completed)&&this.buildState.set(n,{completed:!1,options:t,result:a?.result})}}async runCancelable(e,t,r,n){for(const s of e)s.states.state===t);await this.notifyBuildPhase(a,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),Sn.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),Sn.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return t&&"path"in t?n=t:r=t,r??(r=pe.CancellationToken.None),n?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){const n=this.langiumDocuments.getDocument(t);if(n){if(n.state>=e)return Promise.resolve(t);if(r.isCancellationRequested)return Promise.reject(Zt);if(this.currentState>=e&&e>n.state)return Promise.reject(new Js.ResponseError(Js.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${Y[n.state]}, requiring ${Y[e]}, but workspace state is already ${Y[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Js.ResponseError(Js.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,c=>{Ye.equals(c.uri,t)&&(o.dispose(),l.dispose(),a(c.uri))}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(Zt)})})}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(Zt):new Promise((r,n)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),r()}),s=t.onCancellationRequested(()=>{a.dispose(),s.dispose(),n(Zt)})})}async notifyDocumentPhase(e,t,r){const a=this.documentPhaseListeners.get(t).slice();for(const s of a)try{await Ge(r),await s(e,r)}catch(o){if(!Jn(o))throw o}}async notifyBuildPhase(e,t,r){if(e.length===0)return;const a=this.buildPhaseListeners.get(t).slice();for(const s of a)await Ge(r),await s(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){const r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),a=typeof n.validation=="object"?{...n.validation}:{};a.categories=this.findMissingValidationCategories(e,n);const s=await r.validateDocument(e,a,t);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=oe(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},sb=class{static{i(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Sc,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const r=Dt(e).uri,n=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{Ye.equals(s.targetUri,r)&&s.targetPath===t&&n.push(s)})}),oe(n)}allElements(e,t){let r=oe(this.symbolIndex.keys());return t&&(r=r.filter(n=>!t||t.has(n))),r.map(n=>this.getFileDescriptions(n,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){const t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=pe.CancellationToken.None){const n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,t),a=e.uri.toString();this.symbolIndex.set(a,n),this.symbolByTypeIndex.clear(a)}async updateReferences(e,t=pe.CancellationToken.None){const n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(n=>!n.local&&t.has(n.targetUri.toString())):!1}},ob=class{static{i(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new Sr,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(t=>this.initializeWorkspace(this.folders??[],t))}async initializeWorkspace(e,t=pe.CancellationToken.None){const r=await this.performStartup(e);await Ge(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){const t=[],r=i(s=>{t.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)},"collector");await this.loadAdditionalDocuments(e,r);const n=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,n)));const a=oe(n).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async r=>{const n=await this.langiumDocuments.getOrCreateDocument(r);t(n)}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return dt.parse(e.uri)}async traverseFolder(e,t){try{const r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async n=>{this.shouldIncludeEntry(n)&&(n.isDirectory?await this.traverseFolder(n.uri,t):n.isFile&&t.push(n.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){const t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){const t=Ye.basename(e.uri);return t.startsWith(".")?!1:e.isDirectory?t!=="node_modules"&&t!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}},lb=class{static{i(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,a){return fd.buildUnexpectedCharactersMessage(e,t,r,n,a)}buildUnableToPopLexerModeMessage(e){return fd.buildUnableToPopLexerModeMessage(e)}},Ch={mode:"full"},Sh=class{static{i(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);const r=Tl(t)?Object.values(t):t,n=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Xe(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=Ch){const r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(Tl(e))return e;const t=Ic(e)?Object.values(e.modes).flat():e,r={};return t.forEach(n=>r[n.name]=n),r}};function wc(e){return Array.isArray(e)&&(e.length===0||"name"in e[0])}i(wc,"isTokenTypeArray");function Ic(e){return e&&"modes"in e&&"defaultMode"in e}i(Ic,"isIMultiModeLexerDefinition");function Tl(e){return!wc(e)&&!Ic(e)}i(Tl,"isTokenTypeDictionary");_s();function bh(e,t,r){let n,a;typeof e=="string"?(a=t,n=r):(a=e.range.start,n=t),a||(a=ie.create(0,0));const s=Ih(e),o=Nc(n),l=cb({lines:s,position:a,options:o});return fb({index:0,tokens:l,position:a})}i(bh,"parseJSDoc");function wh(e,t){const r=Nc(t),n=Ih(e);if(n.length===0)return!1;const a=n[0],s=n[n.length-1],o=r.start,l=r.end;return!!o?.exec(a)&&!!l?.exec(s)}i(wh,"isJSDoc");function Ih(e){let t="";return typeof e=="string"?t=e:t=e.text,t.split(uy)}i(Ih,"getLines");var ig=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,rF=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function cb(e){const t=[];let r=e.position.line,n=e.position.character;for(let a=0;a=l.length){if(t.length>0){const d=ie.create(r,n);t.push({type:"break",content:"",range:ee.create(d,d)})}}else{ig.lastIndex=c;const d=ig.exec(l);if(d){const f=d[0],h=d[1],y=ie.create(r,n+c),v=ie.create(r,n+c+f.length);t.push({type:"tag",content:h,range:ee.create(y,v)}),c+=f.length,c=Rl(l,c)}if(c0&&t[t.length-1].type==="break"?t.slice(0,-1):t}i(cb,"tokenize");function ub(e,t,r,n){const a=[];if(e.length===0){const s=ie.create(r,n),o=ie.create(r,n+t.length);a.push({type:"text",content:t,range:ee.create(s,o)})}else{let s=0;for(const l of e){const c=l.index,u=t.substring(s,c);u.length>0&&a.push({type:"text",content:t.substring(s,c),range:ee.create(ie.create(r,s+n),ie.create(r,c+n))});let d=u.length+1;const f=l[1];if(a.push({type:"inline-tag",content:f,range:ee.create(ie.create(r,s+d+n),ie.create(r,s+d+f.length+n))}),d+=f.length,l.length===4){d+=l[2].length;const h=l[3];a.push({type:"text",content:h,range:ee.create(ie.create(r,s+d+n),ie.create(r,s+d+h.length+n))})}else a.push({type:"text",content:"",range:ee.create(ie.create(r,s+d+n),ie.create(r,s+d+n))});s=c+l[0].length}const o=t.substring(s);o.length>0&&a.push({type:"text",content:o,range:ee.create(ie.create(r,s+n),ie.create(r,s+n+o.length))})}return a}i(ub,"buildInlineTokens");var nF=/\S/,aF=/\s*$/;function Rl(e,t){const r=e.substring(t).match(nF);return r?t+r.index:e.length}i(Rl,"skipWhitespace");function db(e){const t=e.match(aF);if(t&&typeof t.index=="number")return t.index}i(db,"lastCharacter");function fb(e){const t=ie.create(e.position.line,e.position.character);if(e.tokens.length===0)return new sg([],ee.create(t,t));const r=[];for(;e.indext.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const t of this.elements)if(e.length===0)e=t.toString();else{const r=t.toString();e+=Dd(e)+r}return e.trim()}toMarkdown(e){let t="";for(const r of this.elements)if(t.length===0)t=r.toMarkdown(e);else{const n=r.toMarkdown(e);t+=Dd(t)+n}return t.trim()}},jc=class{static{i(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`;const t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e} +${t}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const t=this.content.toMarkdown(e);if(this.inline){const a=gb(this.name,t,e??{});if(typeof a=="string")return a}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return this.content.inlines.length===1?n=`${n} — ${t}`:this.content.inlines.length>1&&(n=`${n} +${t}`),this.inline?`{${n}}`:n}};function gb(e,t,r){if(e==="linkplain"||e==="linkcode"||e==="link"){const n=t.indexOf(" ");let a=t;if(n>0){const o=Rl(t,n);a=t.substring(o),t=t.substring(0,n)}return(e==="linkcode"||e==="link"&&r.link==="code")&&(a=`\`${a}\``),r.renderLink?.(t,a)??yb(t,a)}}i(gb,"renderInlineTag");function yb(e,t){try{return dt.parse(e,!0),`[${t}](${e})`}catch{return e}}i(yb,"renderLinkDefault");var Ld=class{static{i(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;tr.range.start.line&&(e+=` +`)}return e}toMarkdown(e){let t="";for(let r=0;rn.range.start.line&&(t+=` +`)}return t}},vb=class{static{i(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function Dd(e){return e.endsWith(` +`)?` +`:` + +`}i(Dd,"fillNewlines");var Tb=class{static{i(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const t=this.commentProvider.getComment(e);if(t&&wh(t))return bh(t).toMarkdown({renderLink:i((n,a)=>this.documentationLinkRenderer(e,n,a),"renderLink"),renderTag:i(n=>this.documentationTagRenderer(e,n),"renderTag")})}documentationLinkRenderer(e,t,r){const n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){const a=n.nameSegment.range.start.line+1,s=n.nameSegment.range.start.character+1,o=n.documentUri.with({fragment:`L${a},${s}`});return`[${r}](${o.toString()})`}else return}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){const n=Dt(e).localSymbols;if(!n)return;let a=e;do{const o=n.getStream(a).find(l=>l.name===t);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(n=>n.name===t)}},Rb=class{static{i(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Ah(e)?e.$comment:Nf(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},$b=class{static{i(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},iF=class{static{i(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){const t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){const r=await this.acquireParserWorker(t),n=new Sr;let a;const s=t.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(r)},this.terminationDelay)});return r.parse(e).then(o=>{const l=this.hydrator.hydrate(o);n.resolve(l)}).catch(o=>{n.reject(o)}).finally(()=>{s.dispose(),clearTimeout(a)}),n.promise}terminateWorker(e){e.terminate();const t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){this.initializeWorkers();for(const r of this.workerPool)if(r.ready)return r.lock(),r;const t=new Sr;return e.onCancellationRequested(()=>{const r=this.queue.indexOf(t);r>=0&&this.queue.splice(r,1),t.reject(Zt)}),this.queue.push(t),t.promise}},sF=class{static{i(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new bc.Emitter,this.deferred=new Sr,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(a=>{const s=a;this.deferred.resolve(s),this.unlock()}),r(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Zt),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 Sr,this.sendMessage(e),this.deferred.promise}},Ab=class{static{i(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new pe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const t=_c();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=pe.CancellationToken.None){const n=new Sr,a={action:t,deferred:n,cancellationToken:r};return e.push(a),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:t,deferred:r,cancellationToken:n})=>{try{const a=await Promise.resolve().then(()=>t(n));r.resolve(a)}catch(a){Jn(a)?r.resolve(void 0):r.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},Eb=class{static{i(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new yl,this.tokenTypeIdMap=new yl,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(t=>({...t,message:t.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const t=new Map,r=new Map;for(const n of Mt(e))t.set(n,{});if(e.$cstNode)for(const n of Fa(e.$cstNode))r.set(n,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(const[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){const s=[];r[n]=s;for(const o of a)Le(o)?s.push(this.dehydrateAstNode(o,t)):He(o)?s.push(this.dehydrateReference(o,t)):s.push(o)}else Le(a)?r[n]=this.dehydrateAstNode(a,t):He(a)?r[n]=this.dehydrateReference(a,t):a!==void 0&&(r[n]=a);return r}dehydrateReference(e,t){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){const r=t.cstNodes.get(e);return _l(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),vr(e)?r.content=e.content.map(n=>this.dehydrateCstNode(n,t)):Pn(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){const t=new Map,r=new Map;for(const a of Mt(e))t.set(a,{});let n;if(e.$cstNode)for(const a of Fa(e.$cstNode)){let s;"fullText"in a?(s=new sh(a.fullText),n=s):"content"in a?s=new Tc:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(r.set(a,s),s.root=n)}return{astNodes:t,cstNodes:r}}hydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode));for(const[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){const s=[];r[n]=s;for(const o of a)Le(o)?s.push(this.setParent(this.hydrateAstNode(o,t),r)):He(o)?s.push(this.hydrateReference(o,r,n,t)):s.push(o)}else Le(a)?r[n]=this.setParent(this.hydrateAstNode(a,t),r):He(a)?r[n]=this.hydrateReference(a,r,n,t):a!==void 0&&(r[n]=a);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){const n=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),vr(n))for(const a of e.content){const s=this.hydrateCstNode(a,t,r++);n.content.push(s)}return n}hydrateCstLeafNode(e){const t=this.getTokenType(e.tokenType),r=e.offset,n=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,c=e.hidden;return new fl(r,n,{start:{line:a,character:s},end:{line:o,character:l}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const t of Mt(this.grammar))Cl(t)&&this.grammarElementIdMap.set(t,e++)}};function yt(e){return{documentation:{CommentProvider:i(t=>new Rb(t),"CommentProvider"),DocumentationProvider:i(t=>new Tb(t),"DocumentationProvider")},parser:{AsyncParser:i(t=>new $b(t),"AsyncParser"),GrammarConfig:i(t=>ep(t),"GrammarConfig"),LangiumParser:i(t=>fh(t),"LangiumParser"),CompletionParser:i(t=>dh(t),"CompletionParser"),ValueConverter:i(()=>new hh,"ValueConverter"),TokenBuilder:i(()=>new Ac,"TokenBuilder"),Lexer:i(t=>new Sh(t),"Lexer"),ParserErrorMessageProvider:i(()=>new lh,"ParserErrorMessageProvider"),LexerErrorMessageProvider:i(()=>new lb,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:i(()=>new nb,"AstNodeLocator"),AstNodeDescriptionProvider:i(t=>new tb(t),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:i(t=>new rb(t),"ReferenceDescriptionProvider")},references:{Linker:i(t=>new BS(t),"Linker"),NameProvider:i(()=>new KS,"NameProvider"),ScopeProvider:i(t=>new YS(t),"ScopeProvider"),ScopeComputation:i(t=>new WS(t),"ScopeComputation"),References:i(t=>new qS(t),"References")},serializer:{Hydrator:i(t=>new Eb(t),"Hydrator"),JsonSerializer:i(t=>new XS(t),"JsonSerializer")},validation:{DocumentValidator:i(t=>new eb(t),"DocumentValidator"),ValidationRegistry:i(t=>new ZS(t),"ValidationRegistry")},shared:i(()=>e.shared,"shared")}}i(yt,"createDefaultCoreModule");function vt(e){return{ServiceRegistry:i(t=>new JS(t),"ServiceRegistry"),workspace:{LangiumDocuments:i(t=>new zS(t),"LangiumDocuments"),LangiumDocumentFactory:i(t=>new US(t),"LangiumDocumentFactory"),DocumentBuilder:i(t=>new ib(t),"DocumentBuilder"),IndexManager:i(t=>new sb(t),"IndexManager"),WorkspaceManager:i(t=>new ob(t),"WorkspaceManager"),FileSystemProvider:i(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:i(()=>new Ab,"WorkspaceLock"),ConfigurationProvider:i(t=>new ab(t),"ConfigurationProvider")},profilers:{}}}i(vt,"createDefaultSharedCoreModule");var Md;(function(e){e.merge=(t,r)=>Ka(Ka({},t),r)})(Md||(Md={}));function Ae(e,t,r,n,a,s,o,l,c){const u=[e,t,r,n,a,s,o,l,c].reduce(Ka,{});return Lh(u)}i(Ae,"inject");var _b=Symbol("isProxy");function Oh(e){if(e&&e[_b])for(const t of Object.values(e))Oh(t);return e}i(Oh,"eagerLoad");function Lh(e,t){const r=new Proxy({},{deleteProperty:i(()=>!1,"deleteProperty"),set:i(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:i((n,a)=>a===_b?!0:xd(n,a,e,t||r),"get"),getOwnPropertyDescriptor:i((n,a)=>(xd(n,a,e,t||r),Object.getOwnPropertyDescriptor(n,a)),"getOwnPropertyDescriptor"),has:i((n,a)=>a in e,"has"),ownKeys:i(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}i(Lh,"_inject");var og=Symbol();function xd(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===og)throw new Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}else if(t in r){const a=r[t];e[t]=og;try{e[t]=typeof a=="function"?a(n):Lh(a,n)}catch(s){throw e[t]=s instanceof Error?s:void 0,s}return e[t]}else return}i(xd,"_resolve");function Ka(e,t){if(t){for(const[r,n]of Object.entries(t))if(n!=null)if(typeof n=="object"){const a=e[r];typeof a=="object"&&a!==null?e[r]=Ka(a,n):e[r]=Ka({},n)}else e[r]=n}return e}i(Ka,"_merge");var Fd={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},_n;(function(e){e.REGULAR="indentation-sensitive",e.IGNORE_INDENTATION="ignore-indentation"})(_n||(_n={}));var Cb=class extends Ac{static{i(this,"IndentationAwareTokenBuilder")}constructor(e=Fd){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Fd,...e},this.indentTokenType=ka({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=ka({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){const r=super.buildTokens(e,t);if(!wc(r))throw new Error("Invalid tokens built by default builder");const{indentTokenName:n,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:o}=this.options;let l,c,u;const d=[];for(const f of r){for(const[h,y]of o)f.name===h?f.PUSH_MODE=_n.IGNORE_INDENTATION:f.name===y&&(f.POP_MODE=!0);f.name===a?l=f:f.name===n?c=f:f.name===s?u=f:d.push(f)}if(!l||!c||!u)throw new Error("Some indentation/whitespace tokens not found!");return o.length>0?{modes:{[_n.REGULAR]:[l,c,...d,u],[_n.IGNORE_INDENTATION]:[...d,u]},defaultMode:_n.REGULAR}:[l,c,u,...d]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return t===0||`\r +`.includes(e[t-1])}matchWhitespace(e,t,r,n){this.whitespaceRegExp.lastIndex=t;const a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,t,r,n){const a=this.getLineNumber(t,n);return js(e,r,n,n+r.length,a,a,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;const{currIndentLevel:a,prevIndentLevel:s,match:o}=this.matchWhitespace(e,t,r,n);return a<=s?null:(this.indentationStack.push(a),o)}dedentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;const{currIndentLevel:a,prevIndentLevel:s,match:o}=this.matchWhitespace(e,t,r,n);if(a>=s)return null;const l=this.indentationStack.lastIndexOf(a);if(l===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:o?.[0]?.length??0,line:this.getLineNumber(e,t),column:1}),null;const c=this.indentationStack.length-l-1,u=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let d=0;d1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},oF=class extends Sh{static{i(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof Cb)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=Ch){const r=super.tokenize(e),n=r.report;t?.mode==="full"&&r.tokens.push(...n.remainingDedents),n.remainingDedents=[];const{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,o=a.tokenTypeIdx,l=s.tokenTypeIdx,c=[],u=r.tokens.length-1;for(let d=0;d=0&&c.push(r.tokens[u]),r.tokens=c,r}},Dh={};Kr(Dh,{AstUtils:()=>nf,BiMap:()=>yl,Cancellation:()=>pe,ContextCache:()=>Sc,CstUtils:()=>ef,DONE_RESULT:()=>Ve,Deferred:()=>Sr,Disposable:()=>Sn,DisposableCache:()=>Cc,DocumentCache:()=>HS,EMPTY_STREAM:()=>Oa,ErrorWithLocation:()=>Pl,GrammarUtils:()=>Lf,MultiMap:()=>br,OperationCancelled:()=>Zt,Reduction:()=>os,RegExpUtils:()=>Mf,SimpleCache:()=>Rh,StreamImpl:()=>Jt,TreeStreamImpl:()=>La,URI:()=>dt,UriTrie:()=>vh,UriUtils:()=>Ye,WorkspaceCache:()=>$h,assertCondition:()=>Df,assertUnreachable:()=>qr,delayNextTick:()=>Ec,interruptAndCheck:()=>Ge,isOperationCancelled:()=>Jn,loadGrammarFromJson:()=>Tt,setInterruptionPeriod:()=>mh,startCancelableOperation:()=>_c,stream:()=>oe});$l(Dh,bc);var Sb=class{static{i(this,"EmptyFileSystemProvider")}stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},It={fileSystemProvider:i(()=>new Sb,"fileSystemProvider")},lF={Grammar:i(()=>{},"Grammar"),LanguageMetaData:i(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},cF={AstReflection:i(()=>new Cf,"AstReflection")};function bb(){const e=Ae(vt(It),cF),t=Ae(yt({shared:e}),lF);return e.ServiceRegistry.register(t),t}i(bb,"createMinimalGrammarServices");function Tt(e){const t=bb(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,dt.parse(`memory:/${r.name??"grammar"}.langium`)),r}i(Tt,"loadGrammarFromJson");$l(Dg,Dh);var uF=class{static{i(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new br}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(t=>this.activeCategories.add(t)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(t=>this.activeCategories.delete(t)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${t}'.`),new wb(r=>this.records.add(e,this.dumpRecord(e,r)),t)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at ${t.date.toISOString()}`);const r=[];for(const s of t.entries.keys()){const o=t.entries.get(s),l=o.reduce((c,u)=>c+u);r.push({name:`${t.identifier}.${s}`,count:o.length,duration:l})}const n=t.duration-r.map(s=>s.duration).reduce((s,o)=>s+o,0);r.push({name:t.identifier,count:1,duration:n}),r.sort((s,o)=>o.duration-s.duration);function a(s){return Math.round(100*s)/100}return i(a,"Round"),console.table(r.map(s=>({Element:s.name,Count:s.count,"Self %":a(100*s.duration/t.duration),"Time (ms)":a(s.duration)}))),t}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(t=>e.some(r=>r===t[0])).flatMap(t=>t[1])}},wb=class{static{i(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new br,this.addRecord=e,this.identifier=t}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(t=>t.id).join(", ")}.`);const e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){const t=this.stack.pop();if(!t)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw new Error(`Sub-Task "${t.id}" is not already stopped.`);const r=performance.now()-t.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=r);const n=r-t.content;this.entries.add(e,n)}},Gd;(e=>{e.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(Gd||(Gd={}));var jd;(e=>{e.Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/}})(jd||(jd={}));var Ud;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(Ud||(Ud={}));var zd;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(zd||(zd={}));var Bd;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Bd||(Bd={}));var Kd;(e=>{e.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Kd||(Kd={}));var qd;(e=>{e.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(qd||(qd={}));var Wd;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(Wd||(Wd={}));var Vd;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(Vd||(Vd={}));var Hd;(e=>{e.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Hd||(Hd={}));({...Gd.Terminals,...jd.Terminals,...Ud.Terminals,...zd.Terminals,...Bd.Terminals,...Kd.Terminals,...qd.Terminals,...Vd.Terminals,...Wd.Terminals,...Hd.Terminals});var Zs={$type:"Accelerator",name:"name",x:"x",y:"y"},Qs={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},bi={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},Uc={$type:"Annotations",x:"x",y:"y"},pr={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function dF(e){return Rt.isInstance(e,pr.$type)}i(dF,"isArchitecture");var eo={$type:"Axis",label:"label",name:"name"},Po={$type:"Branch",name:"name",order:"order"};function fF(e){return Rt.isInstance(e,Po.$type)}i(fF,"isBranch");var lg={$type:"Checkout",branch:"branch"},to={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},zc={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ga={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function pF(e){return Rt.isInstance(e,ga.$type)}i(pF,"isCommit");var ro={$type:"Common",accDescr:"accDescr",accTitle:"accTitle",title:"title"},Xr={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},no={$type:"Curve",entries:"entries",label:"label",name:"name"},ao={$type:"Deaccelerator",name:"name",x:"x",y:"y"},cg={$type:"Decorator",strategy:"strategy"},sa={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Wt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},oa={$type:"EmDataEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",name:"name"},Jr={$type:"EmFrame"},wi={$type:"EmGwt",givenStatements:"givenStatements",sourceFrame:"sourceFrame",thenStatements:"thenStatements",whenStatements:"whenStatements"},ug={$type:"EmGwtStatement",entityIdentifier:"entityIdentifier"},Bc={$type:"EmModelEntity",name:"name"};function hF(e){return e==="rmo"||e==="readmodel"||e==="ui"||e==="cmd"||e==="command"||e==="evt"||e==="event"||e==="pcr"||e==="processor"}i(hF,"isEmModelEntityType");var io={$type:"EmNoteEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",sourceFrame:"sourceFrame"},hr={$type:"EmResetFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};function mF(e){return Rt.isInstance(e,hr.$type)}i(mF,"isEmResetFrame");var Or={$type:"EmTimeFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"},Kc={$type:"Entry",axis:"axis",value:"value"},ur={$type:"EventModel",accDescr:"accDescr",accTitle:"accTitle",dataEntities:"dataEntities",frames:"frames",gwtEntities:"gwtEntities",modelEntities:"modelEntities",noteEntities:"noteEntities",title:"title"},dg={$type:"Evolution",stages:"stages"},so={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},qc={$type:"Evolve",component:"component",target:"target"},on={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function gF(e){return Rt.isInstance(e,on.$type)}i(gF,"isGitGraph");var Ii={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Ki={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function yF(e){return Rt.isInstance(e,Ki.$type)}i(yF,"isInfo");var Ni={$type:"Item",classSelector:"classSelector",name:"name"},Wc={$type:"Junction",id:"id",in:"in"},ki={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},oo={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Zr={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},ya={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function vF(e){return Rt.isInstance(e,ya.$type)}i(vF,"isMerge");var lo={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},Vc={$type:"Option",name:"name",value:"value"},va={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function TF(e){return Rt.isInstance(e,va.$type)}i(TF,"isPacket");var Ta={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function RF(e){return Rt.isInstance(e,Ta.$type)}i(RF,"isPacketBlock");var ln={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function $F(e){return Rt.isInstance(e,ln.$type)}i($F,"isPie");var Oo={$type:"PieSection",label:"label",value:"value"};function AF(e){return Rt.isInstance(e,Oo.$type)}i(AF,"isPieSection");var Hc={$type:"Pipeline",components:"components",parent:"parent"},co={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},Qr={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},Yc={$type:"Section",classSelector:"classSelector",name:"name"},la={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Xc={$type:"Size",height:"height",width:"width"},ca={$type:"Statement"},Ra={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function EF(e){return Rt.isInstance(e,Ra.$type)}i(EF,"isTreemap");var Jc={$type:"TreemapRow",indent:"indent",item:"item"},Zc={$type:"TreeNode",indent:"indent",name:"name"},Pi={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Ue={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function _F(e){return Rt.isInstance(e,Ue.$type)}i(_F,"isWardley");var Ib=class extends rf{constructor(){super(...arguments),this.types={Accelerator:{name:Zs.$type,properties:{name:{name:Zs.name},x:{name:Zs.x},y:{name:Zs.y}},superTypes:[]},Anchor:{name:Qs.$type,properties:{evolution:{name:Qs.evolution},name:{name:Qs.name},visibility:{name:Qs.visibility}},superTypes:[]},Annotation:{name:bi.$type,properties:{number:{name:bi.number},text:{name:bi.text},x:{name:bi.x},y:{name:bi.y}},superTypes:[]},Annotations:{name:Uc.$type,properties:{x:{name:Uc.x},y:{name:Uc.y}},superTypes:[]},Architecture:{name:pr.$type,properties:{accDescr:{name:pr.accDescr},accTitle:{name:pr.accTitle},edges:{name:pr.edges,defaultValue:[]},groups:{name:pr.groups,defaultValue:[]},junctions:{name:pr.junctions,defaultValue:[]},services:{name:pr.services,defaultValue:[]},title:{name:pr.title}},superTypes:[]},Axis:{name:eo.$type,properties:{label:{name:eo.label},name:{name:eo.name}},superTypes:[]},Branch:{name:Po.$type,properties:{name:{name:Po.name},order:{name:Po.order}},superTypes:[ca.$type]},Checkout:{name:lg.$type,properties:{branch:{name:lg.branch}},superTypes:[ca.$type]},CherryPicking:{name:to.$type,properties:{id:{name:to.id},parent:{name:to.parent},tags:{name:to.tags,defaultValue:[]}},superTypes:[ca.$type]},ClassDefStatement:{name:zc.$type,properties:{className:{name:zc.className},styleText:{name:zc.styleText}},superTypes:[]},Commit:{name:ga.$type,properties:{id:{name:ga.id},message:{name:ga.message},tags:{name:ga.tags,defaultValue:[]},type:{name:ga.type}},superTypes:[ca.$type]},Common:{name:ro.$type,properties:{accDescr:{name:ro.accDescr},accTitle:{name:ro.accTitle},title:{name:ro.title}},superTypes:[]},Component:{name:Xr.$type,properties:{decorator:{name:Xr.decorator},evolution:{name:Xr.evolution},inertia:{name:Xr.inertia,defaultValue:!1},label:{name:Xr.label},name:{name:Xr.name},visibility:{name:Xr.visibility}},superTypes:[]},Curve:{name:no.$type,properties:{entries:{name:no.entries,defaultValue:[]},label:{name:no.label},name:{name:no.name}},superTypes:[]},Deaccelerator:{name:ao.$type,properties:{name:{name:ao.name},x:{name:ao.x},y:{name:ao.y}},superTypes:[]},Decorator:{name:cg.$type,properties:{strategy:{name:cg.strategy}},superTypes:[]},Direction:{name:sa.$type,properties:{accDescr:{name:sa.accDescr},accTitle:{name:sa.accTitle},dir:{name:sa.dir},statements:{name:sa.statements,defaultValue:[]},title:{name:sa.title}},superTypes:[on.$type]},Edge:{name:Wt.$type,properties:{lhsDir:{name:Wt.lhsDir},lhsGroup:{name:Wt.lhsGroup,defaultValue:!1},lhsId:{name:Wt.lhsId},lhsInto:{name:Wt.lhsInto,defaultValue:!1},rhsDir:{name:Wt.rhsDir},rhsGroup:{name:Wt.rhsGroup,defaultValue:!1},rhsId:{name:Wt.rhsId},rhsInto:{name:Wt.rhsInto,defaultValue:!1},title:{name:Wt.title}},superTypes:[]},EmDataEntity:{name:oa.$type,properties:{dataBlockValue:{name:oa.dataBlockValue},dataType:{name:oa.dataType},name:{name:oa.name}},superTypes:[]},EmFrame:{name:Jr.$type,properties:{},superTypes:[]},EmGwt:{name:wi.$type,properties:{givenStatements:{name:wi.givenStatements,defaultValue:[]},sourceFrame:{name:wi.sourceFrame,referenceType:Jr.$type},thenStatements:{name:wi.thenStatements,defaultValue:[]},whenStatements:{name:wi.whenStatements,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:ug.$type,properties:{entityIdentifier:{name:ug.entityIdentifier,referenceType:Bc.$type}},superTypes:[]},EmModelEntity:{name:Bc.$type,properties:{name:{name:Bc.name}},superTypes:[]},EmNoteEntity:{name:io.$type,properties:{dataBlockValue:{name:io.dataBlockValue},dataType:{name:io.dataType},sourceFrame:{name:io.sourceFrame,referenceType:Jr.$type}},superTypes:[]},EmResetFrame:{name:hr.$type,properties:{dataInlineValue:{name:hr.dataInlineValue},dataReference:{name:hr.dataReference,referenceType:oa.$type},dataType:{name:hr.dataType},entityIdentifier:{name:hr.entityIdentifier},modelEntityType:{name:hr.modelEntityType},name:{name:hr.name},sourceFrames:{name:hr.sourceFrames,defaultValue:[],referenceType:Jr.$type}},superTypes:[Jr.$type]},EmTimeFrame:{name:Or.$type,properties:{dataInlineValue:{name:Or.dataInlineValue},dataReference:{name:Or.dataReference,referenceType:oa.$type},dataType:{name:Or.dataType},entityIdentifier:{name:Or.entityIdentifier},modelEntityType:{name:Or.modelEntityType},name:{name:Or.name},sourceFrames:{name:Or.sourceFrames,defaultValue:[],referenceType:Jr.$type}},superTypes:[Jr.$type]},Entry:{name:Kc.$type,properties:{axis:{name:Kc.axis,referenceType:eo.$type},value:{name:Kc.value}},superTypes:[]},EventModel:{name:ur.$type,properties:{accDescr:{name:ur.accDescr},accTitle:{name:ur.accTitle},dataEntities:{name:ur.dataEntities,defaultValue:[]},frames:{name:ur.frames,defaultValue:[]},gwtEntities:{name:ur.gwtEntities,defaultValue:[]},modelEntities:{name:ur.modelEntities,defaultValue:[]},noteEntities:{name:ur.noteEntities,defaultValue:[]},title:{name:ur.title}},superTypes:[]},Evolution:{name:dg.$type,properties:{stages:{name:dg.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:so.$type,properties:{boundary:{name:so.boundary},name:{name:so.name},secondName:{name:so.secondName}},superTypes:[]},Evolve:{name:qc.$type,properties:{component:{name:qc.component},target:{name:qc.target}},superTypes:[]},GitGraph:{name:on.$type,properties:{accDescr:{name:on.accDescr},accTitle:{name:on.accTitle},statements:{name:on.statements,defaultValue:[]},title:{name:on.title}},superTypes:[]},Group:{name:Ii.$type,properties:{icon:{name:Ii.icon},id:{name:Ii.id},in:{name:Ii.in},title:{name:Ii.title}},superTypes:[]},Info:{name:Ki.$type,properties:{accDescr:{name:Ki.accDescr},accTitle:{name:Ki.accTitle},title:{name:Ki.title}},superTypes:[]},Item:{name:Ni.$type,properties:{classSelector:{name:Ni.classSelector},name:{name:Ni.name}},superTypes:[]},Junction:{name:Wc.$type,properties:{id:{name:Wc.id},in:{name:Wc.in}},superTypes:[]},Label:{name:ki.$type,properties:{negX:{name:ki.negX,defaultValue:!1},negY:{name:ki.negY,defaultValue:!1},offsetX:{name:ki.offsetX},offsetY:{name:ki.offsetY}},superTypes:[]},Leaf:{name:oo.$type,properties:{classSelector:{name:oo.classSelector},name:{name:oo.name},value:{name:oo.value}},superTypes:[Ni.$type]},Link:{name:Zr.$type,properties:{arrow:{name:Zr.arrow},from:{name:Zr.from},fromPort:{name:Zr.fromPort},linkLabel:{name:Zr.linkLabel},to:{name:Zr.to},toPort:{name:Zr.toPort}},superTypes:[]},Merge:{name:ya.$type,properties:{branch:{name:ya.branch},id:{name:ya.id},tags:{name:ya.tags,defaultValue:[]},type:{name:ya.type}},superTypes:[ca.$type]},Note:{name:lo.$type,properties:{evolution:{name:lo.evolution},text:{name:lo.text},visibility:{name:lo.visibility}},superTypes:[]},Option:{name:Vc.$type,properties:{name:{name:Vc.name},value:{name:Vc.value,defaultValue:!1}},superTypes:[]},Packet:{name:va.$type,properties:{accDescr:{name:va.accDescr},accTitle:{name:va.accTitle},blocks:{name:va.blocks,defaultValue:[]},title:{name:va.title}},superTypes:[]},PacketBlock:{name:Ta.$type,properties:{bits:{name:Ta.bits},end:{name:Ta.end},label:{name:Ta.label},start:{name:Ta.start}},superTypes:[]},Pie:{name:ln.$type,properties:{accDescr:{name:ln.accDescr},accTitle:{name:ln.accTitle},sections:{name:ln.sections,defaultValue:[]},showData:{name:ln.showData,defaultValue:!1},title:{name:ln.title}},superTypes:[]},PieSection:{name:Oo.$type,properties:{label:{name:Oo.label},value:{name:Oo.value}},superTypes:[]},Pipeline:{name:Hc.$type,properties:{components:{name:Hc.components,defaultValue:[]},parent:{name:Hc.parent}},superTypes:[]},PipelineComponent:{name:co.$type,properties:{evolution:{name:co.evolution},label:{name:co.label},name:{name:co.name}},superTypes:[]},Radar:{name:Qr.$type,properties:{accDescr:{name:Qr.accDescr},accTitle:{name:Qr.accTitle},axes:{name:Qr.axes,defaultValue:[]},curves:{name:Qr.curves,defaultValue:[]},options:{name:Qr.options,defaultValue:[]},title:{name:Qr.title}},superTypes:[]},Section:{name:Yc.$type,properties:{classSelector:{name:Yc.classSelector},name:{name:Yc.name}},superTypes:[Ni.$type]},Service:{name:la.$type,properties:{icon:{name:la.icon},iconText:{name:la.iconText},id:{name:la.id},in:{name:la.in},title:{name:la.title}},superTypes:[]},Size:{name:Xc.$type,properties:{height:{name:Xc.height},width:{name:Xc.width}},superTypes:[]},Statement:{name:ca.$type,properties:{},superTypes:[]},TreeNode:{name:Zc.$type,properties:{indent:{name:Zc.indent},name:{name:Zc.name}},superTypes:[]},TreeView:{name:Pi.$type,properties:{accDescr:{name:Pi.accDescr},accTitle:{name:Pi.accTitle},nodes:{name:Pi.nodes,defaultValue:[]},title:{name:Pi.title}},superTypes:[]},Treemap:{name:Ra.$type,properties:{accDescr:{name:Ra.accDescr},accTitle:{name:Ra.accTitle},title:{name:Ra.title},TreemapRows:{name:Ra.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:Jc.$type,properties:{indent:{name:Jc.indent},item:{name:Jc.item}},superTypes:[]},Wardley:{name:Ue.$type,properties:{accDescr:{name:Ue.accDescr},accelerators:{name:Ue.accelerators,defaultValue:[]},accTitle:{name:Ue.accTitle},anchors:{name:Ue.anchors,defaultValue:[]},annotation:{name:Ue.annotation,defaultValue:[]},annotations:{name:Ue.annotations,defaultValue:[]},components:{name:Ue.components,defaultValue:[]},deaccelerators:{name:Ue.deaccelerators,defaultValue:[]},evolution:{name:Ue.evolution},evolves:{name:Ue.evolves,defaultValue:[]},links:{name:Ue.links,defaultValue:[]},notes:{name:Ue.notes,defaultValue:[]},pipelines:{name:Ue.pipelines,defaultValue:[]},size:{name:Ue.size},title:{name:Ue.title}},superTypes:[]}}}static{i(this,"MermaidAstReflection")}},Rt=new Ib,fg,CF=i(()=>fg??(fg=Tt(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@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":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),pg,SF=i(()=>pg??(pg=Tt('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),hg,bF=i(()=>hg??(hg=Tt(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),mg,wF=i(()=>mg??(mg=Tt(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),gg,IF=i(()=>gg??(gg=Tt(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),yg,NF=i(()=>yg??(yg=Tt(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),vg,kF=i(()=>vg??(vg=Tt(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),Tg,PF=i(()=>Tg??(Tg=Tt(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),Rg,OF=i(()=>Rg??(Rg=Tt(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap 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 * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),$g,LF=i(()=>$g??($g=Tt(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),DF={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MF={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xF={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},FF={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},GF={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},jF={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},UF={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},zF={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},BF={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},KF={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},sr={AstReflection:i(()=>new Ib,"AstReflection")},qF={Grammar:i(()=>CF(),"Grammar"),LanguageMetaData:i(()=>DF,"LanguageMetaData"),parser:{}},WF={Grammar:i(()=>SF(),"Grammar"),LanguageMetaData:i(()=>MF,"LanguageMetaData"),parser:{}},VF={Grammar:i(()=>bF(),"Grammar"),LanguageMetaData:i(()=>xF,"LanguageMetaData"),parser:{}},HF={Grammar:i(()=>wF(),"Grammar"),LanguageMetaData:i(()=>FF,"LanguageMetaData"),parser:{}},YF={Grammar:i(()=>IF(),"Grammar"),LanguageMetaData:i(()=>GF,"LanguageMetaData"),parser:{}},XF={Grammar:i(()=>NF(),"Grammar"),LanguageMetaData:i(()=>jF,"LanguageMetaData"),parser:{}},JF={Grammar:i(()=>kF(),"Grammar"),LanguageMetaData:i(()=>UF,"LanguageMetaData"),parser:{}},ZF={Grammar:i(()=>PF(),"Grammar"),LanguageMetaData:i(()=>zF,"LanguageMetaData"),parser:{}},QF={Grammar:i(()=>OF(),"Grammar"),LanguageMetaData:i(()=>BF,"LanguageMetaData"),parser:{}},eG={Grammar:i(()=>LF(),"Grammar"),LanguageMetaData:i(()=>KF,"LanguageMetaData"),parser:{}},tG=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,rG=/accTitle[\t ]*:([^\n\r]*)/,nG=/title([\t ][^\n\r]*|)/,aG={ACC_DESCR:tG,ACC_TITLE:rG,TITLE:nG},ti=class extends hh{static{i(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return n===void 0&&(n=this.runCustomConverter(e,t,r)),n===void 0?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){const n=aG[e.name];if(n===void 0)return;const a=n.exec(t);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},Ks=class extends ti{static{i(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},or=class extends Ac{static{i(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){const n=super.buildKeywordTokens(e,t,r);return n.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends or{static{i(this,"CommonTokenBuilder")}});/*! Bundled license information: + +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 + *) +*/var iG=class extends or{static{i(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},Nb={parser:{TokenBuilder:i(()=>new iG,"TokenBuilder"),ValueConverter:i(()=>new Ks,"ValueConverter")}};function kb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),JF,Nb);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}i(kb,"createRadarServices");var sG=class extends or{static{i(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},oG=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,lG=class extends ti{static{i(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if(e.name==="NUMBER2")return parseFloat(t.replace(/,/g,""));if(e.name==="SEPARATOR")return t.substring(1,t.length-1);if(e.name==="STRING2")return t.substring(1,t.length-1);if(e.name==="INDENTATION")return t.length;if(e.name==="ClassDef"){if(typeof t!="string")return t;const n=oG.exec(t);if(n)return{$type:"ClassDefStatement",className:n[1],styleText:n[2]||void 0}}}};function Pb(e){const t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){const n={Treemap:t.checkSingleRoot.bind(t)};r.register(n,t)}}i(Pb,"registerValidationChecks");var cG=class{static{i(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(const n of e.TreemapRows)n.item&&(r===void 0&&n.indent===void 0?r=0:n.indent===void 0?t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):r!==void 0&&r>=parseInt(n.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},Ob={parser:{TokenBuilder:i(()=>new sG,"TokenBuilder"),ValueConverter:i(()=>new lG,"ValueConverter")},validation:{TreemapValidator:i(()=>new cG,"TreemapValidator")}};function Lb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),ZF,Ob);return t.ServiceRegistry.register(r),Pb(r),{shared:t,Treemap:r}}i(Lb,"createTreemapServices");var uG=class extends ti{static{i(this,"WardleyValueConverter")}runCustomConverter(e,t,r){switch(e.name.toUpperCase()){case"LINK_LABEL":return t.substring(1).trim();default:return}}},Db={parser:{ValueConverter:i(()=>new uG,"ValueConverter")}};function Mb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),eG,Db);return t.ServiceRegistry.register(r),{shared:t,Wardley:r}}i(Mb,"createWardleyServices");var dG=class extends or{static{i(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},xb={parser:{TokenBuilder:i(()=>new dG,"TokenBuilder"),ValueConverter:i(()=>new Ks,"ValueConverter")}};function Fb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),VF,xb);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}i(Fb,"createGitGraphServices");var fG=class extends or{static{i(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},Gb={parser:{TokenBuilder:i(()=>new fG,"TokenBuilder"),ValueConverter:i(()=>new Ks,"ValueConverter")}};function jb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),HF,Gb);return t.ServiceRegistry.register(r),{shared:t,Info:r}}i(jb,"createInfoServices");var pG=class extends or{static{i(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},Ub={parser:{TokenBuilder:i(()=>new pG,"TokenBuilder"),ValueConverter:i(()=>new Ks,"ValueConverter")}};function zb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),YF,Ub);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}i(zb,"createPacketServices");var hG=class extends or{static{i(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},mG=class extends ti{static{i(this,"PieValueConverter")}runCustomConverter(e,t,r){if(e.name==="PIE_SECTION_LABEL")return t.replace(/"/g,"").trim()}},Bb={parser:{TokenBuilder:i(()=>new hG,"TokenBuilder"),ValueConverter:i(()=>new mG,"ValueConverter")}};function Kb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),XF,Bb);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}i(Kb,"createPieServices");var gG=class extends ti{static{i(this,"TreeViewValueConverter")}runCustomConverter(e,t,r){if(e.name==="INDENTATION")return t?.length||0;if(e.name==="STRING2")return t.substring(1,t.length-1)}},yG=class extends or{static{i(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},qb={parser:{TokenBuilder:i(()=>new yG,"TokenBuilder"),ValueConverter:i(()=>new gG,"ValueConverter")}};function Wb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),QF,qb);return t.ServiceRegistry.register(r),{shared:t,TreeView:r}}i(Wb,"createTreeViewServices");var vG=class extends or{static{i(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},TG=class extends ti{static{i(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){if(e.name==="ARCH_ICON")return t.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return t.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let n=t.replace(/^\[|]$/g,"").trim();return(n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"))&&(n=n.slice(1,-1),n=n.replace(/\\"/g,'"').replace(/\\'/g,"'")),n.trim()}}},Vb={parser:{TokenBuilder:i(()=>new vG,"TokenBuilder"),ValueConverter:i(()=>new TG,"ValueConverter")}};function Hb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),qF,Vb);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}i(Hb,"createArchitectureServices");var RG=class extends or{static{i(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},Ag=new Set(["cmd","command"]),Eg=new Set(["evt","event"]),Qc=new Set(["rmo","readmodel"]),_g=new Set(["pcr","processor"]),Cg=new Set(["ui"]);function Yb(e){const t=e.validation.EventModelingValidator,r=e.validation.ValidationRegistry;if(r){const n={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};r.register(n,t)}}i(Yb,"registerValidationChecks");var $G=class{static{i(this,"EventModelingValidator")}checkSourceFrameTypes(e,t){e.sourceFrames.length!==0&&(Ag.has(e.modelEntityType)?this.validateSources(e,new Set([...Cg,..._g]),"command","ui or processor",t):Eg.has(e.modelEntityType)?this.validateSources(e,Ag,"event","command",t):Qc.has(e.modelEntityType)?this.validateSources(e,Eg,"read model","event",t):_g.has(e.modelEntityType)?this.validateSources(e,Qc,"processor","read model",t):Cg.has(e.modelEntityType)&&this.validateSources(e,Qc,"ui","read model",t))}validateSources(e,t,r,n,a){for(const s of e.sourceFrames){const o=s.ref;o!==void 0&&!t.has(o.modelEntityType)&&a("error",`A ${r} can only receive input from a ${n}, not from '${o.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},Xb={parser:{TokenBuilder:i(()=>new RG,"TokenBuilder"),ValueConverter:i(()=>new Ks,"ValueConverter")},validation:{EventModelingValidator:i(()=>new $G,"EventModelingValidator")}};function Jb(e=It){const t=Ae(vt(e),sr),r=Ae(yt({shared:t}),WF,Xb);return t.ServiceRegistry.register(r),Yb(r),{shared:t,EventModel:r}}i(Jb,"createEventModelingServices");var At={},AG={info:i(async()=>{const{createInfoServices:e}=await qt(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>CG);return{createInfoServices:r}},void 0),t=e().Info.parser.LangiumParser;At.info=t},"info"),packet:i(async()=>{const{createPacketServices:e}=await qt(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>SG);return{createPacketServices:r}},void 0),t=e().Packet.parser.LangiumParser;At.packet=t},"packet"),pie:i(async()=>{const{createPieServices:e}=await qt(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>bG);return{createPieServices:r}},void 0),t=e().Pie.parser.LangiumParser;At.pie=t},"pie"),treeView:i(async()=>{const{createTreeViewServices:e}=await qt(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>wG);return{createTreeViewServices:r}},void 0),t=e().TreeView.parser.LangiumParser;At.treeView=t},"treeView"),architecture:i(async()=>{const{createArchitectureServices:e}=await qt(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>IG);return{createArchitectureServices:r}},void 0),t=e().Architecture.parser.LangiumParser;At.architecture=t},"architecture"),gitGraph:i(async()=>{const{createGitGraphServices:e}=await qt(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>NG);return{createGitGraphServices:r}},void 0),t=e().GitGraph.parser.LangiumParser;At.gitGraph=t},"gitGraph"),eventmodeling:i(async()=>{const{createEventModelingServices:e}=await qt(async()=>{const{createEventModelingServices:r}=await Promise.resolve().then(()=>kG);return{createEventModelingServices:r}},void 0),t=e().EventModel.parser.LangiumParser;At.eventmodeling=t},"eventmodeling"),radar:i(async()=>{const{createRadarServices:e}=await qt(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>PG);return{createRadarServices:r}},void 0),t=e().Radar.parser.LangiumParser;At.radar=t},"radar"),treemap:i(async()=>{const{createTreemapServices:e}=await qt(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>OG);return{createTreemapServices:r}},void 0),t=e().Treemap.parser.LangiumParser;At.treemap=t},"treemap"),wardley:i(async()=>{const{createWardleyServices:e}=await qt(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>LG);return{createWardleyServices:r}},void 0),t=e().Wardley.parser.LangiumParser;At.wardley=t},"wardley")};async function EG(e,t){const r=AG[e];if(!r)throw new Error(`Unknown diagram type: ${e}`);At[e]||await r();const a=At[e].parse(t);if(a.lexerErrors.length>0||a.parserErrors.length>0)throw new _G(a);return a.value}i(EG,"parse");var _G=class extends Error{constructor(e){const t=e.lexerErrors.map(n=>{const a=n.line!==void 0&&!isNaN(n.line)?n.line:"?",s=n.column!==void 0&&!isNaN(n.column)?n.column:"?";return`Lexer error on line ${a}, column ${s}: ${n.message}`}).join(` +`),r=e.parserErrors.map(n=>{const a=n.token.startLine!==void 0&&!isNaN(n.token.startLine)?n.token.startLine:"?",s=n.token.startColumn!==void 0&&!isNaN(n.token.startColumn)?n.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${n.message}`}).join(` +`);super(`Parsing failed: ${t} ${r}`),this.result=e}static{i(this,"MermaidParseError")}};const CG=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Gb,createInfoServices:jb},Symbol.toStringTag,{value:"Module"})),SG=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Ub,createPacketServices:zb},Symbol.toStringTag,{value:"Module"})),bG=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Bb,createPieServices:Kb},Symbol.toStringTag,{value:"Module"})),wG=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:qb,createTreeViewServices:Wb},Symbol.toStringTag,{value:"Module"})),IG=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Vb,createArchitectureServices:Hb},Symbol.toStringTag,{value:"Module"})),NG=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:xb,createGitGraphServices:Fb},Symbol.toStringTag,{value:"Module"})),kG=Object.freeze(Object.defineProperty({__proto__:null,EventModelingModule:Xb,createEventModelingServices:Jb},Symbol.toStringTag,{value:"Module"})),PG=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Nb,createRadarServices:kb},Symbol.toStringTag,{value:"Module"})),OG=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Ob,createTreemapServices:Lb},Symbol.toStringTag,{value:"Module"})),LG=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Db,createWardleyServices:Mb},Symbol.toStringTag,{value:"Module"}));export{mF as i,EG as p}; diff --git a/_astro/wardleyDiagram-YWT4CUSO.EXTTov1l.js b/_astro/wardleyDiagram-YWT4CUSO.EXTTov1l.js new file mode 100644 index 0000000..5548fbf --- /dev/null +++ b/_astro/wardleyDiagram-YWT4CUSO.EXTTov1l.js @@ -0,0 +1,78 @@ +import{s as St,g as Mt,q as Nt,p as zt,a as Lt,b as Tt,_ as u,K as At,D as Xt,F as K,l as J,I as Et,e as Yt,z as It,c as j}from"./mermaid.core.Ci_VGkOG.js";import{p as Ft}from"./chunk-4BX2VUAB.Bj_lmsp3.js";import{p as Bt}from"./wardley-L42UT6IY.BVigPHyG.js";import"./preload-helper.DK3iz7C1.js";var D=u((e,n)=>{const r=e<=1?e*100:e;if(r<0||r>100)throw new Error(`${n} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return r},"toPercent"),A=u((e,n,r)=>({x:D(n,`${r} evolution`),y:D(e,`${r} visibility`)}),"toCoordinates"),U=u(e=>{if(e){if(e==="+<>")return"bidirectional";if(e==="+<")return"backward";if(e==="+>")return"forward"}},"getFlowFromPort"),Rt=u(e=>{if(!e?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(e)?.[1];return e.includes("<>")?{flow:"bidirectional",label:r}:e.includes("<")?{flow:"backward",label:r}:e.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Ot=u((e,n)=>{if(Ft(e,n),e.size&&n.setSize(e.size.width,e.size.height),e.evolution){const r=e.evolution.stages.map(a=>a.secondName?`${a.name.trim()} / ${a.secondName.trim()}`:a.name.trim()),x=e.evolution.stages.filter(a=>a.boundary!==void 0).map(a=>a.boundary);n.updateAxes({stages:r,stageBoundaries:x})}if(e.anchors.forEach(r=>{const x=A(r.visibility,r.evolution,`Anchor "${r.name}"`);n.addNode(r.name,r.name,x.x,x.y,"anchor")}),e.components.forEach(r=>{const x=A(r.visibility,r.evolution,`Component "${r.name}"`),a=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,d=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,w=r.decorator?.strategy;n.addNode(r.name,r.name,x.x,x.y,"component",a,d,r.inertia,w)}),e.notes.forEach(r=>{const x=A(r.visibility,r.evolution,`Note "${r.text}"`);n.addNote(r.text,x.x,x.y)}),e.pipelines.forEach(r=>{const x=n.getNode(r.parent);if(!x||typeof x.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const a=x.y;n.startPipeline(r.parent),r.components.forEach(d=>{const w=`${r.parent}_${d.name}`,C=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,B=D(d.evolution,`Pipeline component "${d.name}" evolution`);n.addNode(w,d.name,B,a,"pipeline-component",C,g),n.addPipelineComponent(r.parent,w)})}),e.links.forEach(r=>{const x=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let a=U(r.fromPort)??U(r.toPort);const{flow:d,label:w}=Rt(r.arrow);!a&&d&&(a=d);const C=r.linkLabel,g=w??C;n.addLink(n.resolveNodeId(r.from),n.resolveNodeId(r.to),x,g,a)}),e.evolves.forEach(r=>{const x=n.getNode(r.component);if(x?.y!==void 0){const a=D(r.target,`Evolve target for "${r.component}"`);n.addTrend(r.component,a,x.y)}}),e.annotations.length>0){const r=e.annotations[0],x=A(r.x,r.y,"Annotations box");n.setAnnotationsBox(x.x,x.y)}e.annotation.forEach(r=>{const x=A(r.x,r.y,`Annotation ${r.number}`);n.addAnnotation(r.number,[{x:x.x,y:x.y}],r.text)}),e.accelerators.forEach(r=>{const x=A(r.x,r.y,`Accelerator "${r.name}"`);n.addAccelerator(r.name,x.x,x.y)}),e.deaccelerators.forEach(r=>{const x=A(r.x,r.y,`Deaccelerator "${r.name}"`);n.addDeaccelerator(r.name,x.x,x.y)})},"populateDb"),Q={parser:{yy:void 0},parse:u(async e=>{const n=await Bt("wardley",e);J.debug(n);const r=Q.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ot(n,r)},"parse")},Wt=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{u(this,"WardleyBuilder")}addNode(e){const n=this.nodes.get(e.id)??{id:e.id,label:e.label},r={...n,...e,className:e.className??n.className,labelOffsetX:e.labelOffsetX??n.labelOffsetX,labelOffsetY:e.labelOffsetY??n.labelOffsetY};this.nodes.set(e.id,r)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const n=this.nodes.get(e);n&&(n.isPipelineParent=!0)}addPipelineComponent(e,n){const r=this.pipelines.get(e);r&&r.componentIds.push(n);const x=this.nodes.get(n);x&&(x.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,n){this.annotationsBox={x:e,y:n}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,n){this.size={width:e,height:n}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(const[n,r]of this.nodes)if(r.label===e)return n;return e}build(){const e=[];for(const n of this.nodes.values()){if(typeof n.x!="number"||typeof n.y!="number")throw new Error(`Node "${n.label}" is missing coordinates`);e.push(n)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},k=new Wt;function tt(){return j()["wardley-beta"]}u(tt,"getConfig");function et(e,n,r,x,a,d,w,C,g){k.addNode({id:e,label:n,x:r,y:x,className:a,labelOffsetX:d,labelOffsetY:w,inertia:C,sourceStrategy:g})}u(et,"addNode");function at(e,n,r=!1,x,a){k.addLink({source:e,target:n,dashed:r,label:x,flow:a})}u(at,"addLink");function rt(e,n,r){k.addTrend({nodeId:e,targetX:n,targetY:r})}u(rt,"addTrend");function ot(e,n,r){k.addAnnotation({number:e,coordinates:n,text:r})}u(ot,"addAnnotation");function nt(e,n,r){k.addNote({text:e,x:n,y:r})}u(nt,"addNote");function st(e,n,r){k.addAccelerator({name:e,x:n,y:r})}u(st,"addAccelerator");function it(e,n,r){k.addDeaccelerator({name:e,x:n,y:r})}u(it,"addDeaccelerator");function dt(e,n){k.setAnnotationsBox(e,n)}u(dt,"setAnnotationsBox");function lt(e,n){k.setSize(e,n)}u(lt,"setSize");function ct(e){k.startPipeline(e)}u(ct,"startPipeline");function pt(e,n){k.addPipelineComponent(e,n)}u(pt,"addPipelineComponent");function ft(e){k.setAxes(e)}u(ft,"updateAxes");function ht(e){return k.getNode(e)}u(ht,"getNode");function xt(e){return k.resolveNodeId(e)}u(xt,"resolveNodeId");function gt(){return k.build()}u(gt,"getWardleyData");function yt(){k.clear(),It()}u(yt,"clear");var Dt={getConfig:tt,addNode:et,addLink:at,addTrend:rt,addAnnotation:ot,addNote:nt,addAccelerator:st,addDeaccelerator:it,setAnnotationsBox:dt,setSize:lt,startPipeline:ct,addPipelineComponent:pt,updateAxes:ft,getNode:ht,resolveNodeId:xt,getWardleyData:gt,clear:yt,setAccTitle:Tt,getAccTitle:Lt,setDiagramTitle:zt,getDiagramTitle:Nt,getAccDescription:Mt,setAccDescription:St},Gt=["Genesis","Custom Built","Product","Commodity"],qt=u(()=>{const{themeVariables:e}=j();return{backgroundColor:e.wardley?.backgroundColor??e.background??"#fff",axisColor:e.wardley?.axisColor??"#000",axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??"#222",gridColor:e.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:e.wardley?.componentFill??"#fff",componentStroke:e.wardley?.componentStroke??"#000",componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??"#222",linkStroke:e.wardley?.linkStroke??"#000",evolutionStroke:e.wardley?.evolutionStroke??"#dc3545",annotationStroke:e.wardley?.annotationStroke??"#000",annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??"#222",annotationFill:e.wardley?.annotationFill??e.background??"#fff"}},"getTheme"),Ht=u(()=>{const e=j()["wardley-beta"];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},"getConfigValues"),jt=u((e,n,r,x)=>{J.debug(`Rendering Wardley map +`+e);const a=Ht(),d=qt(),w=a.nodeRadius*1.6,C=x.db,g=C.getWardleyData(),B=C.getDiagramTitle(),S=g.size?.width??a.width,b=g.size?.height??a.height,E=Et(n);E.selectAll("*").remove(),Yt(E,b,S,a.useMaxWidth),E.attr("viewBox",`0 0 ${S} ${b}`);const v=E.append("g").attr("class","wardley-map"),G=E.append("defs");G.append("marker").attr("id",`arrow-${n}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),G.append("marker").attr("id",`link-arrow-end-${n}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),G.append("marker").attr("id",`link-arrow-start-${n}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),v.append("rect").attr("class","wardley-background").attr("width",S).attr("height",b).attr("fill",d.backgroundColor);const Y=S-a.padding*2,I=b-a.padding*2;B&&v.append("text").attr("class","wardley-title").attr("x",S/2).attr("y",a.padding/2).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(B);const z=u(t=>a.padding+t/100*Y,"projectX"),L=u(t=>b-a.padding-t/100*I,"projectY"),R=v.append("g").attr("class","wardley-axes");R.append("line").attr("x1",a.padding).attr("x2",S-a.padding).attr("y1",b-a.padding).attr("y2",b-a.padding).attr("stroke",d.axisColor).attr("stroke-width",1),R.append("line").attr("x1",a.padding).attr("x2",a.padding).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const ut=g.axes.xLabel??"Evolution",wt=g.axes.yLabel??"Visibility";R.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",a.padding+Y/2).attr("y",b-a.padding/4).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(ut),R.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",a.padding/3).attr("y",a.padding+I/2).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${a.padding/3} ${a.padding+I/2})`).text(wt);const F=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:Gt;if(F.length>0){const t=v.append("g").attr("class","wardley-stages"),s=g.axes.stageBoundaries,o=[];if(s&&s.length===F.length){let i=0;s.forEach(p=>{o.push({start:i,end:p}),i=p})}else{const i=1/F.length;F.forEach((p,l)=>{o.push({start:l*i,end:(l+1)*i})})}F.forEach((i,p)=>{const l=o[p],f=a.padding+l.start*Y,h=a.padding+l.end*Y,y=(f+h)/2;p>0&&t.append("line").attr("x1",f).attr("x2",f).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",y).attr("y",b-a.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(a.showGrid){const t=v.append("g").attr("class","wardley-grid");for(let s=1;s<4;s++){const o=s/4,i=a.padding+Y*o;t.append("line").attr("x1",i).attr("x2",i).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",a.padding).attr("x2",S-a.padding).attr("y1",b-a.padding-I*o).attr("y2",b-a.padding-I*o).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:z(t.x),y:L(t.y),node:t})}),g.pipelines.length>0){const t=v.append("g").attr("class","wardley-pipelines"),s=v.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(o=>{if(o.componentIds.length===0)return;const i=o.componentIds.map(h=>({id:h,pos:c.get(h),node:g.nodes.find(y=>y.id===h)})).filter(h=>h.pos&&h.node).sort((h,y)=>h.node.x-y.node.x);for(let h=0;h{const y=c.get(h);y&&(p=Math.min(p,y.x),l=Math.max(l,y.x),f=y.y)}),p!==1/0&&l!==-1/0){const y=a.nodeRadius*4,m=f-y/2,P=c.get(o.nodeId);if(P){const N=(p+l)/2;P.x=N,P.y=m-w/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",p-15).attr("y",m).attr("width",l-p+30).attr("height",y).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const V=v.append("g").attr("class","wardley-links"),_=new Map;g.pipelines.forEach(t=>{_.set(t.nodeId,new Set(t.componentIds))});const Z=g.links.filter(t=>!(!c.has(t.source)||!c.has(t.target)||_.get(t.target)?.has(t.source)));V.selectAll("line").data(Z).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const s=c.get(t.source),o=c.get(t.target),p=g.nodes.find(y=>y.id===t.source).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=o.x-s.x,f=o.y-s.y,h=Math.sqrt(l*l+f*f);return s.x+l/h*p}).attr("y1",t=>{const s=c.get(t.source),o=c.get(t.target),p=g.nodes.find(y=>y.id===t.source).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=o.x-s.x,f=o.y-s.y,h=Math.sqrt(l*l+f*f);return s.y+f/h*p}).attr("x2",t=>{const s=c.get(t.source),o=c.get(t.target),p=g.nodes.find(y=>y.id===t.target).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=s.x-o.x,f=s.y-o.y,h=Math.sqrt(l*l+f*f);return o.x+l/h*p}).attr("y2",t=>{const s=c.get(t.source),o=c.get(t.target),p=g.nodes.find(y=>y.id===t.target).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=s.x-o.x,f=s.y-o.y,h=Math.sqrt(l*l+f*f);return o.y+f/h*p}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${n})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${n})`:null),V.selectAll("text").data(Z.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const s=c.get(t.source),o=c.get(t.target),i=(s.x+o.x)/2,p=o.y-s.y,l=o.x-s.x,f=Math.sqrt(l*l+p*p),h=8,y=p/f;return i+y*h}).attr("y",t=>{const s=c.get(t.source),o=c.get(t.target),i=(s.y+o.y)/2,p=o.x-s.x,l=o.y-s.y,f=Math.sqrt(p*p+l*l),h=8,y=-p/f;return i+y*h}).attr("fill",d.axisTextColor).attr("font-size",a.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const s=c.get(t.source),o=c.get(t.target),i=(s.x+o.x)/2,p=(s.y+o.y)/2,l=o.x-s.x,f=o.y-s.y,h=Math.sqrt(l*l+f*f),y=8,m=f/h,P=-l/h,N=i+m*y,O=p+P*y;let X=Math.atan2(f,l)*180/Math.PI;return(X>90||X<-90)&&(X+=180),`rotate(${X} ${N} ${O})`}).text(t=>t.label);const mt=v.append("g").attr("class","wardley-trends"),kt=g.trends.map(t=>{const s=c.get(t.nodeId);if(!s)return null;const o=z(t.targetX),i=L(t.targetY),p=o-s.x,l=i-s.y,f=Math.sqrt(p*p+l*l),h=a.nodeRadius+2,y=f>h?o-p/f*h:o,m=f>h?i-l/f*h:i;return{origin:s,targetX:o,targetY:i,adjustedX2:y,adjustedY2:m}}).filter(t=>t!==null);mt.selectAll("line").data(kt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${n})`);const M=v.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));M.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const T=M.filter(t=>t.sourceStrategy==="market");T.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const q=a.nodeRadius*.7,$=a.nodeRadius*1.2;if(T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-$).attr("x2",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-$).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-$).attr("r",q).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",q).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",q).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),M.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-w/2).attr("y",t=>c.get(t.id).y-w/2).attr("width",w).attr("height",w).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const s=c.get(t.id);let o=t.isPipelineParent?w/2+15:a.nodeRadius+15;return t.sourceStrategy&&(o+=a.nodeRadius+10),s.x+o}).attr("y1",t=>{const s=c.get(t.id),o=t.isPipelineParent?w:a.nodeRadius*2;return s.y-o/2}).attr("x2",t=>{const s=c.get(t.id);let o=t.isPipelineParent?w/2+15:a.nodeRadius+15;return t.sourceStrategy&&(o+=a.nodeRadius+10),s.x+o}).attr("y2",t=>{const s=c.get(t.id),o=t.isPipelineParent?w:a.nodeRadius*2;return s.y+o/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),M.append("text").attr("x",t=>{const s=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?s.x+t.labelOffsetX:s.x;let o=a.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(o+=10);const i=t.labelOffsetX??o;return s.x+i}).attr("y",t=>{const s=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?s.y+t.labelOffsetY:s.y-3;let o=-a.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(o-=10);const i=t.labelOffsetY??o;return s.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",a.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=v.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(s=>{const o=s.coordinates.map(i=>({x:z(i.x),y:L(i.y)}));if(o.length>1)for(let i=0;i{const p=t.append("g").attr("class","wardley-annotation");p.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),p.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(s.number)})}),g.annotationsBox){let s=z(g.annotationsBox.x),o=L(g.annotationsBox.y);const i=10,p=16,l=11,f=t.append("g").attr("class","wardley-annotations-box"),h=[...g.annotations].filter(m=>m.text).sort((m,P)=>m.number-P.number),y=[];if(h.forEach((m,P)=>{const N=f.append("text").attr("x",s+i).attr("y",o+i+(P+1)*p).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${m.number}. ${m.text}`);y.push(N)}),y.length>0){let m=0,P=0;y.forEach(H=>{const W=H.node(),Pt=W.getComputedTextLength();m=Math.max(m,Pt);const Ct=W.getBBox();P=Math.max(P,Ct.height)});const N=m+i*2+105,O=h.length*p+i*2+P/2,X=a.padding,bt=S-a.padding-N,$t=a.padding,vt=b-a.padding-O;s=Math.max(X,Math.min(s,bt)),o=Math.max($t,Math.min(o,vt)),y.forEach((H,W)=>{H.attr("x",s+i).attr("y",o+i+(W+1)*p)}),f.insert("rect","text").attr("x",s).attr("y",o).attr("width",N).attr("height",O).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=v.append("g").attr("class","wardley-notes");g.notes.forEach(s=>{const o=z(s.x),i=L(s.y);t.append("text").attr("x",o).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(s.text)})}if(g.accelerators.length>0){const t=v.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(s=>{const o=z(s.x),i=L(s.y),p=60,l=30,f=20,h=` + M ${o} ${i-l/2} + L ${o+p-f} ${i-l/2} + L ${o+p-f} ${i-l/2-8} + L ${o+p} ${i} + L ${o+p-f} ${i+l/2+8} + L ${o+p-f} ${i+l/2} + L ${o} ${i+l/2} + Z + `;t.append("path").attr("d",h).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",o+p/2).attr("y",i+l/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(s.name)})}if(g.deaccelerators.length>0){const t=v.append("g").attr("class","wardley-deaccelerators");g.deaccelerators.forEach(s=>{const o=z(s.x),i=L(s.y),p=60,l=30,f=20,h=` + M ${o+p} ${i-l/2} + L ${o+f} ${i-l/2} + L ${o+f} ${i-l/2-8} + L ${o} ${i} + L ${o+f} ${i+l/2+8} + L ${o+f} ${i+l/2} + L ${o+p} ${i+l/2} + Z + `;t.append("path").attr("d",h).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",o+p/2).attr("y",i+l/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(s.name)})}},"draw"),Vt={draw:jt},_t=u(({wardley:e}={})=>{const n=At(),r=Xt(),x=K(n,r.themeVariables),a=K(x.wardley,e);return` + .wardley-background { + fill: ${a.backgroundColor}; + } + .wardley-axes line, .wardley-axes path { + stroke: ${a.axisColor}; + } + .wardley-axis-label { + fill: ${a.axisTextColor}; + } + .wardley-stage-label { + fill: ${a.axisTextColor}; + } + .wardley-grid line { + stroke: ${a.gridColor}; + } + .wardley-node circle { + fill: ${a.componentFill}; + stroke: ${a.componentStroke}; + } + .wardley-node-label { + fill: ${a.componentLabelColor}; + } + .wardley-link { + stroke: ${a.linkStroke}; + } + .wardley-link--dashed { + stroke-dasharray: 4 4; + } + .wardley-link-label { + fill: ${a.axisTextColor}; + } + .wardley-trend line { + stroke: ${a.evolutionStroke}; + } + .wardley-annotation-line { + stroke: ${a.annotationStroke}; + } + .wardley-annotation circle { + fill: ${a.annotationFill}; + stroke: ${a.annotationStroke}; + } + .wardley-annotation text { + fill: ${a.annotationTextColor}; + } + .wardley-annotations-box rect { + fill: ${a.annotationFill}; + stroke: ${a.annotationStroke}; + } + .wardley-annotations-box text { + fill: ${a.annotationTextColor}; + } + .wardley-pipeline-box { + stroke: ${a.componentStroke}; + } + .wardley-notes text { + fill: ${a.axisTextColor}; + } + `},"styles"),te={parser:Q,db:Dt,renderer:Vt,styles:_t};export{te as diagram}; diff --git a/_astro/xychartDiagram-2RQKCTM6.BSHZNS4L.js b/_astro/xychartDiagram-2RQKCTM6.BSHZNS4L.js new file mode 100644 index 0000000..a980034 --- /dev/null +++ b/_astro/xychartDiagram-2RQKCTM6.BSHZNS4L.js @@ -0,0 +1,7 @@ +import{s as ei,g as si,q as Lt,p as ni,a as ai,b as ri,_ as a,l as Et,I as oi,e as hi,z as li,D as dt,i as ci,F as It,G as ui,K as gi,am as xi,R as Tt}from"./mermaid.core.Ci_VGkOG.js";import{i as di}from"./init.Gi6I4Gst.js";import{o as fi}from"./ordinal.BYWQX77i.js";import{l as Dt}from"./linear.CNy4Dr2Q.js";import"./preload-helper.DK3iz7C1.js";import"./defaultLocale.DX6XiGOO.js";function pi(t,i,e){t=+t,i=+i,e=(n=arguments.length)<2?(i=t,t=0,1):n<3?1:+e;for(var s=-1,n=Math.max(0,Math.ceil((i-t)/e))|0,g=new Array(n);++s"u"&&(T.yylloc={});var rt=T.yylloc;r.push(rt);var ti=T.options&&T.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ii(B){u.length=u.length-2*B,w.length=w.length-B,r.length=r.length-B}a(ii,"popStack");function kt(){var B;return B=x.pop()||T.lex()||_t,typeof B!="number"&&(B instanceof Array&&(x=B,B=x.pop()),B=l.symbols_[B]||B),B}a(kt,"lex");for(var M,q,z,ot,G={},it,N,Rt,et;;){if(q=u[u.length-1],this.defaultActions[q]?z=this.defaultActions[q]:((M===null||typeof M>"u")&&(M=kt()),z=Q[q]&&Q[q][M]),typeof z>"u"||!z.length||!z[0]){var ht="";et=[];for(it in Q[q])this.terminals_[it]&&it>Zt&&et.push("'"+this.terminals_[it]+"'");T.showPosition?ht="Parse error on line "+(tt+1)+`: +`+T.showPosition()+` +Expecting `+et.join(", ")+", got '"+(this.terminals_[M]||M)+"'":ht="Parse error on line "+(tt+1)+": Unexpected "+(M==_t?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(ht,{text:T.match,token:this.terminals_[M]||M,line:T.yylineno,loc:rt,expected:et})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+q+", token: "+M);switch(z[0]){case 1:u.push(M),w.push(T.yytext),r.push(T.yylloc),u.push(z[1]),M=null,St=T.yyleng,d=T.yytext,tt=T.yylineno,rt=T.yylloc;break;case 2:if(N=this.productions_[z[1]][1],G.$=w[w.length-N],G._$={first_line:r[r.length-(N||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(N||1)].first_column,last_column:r[r.length-1].last_column},ti&&(G._$.range=[r[r.length-(N||1)].range[0],r[r.length-1].range[1]]),ot=this.performAction.apply(G,[d,St,tt,$.yy,z[1],w,r].concat(Jt)),typeof ot<"u")return ot;N&&(u=u.slice(0,-1*N*2),w=w.slice(0,-1*N),r=r.slice(0,-1*N)),u.push(this.productions_[z[1]][0]),w.push(G.$),r.push(G._$),Rt=Q[u[u.length-2]][u[u.length-1]],u.push(Rt);break;case 3:return!0}}return!0},"parse")},_=(function(){var F={EOF:1,parseError:a(function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},"parseError"),setInput:a(function(o,l){return this.yy=l||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var l=o.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),o},"input"),unput:a(function(o){var l=o.length,u=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var w=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===x.length?this.yylloc.first_column:0)+x[x.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(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:a(function(o){this.unput(this.match.slice(o))},"less"),pastInput:a(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var o=this.pastInput(),l=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+l+"^"},"showPosition"),test_match:a(function(o,l){var u,x,w;if(this.options.backtrack_lexer&&(w={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(w.yylloc.range=this.yylloc.range.slice(0))),x=o[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],u=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u)return u;if(this._backtrack){for(var r in w)this[r]=w[r];return!1}return!1},"test_match"),next:a(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,l,u,x;this._more||(this.yytext="",this.match="");for(var w=this._currentRules(),r=0;rl[0].length)){if(l=u,x=r,this.options.backtrack_lexer){if(o=this.test_match(u,w[r]),o!==!1)return o;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(o=this.test_match(l,w[x]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:a(function(){var l=this.next();return l||this.lex()},"lex"),begin:a(function(l){this.conditionStack.push(l)},"begin"),popState:a(function(){var l=this.conditionStack.length-1;return l>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:a(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:a(function(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},"topState"),pushState:a(function(l){this.begin(l)},"pushState"),stateStackSize:a(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:a(function(l,u,x,w){switch(x){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 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 F})();V.lexer=_;function H(){this.yy={}}return a(H,"Parser"),H.prototype=V,V.Parser=H,new H})();ct.parser=ct;var mi=ct;function ut(t){return t.type==="bar"}a(ut,"isBarPlot");function ft(t){return t.type==="band"}a(ft,"isBandAxisData");function j(t){return t.type==="linear"}a(j,"isLinearAxisData");var Mt=class{constructor(t){this.parentGroup=t}static{a(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((n,g)=>Math.max(g.length,n),0)*i,height:i};const e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const n of t){const g=xi(s,1,n),c=g?g.width:n.length*i,p=g?g.height:i;e.width=Math.max(e.width,c),e.height=Math.max(e.height,p)}return s.remove(),e}},vt=.7,Pt=.2,Vt=class{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,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{a(this,"BaseAxis")}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){vt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(vt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const e=this.getLabelDimension(),s=Pt*t.width;this.outerPadding=Math.min(e.width/2,s);const n=e.height+this.axisConfig.labelPadding*2;this.labelTextHeight=e.height,n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),s=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,s<=i&&(i-=s,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const e=this.getLabelDimension(),s=Pt*t.height;this.outerPadding=Math.min(e.height/2,s);const n=e.width+this.axisConfig.labelPadding*2;n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),s=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,s<=i&&(i-=s,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${i},${this.getScaleValue(e)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(e)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${i} L ${this.getScaleValue(e)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(e)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},yi=class extends Vt{static{a(this,"BandAxis")}constructor(t,i,e,s,n){super(t,s,n,i),this.categories=e,this.scale=lt().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=lt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Et.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},bi=class extends Vt{static{a(this,"LinearAxis")}constructor(t,i,e,s,n){super(t,s,n,i),this.domain=e,this.scale=Dt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=Dt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function gt(t,i,e,s){const n=new Mt(s);return ft(t)?new yi(i,e,t.categories,t.title,n):new bi(i,e,[t.min,t.max],t.title,n)}a(gt,"getAxis");var Ai=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{a(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}};function Bt(t,i,e,s){const n=new Mt(s);return new Ai(n,t,i,e)}a(Bt,"getChartTitleComponent");var wi=class{constructor(t,i,e,s,n){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=n}static{a(this,"LinePlot")}getDrawableElement(){const t=this.plotData.data.map(e=>[this.xAxis.getScaleValue(e[0]),this.yAxis.getScaleValue(e[1])]);let i;return this.orientation==="horizontal"?i=Tt().y(e=>e[0]).x(e=>e[1])(t):i=Tt().x(e=>e[0]).y(e=>e[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},Ci=class{constructor(t,i,e,s,n,g){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=n,this.plotIndex=g}static{a(this,"BarPlot")}getDrawableElement(){const t=this.barData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),e=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),s=e/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(n=>({x:this.boundingRect.x,y:n[0]-s,height:e,width:n[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(n=>({x:n[0]-s,y:n[1],width:e,height:this.boundingRect.y+this.boundingRect.height-n[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},Si=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}static{a(this,"BasePlot")}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{const s=new wi(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{const s=new Ci(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break}return t}};function Wt(t,i,e){return new Si(t,i,e)}a(Wt,"getPlotComponent");var _i=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:Bt(t,i,e,s),plot:Wt(t,i,e),xAxis:gt(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:gt(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}static{a(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),g=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),c=this.componentStore.plot.calculateSpace({width:n,height:g});t-=c.width,i-=c.height,c=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=c.height,i-=c.height,this.componentStore.xAxis.setAxisPosition("bottom"),c=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=c.height,this.componentStore.yAxis.setAxisPosition("left"),c=this.componentStore.yAxis.calculateSpace({width:t,height:i}),e=c.width,t-=c.width,t>0&&(n+=t,t=0),i>0&&(g+=i,i=0),this.componentStore.plot.calculateSpace({width:n,height:g}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.xAxis.setRange([e,e+n]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+g}),this.componentStore.yAxis.setRange([s,s+g]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some(p=>ut(p))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=0,g=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),c=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),p=this.componentStore.plot.calculateSpace({width:g,height:c});t-=p.width,i-=p.height,p=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),e=p.height,i-=p.height,this.componentStore.xAxis.setAxisPosition("left"),p=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=p.width,s=p.width,this.componentStore.yAxis.setAxisPosition("top"),p=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=p.height,n=e+p.height,t>0&&(g+=t,t=0),i>0&&(c+=i,i=0),this.componentStore.plot.calculateSpace({width:g,height:c}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.yAxis.setRange([s,s+g]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([n,n+c]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(k=>ut(k))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},ki=class{static{a(this,"XYChartBuilder")}static build(t,i,e,s){return new _i(t,i,e,s).getDrawableElement()}},K=0,zt,Z=yt(),J=mt(),b=bt(),xt=J.plotColorPalette.split(",").map(t=>t.trim()),st=!1,pt=!1;function mt(){const t=gi(),i=dt();return It(t.xyChart,i.themeVariables.xyChart)}a(mt,"getChartDefaultThemeConfig");function yt(){const t=dt();return It(ui.xyChart,t.xyChart)}a(yt,"getChartDefaultConfig");function bt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}a(bt,"getChartDefaultData");function nt(t){const i=dt();return ci(t.trim(),i)}a(nt,"textSanitizer");function Ot(t){zt=t}a(Ot,"setTmpSVGG");function Ft(t){t==="horizontal"?Z.chartOrientation="horizontal":Z.chartOrientation="vertical"}a(Ft,"setOrientation");function Xt(t){b.xAxis.title=nt(t.text)}a(Xt,"setXAxisTitle");function At(t,i){b.xAxis={type:"linear",title:b.xAxis.title,min:t,max:i},st=!0}a(At,"setXAxisRangeData");function Yt(t){b.xAxis={type:"band",title:b.xAxis.title,categories:t.map(i=>nt(i.text))},st=!0}a(Yt,"setXAxisBand");function Nt(t){b.yAxis.title=nt(t.text)}a(Nt,"setYAxisTitle");function Ht(t,i){b.yAxis={type:"linear",title:b.yAxis.title,min:t,max:i},pt=!0}a(Ht,"setYAxisRangeData");function Ut(t){const i=Math.min(...t),e=Math.max(...t),s=j(b.yAxis)?b.yAxis.min:1/0,n=j(b.yAxis)?b.yAxis.max:-1/0;b.yAxis={type:"linear",title:b.yAxis.title,min:Math.min(s,i),max:Math.max(n,e)}}a(Ut,"setYAxisRangeFromPlotData");function wt(t){let i=[];if(t.length===0)return i;if(!st){const e=j(b.xAxis)?b.xAxis.min:1/0,s=j(b.xAxis)?b.xAxis.max:-1/0;At(Math.min(e,1),Math.max(s,t.length))}if(pt||Ut(t),ft(b.xAxis)&&(i=b.xAxis.categories.map((e,s)=>[e,t[s]])),j(b.xAxis)){const e=b.xAxis.min,s=b.xAxis.max,n=(s-e)/(t.length-1),g=[];for(let c=e;c<=s;c+=n)g.push(`${c}`);i=g.map((c,p)=>[c,t[p]])}return i}a(wt,"transformDataWithoutCategory");function Ct(t){return xt[t===0?0:t%xt.length]}a(Ct,"getPlotColorFromPalette");function $t(t,i){const e=wt(i);b.plots.push({type:"line",strokeFill:Ct(K),strokeWidth:2,data:e}),K++}a($t,"setLineData");function qt(t,i){const e=wt(i);b.plots.push({type:"bar",fill:Ct(K),data:e}),K++}a(qt,"setBarData");function Gt(){if(b.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return b.title=Lt(),ki.build(Z,b,J,zt)}a(Gt,"getDrawableElem");function jt(){return J}a(jt,"getChartThemeConfig");function Qt(){return Z}a(Qt,"getChartConfig");function Kt(){return b}a(Kt,"getXYChartData");var Ri=a(function(){li(),K=0,Z=yt(),b=bt(),J=mt(),xt=J.plotColorPalette.split(",").map(t=>t.trim()),st=!1,pt=!1},"clear"),Ti={getDrawableElem:Gt,clear:Ri,setAccTitle:ri,getAccTitle:ai,setDiagramTitle:ni,getDiagramTitle:Lt,getAccDescription:si,setAccDescription:ei,setOrientation:Ft,setXAxisTitle:Xt,setXAxisRangeData:At,setXAxisBand:Yt,setYAxisTitle:Nt,setYAxisRangeData:Ht,setLineData:$t,setBarData:qt,setTmpSVGG:Ot,getChartThemeConfig:jt,getChartConfig:Qt,getXYChartData:Kt},Di=a((t,i,e,s)=>{const n=s.db,g=n.getChartThemeConfig(),c=n.getChartConfig(),p=n.getXYChartData().plots[0].data.map(f=>f[1]);function k(f){return f==="top"?"text-before-edge":"middle"}a(k,"getDominantBaseLine");function v(f){return f==="left"?"start":f==="right"?"end":"middle"}a(v,"getTextAnchor");function P(f){return`translate(${f.x}, ${f.y}) rotate(${f.rotation||0})`}a(P,"getTextTransformation"),Et.debug(`Rendering xychart chart +`+t);const S=oi(i),m=S.append("g").attr("class","main"),E=m.append("rect").attr("width",c.width).attr("height",c.height).attr("class","background");hi(S,c.height,c.width,!0),S.attr("viewBox",`0 0 ${c.width} ${c.height}`),E.attr("fill",g.backgroundColor),n.setTmpSVGG(S.append("g").attr("class","mermaid-tmp-group"));const D=n.getDrawableElem(),L={};function I(f){let R=m,h="";for(const[W]of f.entries()){let O=m;W>0&&L[h]&&(O=L[h]),h+=f[W],R=L[h],R||(R=L[h]=O.append("g").attr("class",f[W]))}return R}a(I,"getGroup");for(const f of D){if(f.data.length===0)continue;const R=I(f.groupTexts);switch(f.type){case"rect":if(R.selectAll("rect").data(f.data).enter().append("rect").attr("x",h=>h.x).attr("y",h=>h.y).attr("width",h=>h.width).attr("height",h=>h.height).attr("fill",h=>h.fill).attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth),c.showDataLabel){const h=c.showDataLabelOutsideBar;if(c.chartOrientation==="horizontal"){let W=function(A,V){const{data:_,label:H}=A;return V*H.length*O<=_.width-X};a(W,"fitsHorizontally");const O=.7,X=10,Y=f.data.map((A,V)=>({data:A,label:p[V].toString()})).filter(A=>A.data.width>0&&A.data.height>0),C=Y.map(A=>{const{data:V}=A;let _=V.height*.7;for(;!W(A,_)&&_>0;)_-=1;return _}),U=Math.floor(Math.min(...C)),y=a(A=>h?A.data.x+A.data.width+X:A.data.x+A.data.width-X,"determineLabelXPosition");R.selectAll("text").data(Y).enter().append("text").attr("x",y).attr("y",A=>A.data.y+A.data.height/2).attr("text-anchor",h?"start":"end").attr("dominant-baseline","middle").attr("fill",g.dataLabelColor).attr("font-size",`${U}px`).text(A=>A.label)}else{let W=function(y,A,V){const{data:_,label:H}=y,o=A*H.length*.7,l=_.x+_.width/2,u=l-o/2,x=l+o/2,w=u>=_.x&&x<=_.x+_.width,r=_.y+V+A<=_.y+_.height;return w&&r};a(W,"fitsInBar");const O=10,X=f.data.map((y,A)=>({data:y,label:p[A].toString()})).filter(y=>y.data.width>0&&y.data.height>0),Y=X.map(y=>{const{data:A,label:V}=y;let _=A.width/(V.length*.7);for(;!W(y,_,O)&&_>0;)_-=1;return _}),C=Math.floor(Math.min(...Y)),U=a(y=>h?y.data.y-O:y.data.y+O,"determineLabelYPosition");R.selectAll("text").data(X).enter().append("text").attr("x",y=>y.data.x+y.data.width/2).attr("y",U).attr("text-anchor","middle").attr("dominant-baseline",h?"auto":"hanging").attr("fill",g.dataLabelColor).attr("font-size",`${C}px`).text(y=>y.label)}}break;case"text":R.selectAll("text").data(f.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",h=>h.fill).attr("font-size",h=>h.fontSize).attr("dominant-baseline",h=>k(h.verticalPos)).attr("text-anchor",h=>v(h.horizontalPos)).attr("transform",h=>P(h)).text(h=>h.text);break;case"path":R.selectAll("path").data(f.data).enter().append("path").attr("d",h=>h.path).attr("fill",h=>h.fill?h.fill:"none").attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth);break}}},"draw"),vi={draw:Di},Bi={parser:mi,db:Ti,renderer:vi};export{Bi as diagram}; diff --git a/assets/images/codeanalyzer.png b/assets/images/codeanalyzer.png new file mode 100644 index 0000000000000000000000000000000000000000..93cab6b32b56689a72feed803d80527ecb2636be GIT binary patch literal 33069 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

    iqrpI|C|Qg&ZFvHAb;q1@usr;(?|IajbHsA D$z4=+ literal 0 HcmV?d00001 diff --git a/extending/analysis-passes/index.html b/extending/analysis-passes/index.html new file mode 100644 index 0000000..4cd4b2a --- /dev/null +++ b/extending/analysis-passes/index.html @@ -0,0 +1,166 @@ + Analysis passes | codeanalyzer-python + Skip to content

    Analysis passes

    After the symbol table and base call graph are built, codeanalyzer runs a pipeline of analysis passes. A pass is a whole-application step that can contribute two things:

    +
      +
    • Entrypoints — framework-dispatched roots (a new framework’s routes, tasks, commands).
    • +
    • Synthetic call edges — dispatch the static call graph can’t observe (e.g. an Odoo ORM write() that triggers an @api.depends compute method).
    • +
    +

    Passes ship in-tree, and out-of-tree packages register their own through the codeanalyzer.analysis_passes entry-point group — so you can teach codeanalyzer a new framework or a new dispatch mechanism without forking it.

    + + +

    A pass subclasses AnalysisPass, sets a name, and implements run. It receives the current PyApplication (already enriched by upstream passes) and a shared AnalysisContext, and returns an AnalysisResult.

    +
    from codeanalyzer.analysis import AnalysisPass, AnalysisContext, AnalysisResult
    from codeanalyzer.schema.py_schema import PyApplication
    +
    class MyPass(AnalysisPass):
    name = "my-pass"
    provides = frozenset() # capability tokens this pass makes available
    requires = frozenset() # capability tokens it needs satisfied first
    +
    def run(self, app: PyApplication, ctx: AnalysisContext) -> AnalysisResult:
    result = AnalysisResult()
    # ... inspect app.symbol_table, append to result ...
    return result
    + + +

    Passes declare capability tokens — free-form strings — in provides and requires. The registry topologically sorts on them: a pass that requires={"odoo.model_identity"} runs after whichever pass provides={"odoo.model_identity"}. Ties break by name for determinism. An unsatisfied requirement or a dependency cycle is a hard error (PassOrderingError).

    +

    Passes hand derived facts to each other through ctx.shared, keyed by capability token: the provider writes ctx.shared["odoo.model_identity"] = ...; the consumer reads it back. ctx.shared is the one mutable part of the otherwise-frozen context.

    +

    The pipeline produces a single enriched PyApplication. That in-memory model is what canpy then emits — as analysis.json by default, or projected into a Neo4j property graph with --emit neo4j. Either way it is the same model, so your pass’s entrypoints and synthetic edges flow through both targets unchanged:

    +
    flowchart LR
    +    A["pass A
    +provides: model_identity"] -->|writes ctx.shared| B["pass B
    +requires: model_identity"]
    +    A --> M[merge into app]
    +    B --> M
    +    M --> N[next pass sees both]
    +    N --> IR["enriched PyApplication (IR)"]
    +    IR -->|"--emit json"| J["analysis.json"]
    +    IR -->|"--emit neo4j"| G["labeled property graph
    +(:PyApplication / PY_CALLS)"]
    +    G -.->|"no --neo4j-uri"| SNAP["graph.cypher snapshot"]
    +    G -.->|"--neo4j-uri (Bolt)"| LIVE["live incremental push"]
    + +

    Built once after the base graph is ready, then immutable (except shared):

    + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    external_bindingsOutput of a routing pre-pass, keyed by target PyCallable.signature. Empty for non-web / non-CLI projects.
    resolve_base_chain(fqcn)Returns the transitive base-class chain for a class FQCN — used by inheritance-based finders.
    sharedMutable inter-pass scratch space, keyed by capability token. Never serialized.
    + +

    Entrypoint finding is a kind of pass. Subclass AbstractEntrypointFinder (a thin AnalysisPass), set framework_name, and implement two predicates — run is provided and iterates the symbol table for you.

    +
    from typing import List, Optional
    from codeanalyzer.frameworks._base import (
    AbstractEntrypointFinder, AnalysisContext,
    )
    from codeanalyzer.schema.py_schema import PyCallable, PyClass, PyEntrypoint
    +
    class MyFrameworkFinder(AbstractEntrypointFinder):
    framework_name = "myframework"
    +
    def find_function(self, func: PyCallable, ctx: AnalysisContext) -> Optional[PyEntrypoint]:
    # Decorator-, convention-, or binding-bound roots.
    for dec in func.decorators:
    if dec.qualified_name == "myframework.route":
    return PyEntrypoint(
    signature=func.signature,
    framework=self.framework_name,
    detection_source="decorator",
    route_path=dec.positional_arguments[0] if dec.positional_arguments else None,
    )
    return None
    +
    def find_class(self, cls: PyClass, ctx: AnalysisContext) -> List[PyEntrypoint]:
    # Inheritance-based dispatch: one entrypoint per dispatched method.
    # Return [] for frameworks where class-level detection doesn't apply.
    return []
    +

    Use ctx.resolve_base_chain(cls.signature) inside find_class to recognize subclasses several levels below a framework base class.

    + +

    When a framework dispatches a call the static graph can’t see, emit a PyCallEdge with your own provenance token and carry the reasoning an LLM needs in tags:

    +
    from codeanalyzer.analysis import AnalysisPass, AnalysisContext, AnalysisResult
    from codeanalyzer.schema.py_schema import PyApplication, PyCallEdge
    +
    class OdooDispatchPass(AnalysisPass):
    name = "odoo-orm-dispatch"
    +
    def run(self, app: PyApplication, ctx: AnalysisContext) -> AnalysisResult:
    result = AnalysisResult()
    result.call_edges.append(PyCallEdge(
    source="odoo.addons.sale.models.SaleOrder.write",
    target="odoo.addons.sale.models.SaleOrder._compute_amount",
    provenance=["odoo_orm_dispatch"],
    tags={
    "odoo.trigger.op": "write",
    "odoo.trigger.fields": "partner_id,pricelist_id",
    "odoo.trigger.model": "sale.order",
    },
    ))
    return result
    +

    Core never interprets your provenance tokens, detection_source values, or tags keys — they round-trip through analysis.json untouched, so downstream consumers (or an LLM) can reason over them.

    + + +

    Declare the entry point in your package’s pyproject.toml. Each entry point must resolve to an AnalysisPass subclass (or an instance).

    +
    pyproject.toml
    [project.entry-points."codeanalyzer.analysis_passes"]
    myframework = "my_package.finders:MyFrameworkFinder"
    odoo-dispatch = "my_package.passes:OdooDispatchPass"
    +
      +
    1. +

      Install your package into the same environment as codeanalyzer (pip install -e .).

      +
    2. +
    3. +

      Run canpy normally. discover_passes() finds your entry point, instantiates it, and the registry orders it among the built-ins.

      +
    4. +
    5. +

      Check the artifact. Your entrypoints appear under app.entrypoints[framework]; your edges appear in app.call_graph with your provenance token — and likewise on the PY_CALLS edges if you emit to Neo4j.

      +
    6. +
    + + +
    \ No newline at end of file diff --git a/extending/overview/index.html b/extending/overview/index.html new file mode 100644 index 0000000..951dd1e --- /dev/null +++ b/extending/overview/index.html @@ -0,0 +1,89 @@ + Extending codeanalyzer-python | codeanalyzer-python + Skip to content

    Extending codeanalyzer-python

    Work in progress Help wanted

    +

    After the symbol table and base call graph are built, canpy runs a pipeline of analysis passes — whole-application steps that contribute framework-dispatched entrypoints and synthetic call edges the static graph can’t observe. Out-of-tree packages register their own through the codeanalyzer.analysis_passes entry-point group, so you can teach canpy a new framework or a new dispatch mechanism without forking it.

    +

    This is the youngest part of codeanalyzer-python: the mechanism exists, but no concrete framework finder ships yet. BUILTIN_PASS_FACTORIES is empty, so until a finder is written, PyApplication.entrypoints comes back empty. The frameworks named on this page (Flask, FastAPI, Celery, Click, gRPC, …) are the roadmap — the shapes finders will target — not detection that runs today. Writing the first finder for a framework is itself the contribution.

    + +
    + + + +
    \ No newline at end of file diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..4c32c517a9f6fe2feb0eba0704fdb207dafe9924 GIT binary patch literal 89973 zcmeFZWn5I<7e5N)poEeF0@B?|3PX&5ba#VvBV7`MfP{2ONq2XL3I<3sz|f*d4k)SQ zJp=0F@BZ(7b>Ck7h~u1d)>(VScg0@Y2vud7TiE2-XlQ7+xY5Az}63y9-^Vu#^Rhl#sL0JV=k+%goftJgoYLrf`)bsd=<2YhURe(4Q;~|4NdqZ z8XD=7%r-R<;DV~9uAG&U5*i!u850eJPKb65_=FDpMtg3H2EP1^h6YdqeqGB!|L{h~Lj&>IYU;Y{Dk%z^J3Decws1DHT7N~n#)_T-J=u3rlFw`aka1# zR+p0g{W$P1Q92uU_b0;K++JQ@Twc6f&aT$n_l1OnxbN|B^YCy2cW}D-IJrOe=5%tS zzasL7j+CXFxvT9HcUxyC8Wi2fX3ie&qI7hq7ybQp#iymW?SF4_a{Ik3V1eAIE8O?F z?s5M=J?3s}_5bo1>dMt)m+QKEod}AUu&S-MrGuW7t)r!r8^D^_eV%*wL@wX+e_Z;H z(|;b-{eOS-pG*JuM3DXi*GXg!`{Wh+%7IBW|LhLDA%-9%_1{Z_VEbGSos`{8;_8wf)Hf zn^O&}Y20UeO>OiDLz7Oo2gD|gVT@0lmq&mvi-;C&$3n-D^5HMJJwP3Ot5z^C2!oiQ zko3`dZtAB`DMA;E^I%!TykfhT(=XgAh~Mgh+p9gH#5BKbzwK5l5qu~bI{5$p@&82z zum_ke55Ny^V$uXbJ20LOeM4wwIF0*;IkxRIu^RDj9$JZht5E1}|75V>nliPQ34iwr za_0Ffa}tv(V1CD2FllX!VQIh0VCTNR!O79}9l7R(6SvM)F>k64Yr%8Mj_iZ3$@bHT zMSW+7vz)5;O+H&b-~AlPD0&GwsQfCTYl{LI_|G~I-;4ivdbW}u+gY_}K433UR`)!s znf6SSkMMK|QDb(ef4x|}p7w0uuC}eDKwkFq{rWezs>{<%0ItzMmp`zGM#QM`0Arx3 z1PNCdn~p~fHI2UB5oqO_?T?+=H(V(4aUS1Ce_$j7A9t^TDA_A}ZU0yqZ+O~fOnt(c zW!(90)lz?vsexSsblfan5jd!I_RKhc)l$?XpFvme;@cEvo=DT&7J+D>ZZ;0yW}{5Q z!drc+Q;|H5*=NU}yrJ2wM|jcG*P8UjS6k$Z@NGG+*utb4K}SbM{XiKiAydr<=W(NY zN>?GjGU?#09K5>XG7J^91X~Kq5T|^CJF_+j0pXu>^4;x(lfrKvp}|71*4&EohSP5( zt+lD-F6OV6ADmJ#zSrJtgv)!+=euNjO@$$2a%tP&Dto;4{l^{1@khi+E~Q}w+B@Cf zW<9K^>KGh*y;$##|5K5%&~s#`_XLOzpBWuL6pC0S*4 zMO%3vs<8tyz{f*ptP55kcOD%UKWO!q9GpFnUofd=IKP#QeiF+>iu3K}7uatdVp>QC zfwisL(!=OR9>N|46n)E`(MsJ%=HX=-dEhsdOVfy?#%oe;5tT`!!FsV-TD8>ZHl-O) zswWu^bT;<(cetDbt2t@|S!)YZeg0a;IuQ*lxl63@5vIF#&Z6_8Mt!PHKv^nF-25|( z0~IYygKXSLMg4d8sAdfSFZ@QJ(8kO%NcpuqpLo!HGJ&QrHEB2ep73! zS&?q>C9OUEmBm6uz_O-&`PAVcm=xyiZzowsv7L&kRUL-tJB0;s7Yf0FrwNq35fjydS5JS!Kf@JS=XfgQP@%DDw;hQQNy<`dnePki; zPhJQy?g1U@l?^6PA}e?U?@v;bdYt5uwkO^rMx*EYECheh!^Q{@{$^NG5L6g!byBt6 z>2TE1?4MjRBO`v1j~Bk+&KIM7DbxwpC*{(%XZK`nw00Uzrm+PLS3N7j{^&4-4GLn{ zG{%;p83HYMaMu{Q`OL}?Rqf8GTWWY9qv&wyvGLe*#XDinw$?v3SJ2y&Aa|?k zr!XyN-!*Z(m`-Wza4g*!;q);2=AMPtZy#;=JwM*jyxW7vra`-2=HTquMp>Mm-ab(0 zITHP(VLr;XV8@zG5)}<(TL2A(c+q^O9|?!r!UEHG>dyA@F0^J!0}7k6Mn4=@TUH61z+zu|V1A| zu-P|p8L%|!GtFLETTN|{w53sbNIw~z-?J%eqo1OiYPGwa^e3si2jV>P0v^fRQtm`M z^uviTL)r=BBZpC&cj)owBS|fzWuHhKX_rg<0nTTPos7k* ztnaHd>GOsTp7ic;dMFKJHsvHf@sQRza9T+R2njQYvZ{B zzy4;zOo@?j!-Ns!{`KlBca0N4C)EA8$xA0~s+iL$jBo`<6`&i7h<1*qgX*z}HY7#jnOf3(fHjm*bK zhmFglJO;pY zcI!t~@!~?kEa>ou|1WRuQzN(3GYKm3a%1aqhe8V9Q{q>@8Ak&c$68~M_|y`_l*&0& z(`@s64^wU{e}L+zSH_QK@SqGT0?;lwTDICzzwmV`S~e3mps!M%YF?>|c(MVFljjlR z$j)v_H&Qh=7jGJ$yGDumjO_|^Y-EG3eGY5UC4-fKJJ=6r2ef7(2fQ+J<+f^YMbWDm z*r3!i+et2T`g%79((P!etU2NmuxVE9uf3S|T)6>zK#*9K$6i+K8oS|9wguT+bGQltOu9csF36KaU6qii}K~ zb~X@iaX+kV`P*%jw@BSXQYxRIbmD-`!n%v6#CBe^LFlCc!H7H)d%3!yF;hA?1V$pk znK>Mc_0oL4+d9WW-8^OSdd#gin01r;u6UE81K@_xitVB4UG({(_Gw2M*2f+N#`8{@ z{JJ5Rm;`MDcg$D!e#l_Ew%yDr=nykZYK_o4rt;SruvF_Q0BzJqYX9u2MhL+lDuJET zMWb$9g>C{IKrDAMH|n^Sj2_o^3aldiXULvD^KA2Y#z1xTatj$KeQjA|IweoTgn#q8 zcD0hRztLj8vvb=`0SD!tSx0g?uUFJsJocsSU9A$+m-dAQdxs%w%J1}!1e1^JNyTE_ zguRUI^Bw;ggq2hII}8Nq(g+`cUa#0TszG$+Dx3w!IgAAEyy(D|zPGoQ6O<6&J%gq;}_3^njw7s+n?n7x=gb@k9z4@ z@-E}FY#m^C3`bP8?OOK^7VjL#>n2GNnS|T00yl zm7gIlgb?l^5l268e6(lb-zi{LjF}I!$_QH@KKsKc)lo&1~yztd5r{AZ4uD zM&f?k*)72R?9igL2<{NA?Wu6t1+Zr+iKJ87E)ZQAS%X~9?6Z|JE zGqz{b?*@KB(m?VSMwK5@b+l&%Uox|&`O8kA#L5h$79J8=!bGg9`b*hGtmY~cy<0LH z)XMkcqiJkVK93GI%<9e6}uR=L8Q zQf#Qs+TMx%tB=&;hl1T2EKA4$BbA>%O5Xx!teE#y9`D%_UYdbFsP$OeoDeBs&KE^ga)atCCx)YXl>#xK;NK&o_cjf)7rR3PVowrz92e(lDB|QvW*Q z^tnK?hzh>LdyW!-63B^`2;aQx(1k>U_MSdW#eSulo;T~3;UDrxIL)@sw~{XNuQ&#DX;a41=J3Wr&_eR@ zmZ=g6B!{wqa@O!c-z71?I1)i^Ar4Zh1Y)Ie&2L?Yl%4DD2q>flEs)}s$`xx&nz}|T#5PSz%Fd$sb`V5vYIUF&k?A}CO1^8d4yC-btJUM^k!hkuAK1~1;wCEdYhLHHzBBZ4<_PSkF` zrDwRbXaS&*u_I#W>(w*`!h&a0zDIMg3fmh_b8^PVzXjGK4U#vV&r4JeoHCPEa<+Jz z{RM|5{vczN0OI1Eb~66czUKC&us))|Va~5ttQ6`Jzc{;4%<0wqj!*Fo$|~?}Bmm4MvT-1EgZ&D4Zq}TY zN4e1aUPS%PW%dX}OgV7Uix#QHRqhN6Vq*zYLv+j9$+gf#b}#$wapJ$)`wTEdxBv_3 ze$^vl!lGPH#9{64YkpL9gspOwS3qfCz}n7~u_{D~?g-Pqms!#tjBPC8u`v-G7cIG} zpcu3PUd-BKdZtKO4uARck8YASB({$q5BS9V&iFqPtAaL*kDV5|TRCZVr!l=x-hL?Y zSKTu|V-&bgfO+ZRC_^G&Hd~p-0(+5iAc_y9#Y8-73Gh)D0Wu8?Ip9e>c~eTbI<3Qt z9${Fm58TdEyU(DT)8h#A4E3To4)poV=o_Gqw?|6K>E$1_r+n4oIf*T~TFG=~P}i60 z#W~@Q7-%QRSA4~AXu+T#;Q{1^omQ{RbA5m4;sJsUhXskf_W@|Z-q49FK&W4@1Xn9+ zf0eqd2mnT+F<*Gk(mR{)nbr=^VBX!FWdBau`F=rAWa->+=X%9+6eA--=$_YwtyKo2 zu|NF~?XyOJ20h@_U$t^a2lc2?h5%?Vfl>9aNpf^6^>`uBvyP5=rT`P1O1u%YwzqP_ zu{P^7mAw31Zv;TiLM`ZVz24RVxT&>$xVxmG{!EX)T1;-24Mr*Z;Yv1q^iMM8%fG%E z&OjtN;+M!kcdD1XZH#Sk+Ka5?1MNj;Yj7_`Y>fi_cUk(I#4k77qoU53_k>RJ1rUV` zgO^K3u|>%JBsS{{+X5mq!Wrw9Y;cd~ua3%zfYsPYoU<4?%$IinVZtf^m+04zWiII? z_h>Y*Es{1$^Oq7g!oto{{cSZlTIkLfxRE7>)}-rGS(PO34>2d`bNq*qSqp4{~ZzeBs9f&KjOmT7(X3%&!uA<>i_7t$n5u#;JE%EdWfZ)8({ARFT{F%L|sR znkdWF+em}JNxd8J(9nTMKZJ?GS->zjL@^wY29ya{qh(%3;`oPcjB^Zf505m@yJAJH zRc(nxLh+YXE^reBqk;R$iusCG$65A~w*QuM06l(a(BY%(>aXjJeF5EXNRBJ>N)m-H zHN`|i1LLo~RV~G~lr{7uD{hC10$6o{mIfJ0sDOrgm3yYPRAO)NFF9$@eSY!&;u{u- z0E;DJW#3J+bfAj!@Yh9jiGCTXhk}1c2Fl#*O*8Ts7SP@46z~7a6Zdfa34>-V%5DH+ z_wiNh%G7;Eni_cLi1Mpq4h&L?W|Xjz<=^`jffnMQKEkw@2lvnIl|g!H0ds17DocEg+K@L&Gn;T;UU0d5#>t6o9& zOLSl40O|V2D=6nd7jvi2FUq?GR{pLLi2*T!pzk0|g#v%$FZ3HmQc1cF<&*5$+i%*< zy3Z6(@TwQ~`BP}{D}$u5&)-RJ&A)gTIhi#BR7mZh7d`z>i(VBg^EhV;k&jN;KbFUM zpcDU2G7Zp;@>V?NmyX`yjrb_71-$fWw?CcIi-fv^$gygUrfn+v&aVN)hO*NCA(pf9 zS_?hd5$KX_evjeTX{OTN-2nO5W-IQNnRh~e*9^VJIaY^#gBW^b z?%l2n=Q^oRY(1zj-Ho9iClHa#{cp@J&WB_q!6=Ip#<&AZ9tw!oDsMYEQ`oaw93wp$ zHz&UH`j6Zyzu(f7lA*TIECdt7Z9ZDwLr zL?OcmGV)yH9TDEj6=vAP{X9-v{;Vg^`z061e^j!(C|U zR&qPir|AuU=8LgR-D-EClPbIUx*zEX5bOy!N%ufF!cYH~ut7=hmg<8>RW?B6ag;zM zi&)?MpkLO0v+G`Vv-2j-30b_B{G%&}poz1A&6IT3woRPXAf)#>c84d=-~XC9#~4g` z?THyew}gxweGIX%X>Dgp+GRzB#t-3WsrXg}`T2HMwTskcS??9(j2|&7|1Mk$B$l36 zGE{?LxrN*M(e6H_(w!XUu1A_3%wyx2*6l04Tf^x~XPxV|w>eQxmPZQ6Z~xnRg-gtE zs%KLoyyeRn0;(VS+r@G*z1zD*9EO`$whuj%P4vGW)phtAuiPguH!4XQ=Ylz>KHr-6 z?G~S_04IP{yS&jcZt}*1IE}SH*T=SqvQjvPF`l@LFI12wXTWeucW}Xk%zc%=hO8Wg zX=wmNC9iKgSN%%s#X-qcLZgY7*nz~&h=fjlbU=uL&oJvcYQ-@$pzgxb+h2R0lUJSIJL<;qRVVb z34muui8sM=7?ZefFVa1KE{LrAc7*>{4dx5_90F!Rtxtzd=w7oAxMkYc9&~%;>g-vh z`9taZy&{`j?IcaF!EV^)d+L^ZeVNOVI!8qsXsiVsYq<$SpJ=&prP0yD1 zvM)hSKm&t^YlltUVzS@qM}*Q%)4sjQhiU_(-k47M)1cMv1Oa6J-=Z)B2i`pGuHS5; zZ%BN4C$a1Kj?%3RY#;+1>?ik21$t>2UHzy&3V@0XHFdK`9?cy!AE#Z7Q>OLt12IxeQjsI55zE{LeQ?*$Jf=2d8`-5#<*g)hSFwW zzB0lY=N5{c83rh*Tq(|$vuI*Ryh4sqWs-t1by8rA>$e0j)p}-aS2mI0dB-Pwz4~uB zePec5w+bw@hZZXQ^R6Y2q?0*?CdKr;?8y?ab7tlC=zf106MFU!2Cl(eFrHRTI2UhH z?!I<0v7-HL_cZs?f|_seXAjTq=A2AglrwHO3W+U>4j3m0`b8fm8t4DKFn~-LMcCg! zXO@8Gla?QQ?TZaYc_`C?m}F7XkOEMIcA2SZ&8JIs=1o`8&&Bj<0sIHQ$-67|WEhq8 zAJxusjZm07-@8;A@B=0d=F=~z$Ufi5k#@1(hqhaH1;%WWD_9`8+jUrS zwQPFhJP2M&EuE~$An}>JvZcaP0Z!q7-qhziZwWYcEmlo9ijN}R8d1z8z<*~uG@GCW zuKoPO+Iw~!h4a>~=9=iip%sU~Xn7oIYvleOf^+L0# z_#lV!+^-Av=3Amsr}d3)2O43W%>>DLSNwhm3L@m4`k9`kOX)7&4|OxJGkcu7C|7TZ ztcFlr&#$+#?=GKEhdE@*p+~!R$bDQsD;t=LP6OwR0wApiNFfb*%uH?!K-`Gvb?%7| z<&Lj(`+0xc1k{ue-MM*Pxi1??(@f;{DX%lznw4-Os%0cSM-qGRxsxfzMOgc4Cf%2T)3C zz*=jMm(j-XJwAg8)jMyzpiYdkI#7bPU%jBjWJyK4e!Tx^THfGu*yiF3ehQM8JH-cI zk&Ue#oh}@?mIC>od8TQAg0WL)oUwy?lCh)B1$4RDH4mtAY`&YQscK>eZ?fiMZ~yvQ z`V&TDloz31t%$R>I~&pG8s5}iMYf$Ed#&Z+3oL5`jzK_^j0R6R8Inja-h5E9Uq)E+&y!Y<){jlObRLez75J7 zb2ssuF=lrgw@$>=XenPLT~==Egn;o?oo6=i139m*^|~1Uy8K@()+1~&y3rv%F?>|s zU2pPaBx9*6d$l;V2tg5SkrKAJRh;$IX(VxJ+kw^HnKZ?@z8N7@HKs1)fNI6`DgqVZ zCt-$)CrKUTs=H;}6}zmYuog_4V*h9^zgD9kb5(dP@MFldPx+dUme*j}+Tug4>Kg;n zd_4i0-Hp?B{71cRXJ@@{*Ns(UMNivSU+=t6sWvEzkDgE0snWRt({Oims@_1tg*(gg z3syBWWuMTDmV3zSHyyT~Ym3ZDeZFrJKpzCv1O<+-j^Rmno|$_0oWEI-R;!iK9X4E? zguXP??TPB>AsvAcMr`{l&*K)S1} zc!cz^IL~yp>Wmr3d>adNh|<9ytBl3%I$JZ7Z?7iNu#zzJ2KP=+yPb7%$q6V0I+x<@ zv(8vWDi&=lo+iT7_mO)2zxTs+XQ%fwT7WnT$S0Qpd)4%txsHtV}yluNLFhRgL-W+Zny} z(o!BCu-~$Sz~@tcrdSrDySZx|S#Q)Or6>FD%0FQxOBrTwEwp$k9UUEwrlIaocI?R^ zSHzuJTae}*tibj@!Qvs0VtzlBLb#|va7DpU==IzmfCCO<+bnyWK~56SDUFM+!3W9~ zxXc^+tl+v2L4_FSw!*hu!WRUeZ}1-d$|=x+E)MJHlpV?^=&mEp^~0drK*CelP^{n| z02^xKQn1~#(GCVTjNkr5Nc^JUIEs)saC9-SGzsa%dB)?K=U}KIIi=aFO?tMt=id2BU_cV+&e(H zc=XvbOy;z+C*LYi10n|&fbOhY-_*OsA3~^^i)(E8Sg}C%&Tj)EaBH~Wg|>mEA~vbB zWZSt6A<8fG@JHHRUn#*A%``mZR+99amDaHXZeZOXH8U9iuGPen=(f;sMp zk{GI!F}$A?TTSTa=m>q|l;7OGAE57t)!0n2Pu2d|eWHrIZLzAE*y+L62CMiNRL6f< zz%xgBv`gkBp?dU0g*r-Pj4o%V!Jd!Mo*IIfPfHOP#RXFI6d<2YI`GO}q%LpI%}TGc z8qK_ev-ZOH-c&zh+tZch^k#*yls0?wyIi@n_^4jj$jSo^c~Jo^FRzT{Du_mKN?AY^RHGPlS!HS^)EP@g1 z!Nz1-BV}1ac3M&CmzXp)U1*TrO?!q@AD7y|R9yG2PcY>-5T0+JH@D^`g{RMx11>ak z&tDAam@PaGNd=)(O1#Q}D6`$y*5px)SZ4i|sZ_a=j88$C;p~t;iTRD3;)K#ryEHIc zBY78_@bNEF%#tQvW}RPvNsl^VQvG|zd_Zt0(Tx`Q219=kmj z;^bxfu4R^e3gOr^cB`@0H&TM;DSC82+h9ZUn&>%t=adOmK$gNXdM7CbUF!7)2~`RRwh5`bUIsdN}=rjq+Y8{Ec3`E<)9^_2{0={^?^;>XS+V(Yyny$=&DhS2qq$yVUAWlBGJjc`6FvazzRSjle_< z56wt@&rZT-ojH8Mbopq>El5TJV_(m+Q`!tUC|eQYN%NRKP7NIy`$M)ZNZJ^gPl=?i zr;p!%^+NA-;k+VT+it(7nSEex@P1Ux6Cinv2g%RRbQs%oIBtJfqlMIZ z-Q!9jv!l(Uv*S+nZaD$Q-7LwG`=~vkNhN_`0=*p_3tlr4%Fh$5ISiBHZ1zdL%eW&R zk+tL?Om}@CBp3VT^c}aKoNbf49@sNh7d7hM&agIwLhiqw<49f4*_qu;(7xz@fOWYO zjmkYff@AgyC8|3WPVjKtRev;m)LvL$f}+#6HBZ12A8))*!Ios|GQVEBBl73oZUj_yjfj z^2XTHVhAClx#o#vf0-ab{Jp8}X(wgHti-x8@nx*~3G_%KO|liKMp2FRW|NJI$pI#l zcpYF1uch-F(!MQfx>ZtP9{%!omk13Mk7W~6q5e_qwxNDWHYZ(qYGgXeh-^hY`?W(V zC+|@{S_--#XgI*JM6YAu=mIh6tl)(0>k$Vk%oprA3Sj<`{s3LxlkN?|lU7gYe$wx) zLm=wY!iY{2BQYpc2{-3wWIlSZV3$>zEKTeZ9(_L6u~tHrV&s4dM;|m7rYxIvD^fP) zaE7YM9)mk7f!5f7-83n%EuON^A4l?gzXO_p(MEbqy4t?wjvU@j{_1H#cbJ}~O68tC zBxPXB0K#NI4QWZVl}+!gZq&WzW@0dW^Fn(mwoU50Tk>d@ zy-?G6`Pe%I zXatf0s71V|ytBR6zT)OtD{N=?Ns_Sx6P(n7Ev@Sh$D3t^uWYwrmK9+CDVk{bVA}!R zeyQJ(6Q{cE&$Y2I1i6=xuhpEnDahR~Y`XB9P(uwf^gul>8uK~HHE*$L!aQ)2^!V_z zCbU$JV1%sZ`KL{uhtAoJ5508Mmzk9RP&VBIiRtJ%>NWZPMmlMDxh4L zfwh$q0`-ZvVGwxo%kBGqJj0~&%A`oDPg6!QSD7}pmo2XL<5Z1z~{92y+G_rynKo$pOv3Wp8d4~ z88FGOw7$&k>a8s#Wofqjdty~W`$v{NonCXKdZ-Rj2nW#Ru~?Fh(%IdBALpH8dEIr; zU?k3`O8x1kBZ*Kw@eP4FlZk+_#919S#zs2TJx@iC9{;9f zo@o+5q&6s1<+Y=A)X-h?>R&>ZjV?bo8H(U_aRj}r@k`R^ie z2*-v`o7LLdmikxE&<#nj@DJg#>?xfa^TQ*kTk=p=Rd{IOF}OD#WiU-WK|7r0z;CSZ zJcv+-e_rdmp`aNxclOuwtQhUl{|rk6W|l3k?q;4ruY{Oa`0%R-ruWLTcyaxEUCKEd)rOluMj7i?7j5nb z7O5;%cUduOU!SiYo8r?)^~^7UN{Zp$`_-u7Ix!>lpZC8-M}K%4Y?sulUkD-U3WE?S zqxAv=ZOQ?HO|AmQx-Rj7tt-f>jqs{>%~nwim}{=D12=*L!a4MEBy0cy-Pi&O6C4k+zUumUSrE>YFq1STMaPRhI7vkB#Y z-JVfHw=4rdR!4!o8DYJ3S7+Vkp5~u@N6Z4X%l+SmJs@Aa;1l3xbsP)WX$Lxz2)T&V z2Lw=>GyqS9;m)r|R`m`Q{1HRjnwS$5F+p8D&#-2OOK<9RXKiiYEGCiv-7p8()n#8Y zDjoiIlF9kGENrNQx#7ZqtP)}T_SyFCkQB5MNS`qPFs0mBG3z!d`wD-9tEJLNi?udz zBA8F_Irp9CXezEONB57@qrqIj@@D}mMu_i9oeggvaM!a~pbtJj;8xl=H)Ha^BTHW< z_)r7L6W2W;cd=XTJ1Gk+H1Ni$WZ5oNbo(*XXT+bqV3!qT$ydTObpys3KA8=5^=aW| zJi}h~V5|)=Cd1@fb#HuPm!k>f%D~u5Qn+6?5KfiG8%=U2;MxQ_N*<4~yxVKGkSrAL zUZGkTE5CQjF6Dl2)+_n2F0rxO-yzGOMxO%1{n4ACZ*TSI-qEq5=9TUM$V|LKLHqK^ z&bnQ8jXSnZe*;?vYW2+UJ9sN?I&6CqPpCQRf zN5tyRt#4@GmFEWvMwl!od*axP9R?)mAhnT-KF8`^x*y9)<2p88h&TRa zFoUS%W=nOf@2mzQDbUf$$k;g>dQT}5m#14F@Mt@e(j=7et}R>O=Mi8sC2Nj-X+DMy z%V^LyhS26v<~&|S(yu(crLa14elMJr=#Lz2s(a|VqrdeXR~^1J8C?iwbyNr1*{Rjd zqQFcaYODwaaT~Wy!P;4>oRv*I&beRVg0jYq1=ByG;m@bmITkK#@(vSajXgRbn18Lj zM8y=S#$7u*^_l60E1j=R+C>G`lO}sMtvIqqNuV@{${Lm&Rk!N6*?bQ6G0XBIicfAFhHvDN149t4z@AFj z+-qPO$VlQ`{sUa~sW<3oLK-OwFWkQIS?l4)KhTQ?Qo{mvX`BaFwnVZ_tz3^-MmpyW zsG8;-THE;}H%fq3@EALQy}ezxn7G`1+9gb4G$bm*@+1jI5UnOU9cR_I+8`2T!Dhev zf53W$X+}Cnx(mt&f{Bu5J#&sfX_cOBEN<`&`SVdv+I%Bdc}4)uaReDkObhf!cJg zxklVZesR-3d9%!9_=gkjdf7=C(@X&7t7HD`v| zr(vNB^m{p`wv37(@R0v;mR?2FD4A}}j!n{ty*Y{A@tYr>20jy>wU*oG`}{FL0tKB$ zE!ycbqKkded^MrNPSC-71taz5#?z70-5^NNS1s?Mq|0$8l(+P%FWo+}v25&AI|(s~ zwtQ-f-H$kIlRQbYwIg(Vhz45&x(khnww6>*&G?%So$Bpv`h40IK9>6rJc}6+m6R+p z{j*w{Zy@%$ns4I%)`PRwW>mJzZ^t9fy=>Z&o0+?4`2da4kphE80tsH+-?=|{A+q^S zTiT=h)HP*6!ULWW+dMx7nC$SdUj9`v42*sIM#m@It8P(8y)?j*FJTyAJr&EP}K#asA0mjF88DF2O3YsQd^f;|4= zWVF@9&CFqiI@*8>Ojp`z+_-K1!btdMumG{leOfG=2`#ttX11ZHNoL81YtqSr#m{jTZ`1vh$LW^V*NI1iTn1CyA}~1vy1z*hBlHe zw+T{$wtabc>~7$4y9HvEWB32(V6w4LR8g+K$4JTNvMe6rq!s*KP28?sE47tElI0a0 z5I`(JPw|`Qau-;A8iT)T4a9vWSwiBq4Fz~5=zQkU5dIU0dO0n=c8km#(bFxV)c zuF0YBPSY(JnwRxZ=kKAf?_U2r0WJN{{q+d$v}caYrh4qAo0kZ9wIw{Wcj)yj1*Qy| zTWumGfgUv0Jy3b*5XZr^b)(S7a*~^GXEZ;SmmP8hf1Hss4h>ao{X+~I1`Zy;;wQ9s zdXm5=IT%w=I^(?4*pWpnXQ>&C28tjC+5{F;#3a82*X9N?nFOutpI}g_{-{>l-N^W? zEqOI9dPz)=u;gYNH>;lqpIpV^QJZuVGGEPU$2Ra|5|9qq5}5w9=N0t{&Q_l&e0Ch? zZ^xTaujCDy$^Gf&IB`g=zfpx-O(HM-7kWR`L34+x69*8sdIFfGNW3KbLqj0eg=mWP z0cBM%u!j$qS|yG;BuLOv>Iv29+T#K z3$%1NaLDx#_MY^60VgPbVL_O0scSst4GS39(4+^36R)?At!&jZRFg~L_;@f@2k7ZJ zRx|n#^YC4b-CpKn4m7G%4L<2_mMJJWzQ(3t>?-Hi#2n0Vlv~PSLurhF?1p@8_|>Cx zr8f8Pjkg@$lzqlIRi&?9FlC=h|6ZPV{SQ0yIW&id7k$_OWh!0;W!-r7J_uaGXg1z{B+06Ohzq z6_qw@ZfUw4%AhFr@?=?&w_5b2aq_=2K$OYbsGHjK_^U9R#5%jW3C!yDAmZoG&I>8H zzd8TzmdYKsPZZ0&88qhk$kuT?G^lxiP4duJX}XK)D&YSi2GhnUySB~8SUY6bc(-Zl zEA8u$ZL4f+39p4)m=*@W@}$myd29FXsMit3Rz6ZdVB{9Jt8QG`{v2*s0AwM5*Ed6# z!;UG2ZzwmC@}|x>yna6F%+q_4%tjofhZ?YYxRY8mdq4f&_jRI%(^I~Xv3l*Vo_)-S(+d9dL%N_I zeE^KVbP&luI(f;}uwa&%s(Tw2G^A=|P>Sd}wDnQ}!__eUf-z7+W8b{h#_pl;=50fE z`CfyF{_O{&$7hF}DX+f)6#*0=M&Y6Fk{cM-rM1vLYIgoY7HYB~sMUcqf3{r}UiLqd zk|4$0RxC;UsvuF#vO;VlakP+!fc9s|?E$^EyC_QeUy)zhn%exn^qo?|f|}t06NehR z8!?!6`G2cPR6r*#;i!$>3_%XlSMp^gQ!dP}nj{SsjRMmhFJ%G6`SJi;&TbysUq=o| ze(=$u`^Sq5^Vn5abGZphYcj$w;pOTFer-^>ZP^P+_rCYt^i>bE;I=)mfz>VEQoGyH zKoT+tY*6aQ%2EesPsC{|PVz=9mv;5YJRMvR==gNT8hMP$AODCQ7K6p%aTMd5k?+5h z8`BpT9O*IF)O?+$gB3$57Yma{wHWPVx`*m(d`G&Z0)#}?h|91IQFKeu z_r>)rSIBJ1V$K3r^_=5QWSjoR?=fA}dT0bd)@?G<_J_EPwJ-6?KPrzxLnv_|vua9C zLso$C(7--1*F^fCCm)YwWaWq{1e7dntJ5!700{n7FpT6MJ&knqe9vh&9Jk|e=mIxQ zJVcshZ2H9mt8~Y)5Q7!!RUePf_x-S&Z>v{uW(Bqnd)ayNE~gT&oHU0Q1b+w_^gEHW zwo`djIh$fN^IUzD5H+_?gl!=VgU|0=$mCZaW~n|Wo#9rkKVtVeXg?%XjQGbr8MJzS z$qz1+uI(t=;h5ncJvCTr4u5zz1PCFtSST9AH~Cix(t^UI1LGmM((jc1jEn&{$Pwyp zXiwRBwn&?;=V4IY!g(-THtonP&_PK7RE=g}o{XLipi#HJ`+ADGs5pVj=AP}zTTjKY zjEATHa1g?%O6lJHWMSxL`RPRJrU%();FQxubK-TnI5pTOrkXa_PyWQ8{m#+F?cBC* z>O|Klmt9U&U&(;R1+?Pl&=qDnAJ@`jj$c#sJWYFRrNHNATQEL8<|CR!tcq8^&V`QE zy%kvUZns7Blr+<`0lof=jvmloBL}oPtqS$p@XS9{Hj;nP2E<&g*q{Vm>N=kQU(wAv zVCt1Y0Y%C%_CTm!u}O5J8OX|6C9iD7P2w00(FSndo)%E{}Ubd*bhG{`tQEF4Hqq+DtA&%K2Gy>ZMG|fr?+SRVd?cmlNO)7zyupJj6npxaqukw@5Hc z;#qUV*F|OktlSWzF0m&a*}nh!BDcj;N`H9_vpEnr$ADK*DBAEp;Dnv|g{>^G>agD9 z!P|TSbfupni|%))KM0@>g#IA@pa?2&DDG6suYN_oSS1@^aV$+a+8KaX%WHV=f*7@< zaJin#0Q@Yd=$me#S=U5Z9*Q7xt67;y|W{H8} zO$|NkoWFfkAo&WRdy?R%idA7Q$qJbd?P_WHu#>gTG$ss;6~;w?Q^I1XQlq!G6xlu2 zmqtpO-vUkBZAI`zB=F>KFo7Op^gr7+NXOYsU3a$iGgxzd@y4#2rI2=n3^oCP(b@UB zd`(9#ZwI0T4&Ta`e6~%Eu;Hw{((k1Va@;_T>4O@CQAF==xj%d&qO1GWn!g4Mm{tVN z|EOp8@L2D_F)Q|)>m{AJ{K-zco<7SO%iSpbub2ZSaj;W$bB~IK4|Ze* zyd-LUBqJb`GY(o;-U4Rphi2omq?PT@g!eQKwfu@J-P?ZA{Er^OC34hjRcuX8#nmQ~ z(}goBo!+02mD=LndPwsORH|%BY`vaRI%H*4V?u9RC*8zZ^=iv0ynu)8A6P_#HG+y; zWIR}D=_AR##cjaarMfjof>(?A1Xj=LNjMn2zo)G6AdmxZ+Sb+%AE?a#1}Yj>P+QXX zS@KX1HTC6a$;|XmXZ`}SUVXGAW&kk1!%zo6&3MTqhvVc`bYe~4H}L)=Jxa<(uMFE` z&)-J~uaq)EfIg3P`Zhf=#eetspm`H9fLjshF$uWb1FQl8Sn`h9zLt$MpL6yYS$4T3 zdv@@D%@`nWsK0cvJ<#lO>BK%sS*@bx z8o)$_BmoYKOaPspY9v?c?ms>S&GCWt+d&?s5-vLwpvPIOStZwG^;KO7?ok;#e0oI05rZA`Car8ZE zbAe`--AQj|Xd%fFq#p})1*<3aun9pXga(+Oi=oH+o)lENOJap5;r}barTZ{7>Bpkd zwXKUl?n;nh@O%o8JQb)^&NO0g$vduy9y_bCHFp;R;ijz2CH@0O04!O^UF8qW3js4LUd9{3~O|#zu z0EP-5oM_IZ-|8d+n zU33%k+uEX8#cI04Y@EA(@OrLIAS$hb3A2HO=BWJ!^@A*WMV-Mm?Q?2L1tetMj=1t) z1n~pXvLm9#V{U}K&lk=~i|yz9UBsxkmIR7WG4&AQqIOuNDAKN1vDr_Srr7(daA4)I z0-P5yGYJLFw2?oJhH&eEu47~yDj!cLlJy1+-1yPm*;-T&e+PQeHKQBS{g1X}n}VvU zTAUN{M7RtnIId$5X7-Hn`3d>=e7A`T607iV6mc_Y z#7Mksq5sx+cw&!GRUXk~cC3bM?TbDHiRidvx9&S>RZNnj9R{vRq8H?%<&!Pm~l{;Z1<#FyopY9ISZV&`NT*89&GS#>aE$mA1 zdQax{$dUVN+1K6__#ba+!RGKN2eMBems{M@E|jLg9RG`D+S@=&nK^D6oWkY#W%u=A zN3?S#FnsH%qK5L~|192xxFmXd-6fin%f*)Nh_#UHFs!9l5@-^B4}sDV>5Af){{U_6gw1$KkCrPMp$57}7|P5#&U1We~Ew#`BuZz6@iR6JzXB$dEZMw0@l3W1a? zLebQApP1~2FvPnK&gXMt?HFpn`_EA7TN{2`aBJW|JcX!z@{`|oI%!&KldEM8+FI;@koGCI@8825}v?kU)s%3lVkGvGm z1b}3sPA%yT!op7Vh-6#azA2Q7L#G^2m`R95GNh!_X>iW#^cQaZEiMju^>?LJaxUdG z;S3C@u9zY)fi@Fmruof)hsNJnLA4X)>d26_^WNt4-1w`JN=3rQ; z>h7_g|8|E};J7nmHr*%P-`TwKLVE3W81(Q9MVjQT2o7iL3y@DVaEyk}+SWgBhx{*f z^zZFcC<;)u^%tp(veRt)VPq&b&ZhYCKAIa6u4qD;X2ClK-PW8O`awjU!7`sKF#SB~ zpQ0t$<7J>~Hxop8j@6bK*>Ilr1PX;;Q0yU(_` z1XL{6$hv17(&so-95T4!ERPsS@ws3kV&OH;;k5uKR5cX!iIslwKLgO<7d~yH3qIJQ zk)y))5TfAbovmUW5j= z#?f9F{U2s#&`Cy;Q>acq#HWc)H1kGOuQ}~3&ozKK_-sC9^KZcc2-z1_bv@GpSK5Ue zZbd1*@ilo!;nP%|4h4ooe6BHzlE~M(ix2Wdd?BeMt1>mF{(@$;+nq z@oKwPiUXQ~RW5!q6*ivfP}GaOFRJu3o!ezvg~jYl)#cJ+t>w_(uXvaReb9*x0%g6N z{6nfhB)MRwsaOu~?`p%)ZME=hL$Vh?4vScV9!CC0x^PkRjzP126oCqhbP)W)nnNOI ziw6v&_*@&n&o1A2F!QH}O0BJwqq|SlrCiP*s7?GYw&1!xD)Gs^7RkMDpt3L84ZIvf zlqWl;=QsQGa&EQj$`-r(OCP~T?yUbv^nfEO9d9dFl-AhBqt@nDf8sZSzC%T618ZE! z!wXV@cH;ux<@kf5Px_ZwiugOq0%h6ME;W(uN`+0Vuw>Q^aS z*%cmNp_@F>98QeeuZ;W~1NN8BK|mo=QRrwHo%9w+ed3=6Ec~9}?k+$|RZPBJ-+L@{ zIy?0B1+{QJ_tfP`9Z_}RNUA7)nSSRGylZfisBHDUMSb)+hZ5K*Wz;wu#<0(r&a!RT z&^bA9| zX4NGh3RrXqDrqI_SY`*R@~qz^BK#>b8i46`l}&D}C@nkagl(xh4Awo5!Kc=osu%p5 zyx_uvvWDg#jmy?WV(3&H@C$-Tk@y>Yttt@+E^_2dV^u^kcV8|{WYPWUPm}g}txIYR zvHq8S8Q#$tD?Sul6>+afn|z;f3#j6C$}kHE=gubVKseywJ;?xVY$&J4RJIz|!rvXm z{~z&HVDodTm3KpuZgS~PcNxD~WE&EMn%*YqhQ2MnJR@&8+4sfR|o=LPmed z3cy*UO|hsnRQ#KVZO=BEB)6W=8jN zT;pAF66lraNrihcGmw-bh{%yAx1LtnwO`Hq&^HF)>>129&`aMsliX|5c5^9`YG-^y z^9fsV_s%B81I22@CK)oA+=2Z{hxvnsPjepCS3x*0{8vWivcV#Udm0F}a84L+ITu&C(CW)rW*^I@W*Ou8ddZ-Mvt@8Z0D{3gfd?YlAE4hZ|L+RJ?3IfDFyW0gsaah|IQ7R9$8z(#Da8&6J%h)egsv9;0mNm^LWB)o$OaTP{^Ojslws-~ymP zN41qLX~k=Jq<7D5vs&|n!_&1S>SVWH>a6znUTMGLR`}bh(Um97ymnW=Bv*E6CplSd z?hRa-h#!fYxnifZa1K&|W{}*vvP0eCFU^D0Zd@VnbP9(P3?(Rrn-~jS3EFv3*@5@S zkXM?OqaxdycXAK~0wy0=bVU&Qkfo!0}C$mnL$Fy(pT{BY=~ z-1JEe6RPqxzCRO54npiuWRmVNDCVo*mvEm@G3Zvcd!lHPs!jXUWq49@G8hozcvBr4 zf!>H1G6lRf?E25tu!T}lx9^8xi#6)Z6-^@hF=t<1h(Z1mjtr7}Eoy6PRc9_gOZ(f# zHuj$CQ;eu;g&ukpkFG5IJUQ!K*YG%#*(kjZ5PO{Jn|q-fLvt=u2DTiE^^FbfMK|1% zUM>&7p^MxkCD765%|>}0juChDer4y<}~V!oEW^&ozzj=&oYf?`3)_$Hwa3 z|Ml|p+s_8y+S9-i1v~ZIFEY8-hG;-}q2z3JT7O8?oS5}hdqBhYJ4{pUdT!da z1HI!Y&~g`PA_8)R*0}-0=}AVTePo(iR2`Vx>&i)FPJiu$R;vH6D@~90WuH9^OvV5R z$MuzJp8eCfh(5I>ve+S0jMtM z;B&E>y{A>=)HJ*W2y8rfR0w4e9u=ZBU+l&>p7_1E>i#laYbftQ>Q)Z%L7EM;wVwtx zkf(|^hLSO1I{S&_IBhhRA9E}wu&}JxwSKYkd8H$sgDguX@HJ*Ge_nX#v0)44WF(Qs zS=n;BLsYQDxQ4r|cZ2xFAD{srG2Jw9&dI#(U}xDob#qFG2F4g;iDSg`;p+&oYtiSs z`vL;JDkJcqu~qtgUE4Pkc(sLmy%H)@B-X0vFDt~iziq9T4l4Fiz78vT)0y-h0DeIs z%^465#)qNt$xt+ek)sMGQDYKyRk5VVr4|ekiUhj&7VGT|cTjeCeS*18?-#}!`^BB_ zid}NR)zR7XZdi%V;(C+=r{FSd4eR<+E;03yp*{5-I?m-(Sx>kOD_};`2>-QX_r9Q{ zpsUBwIJdt|LTG4{pz^E@P)Dry%1PKz45*kn4(!T{L^;@%s?@y<^HMMnG19El)3@KIif>{Zz0^N2adng;fE zNgrw%Y&*`FF!}@aHU%>kfE3i5h*dSZ-R4!dLi~R7gKbD0w3Ne_JrXUNJD>mHAaSh< zmb>{2u{X0XMBMcjQ~|YcqQt%HB?-@C4uDMii@KcFnI;(J)bl)BLT5Flhu3F9M1Pym z7dm^R$K$r*aF=2*aFjaKG!DD|1Asub7p~(MhV)+a#I~@yd`vOQ39Qt$%xG~F)WCCS znW_ELb=ft$_n^_uzLf*~8U$6^URl0(u;Z^tkTm?3t@Tc5pDrxW|>o# z=4aJZR+DO*)>1;uTiJ80#h?kjx7q{xhAfCK3Z$<8A~6lHoLM}pt#@Y5n2QmyKbC zOpx9p9xoDo-NYuwU0j|$>;Az-MF$|Qs4k9dsDDBxb-vHJRq zYWj)OhU?vm-XfR7p+$!(UO z2?##2f_pPfM1KMk^BDLjJGtgPR&jH&s|M))2RGuUL@w|ogJY^upp=PVA1YDOX@4zK zu*T{7h#x3dxHbd*d8eh%OwfR3(B#k?O5^U=SVg^rp%gaQo97~83ax^meD@IH7ixR; z-A5B}E1tmw@#gp3o^2SM9Hpo^a*AH7-BdK{;~Dt%L~YBS?J(FS4Ru1KE0b zX$=5G0g|`Egze0z$^;2Lu`4GY{h7un+bF0`qfTLhG0LQm%-8*T$}E-KWSN>ReQC9v zK65;%q4_`s$+Qz5rIqxz*=*hB8_u>bkQgF#DBkIFpq;ZJ}m9VMtqIwOowff>Gsj^=Q1-A6Y8#CKDnhH1!gXs-My;7v;|SPKtUhvb02Bf$3ii@q>iHJA zxWm%7Uo&htR#Vh~`ZifHlLq+W=m>b@Oj5?5l?At1Fq5ngMc~Q|BoWZJSKlg_s0`d+ z;-)X6WyX98e4@t&eQB9CfO9S3YRLE$UGJkV%FQ<<1!zENXsvD1G^Z+iea`ldy;N<0 zBr);Gbbya)6IBUQ%tMsFRoO_K(BxF)XX9ld@W)0BR3MRJS+267@>v~UNY2FKL$%Gi zH$-CZ%ta8o+j)VR5l7*^jQBOXK&kc_T)~%!(kaPob4iabJ6LI-gV1_HkYB1!;oI9N z1OAaoQM!VlyB!s7_eu#MMQ|We*^D20fcEEI_uiWvFml&SEhwi0FuTs9@n>7tziN(r zpt<|$+lxS9HrH3q)TH`yunYh6O^*~)X78(p2}O$S!Sc>#p&u{vNKp3(@0kII_iRZ5 zzc5PSm>g9_c<}=_aLJGd?nTw-)^($bjRocO05!P^02F!LP6|psWP?|&>g`&8d9X0) z0JlsUQtP-e+@#5MxKP##tT%u1Mt%8^@nkr58TzKM*2QJReA}&qH7Iezh3hY!XKxAPA z@p%c~dVfbCLSQp>sqqs(wConT-gP$hqr2LuWh(NWW4Z5``Nnt9uUNrG5)nwIve;x{ z*W3AJ^t?~Y4iKiJu;G$5gKbmTFk=LsL%H|K7IxJxM-KELs9{&Oa19kD-YY}9pSeR4 zwB_fODZ@zy^0+}#qQz=w8*sRER3ZY{IQ zmDJ#CsXrOl?rzOfc*J_g(NqpS1CjQUGl{aw?+>G0;ZP14gMn4b$E-LE{N)sy$?+Z;<^7MOq>pesw7$F^p(MeF;G>F-^S94+RUi*bN=A>i zednI>&uF{N)vr8vd~~+{#rJ5tK{VRc2k zgn#vjP>e7`9*qkr*itQu6PZOx$W}&p&$x$kFvi|zFoWb#V{DfSL5jw%^_3>p_ESXF z0wHKxAOBt+#uTVq#%DvZq(GKVVEw61l1ozR%XhPI0|5;}eVKFZ(y!9=@Cu%Jt^P_e z{W-}#ZXsN|(0c;RoELxwZycpDn{l3N6i;OC)P24e%omx?)O8i#`fwydw1U%p_&wG! zJ9qrf*4B$65ZG#?P(R%xXNftB9Q)mGP~74pFAhxFu?tp3Xp~M&zuXM>*=%#v1XWjQ23OP%g68I?8L@l&;-=w`bt8>Plz6_P5Y~_r zopZ1BkJp_WLgQ5r@#Io&<}t=7AUdomFl-Ok+722X5<63a-iTWllh(HV&8#MgHY^sd zrQ~KN88~e#XI5ZNq7Xcl&gB*AqnQU3AGhJ({oX-NB8?8G2(6w+vy*fJ?(kvZuPh_& zHny!e0vIy8K@!w5Y>3z74ld`<4H@JM_kL)J5SQTGTg` z7KvYEO%)!H8xUXldQ-qhZq$^C9%@QGfFk?&tME!$IkUrSUJGun#rx=7$a~1Bxs$K4 z*`K546x+;zpZ^OXvMU&((~2`9XhiVWNGL3SGpE4Svb)iusP8rt5ii3?!VJ*c?|#0k zBpoGMc;@Bf^I&ul{Dk*y?Cl`UN{a_Lb{vGS7zXZK3?{1f4x%%(@Rg!9OQRwJf!^HQ z0eewfpWG(8|c_(>v&P(4OtfIAS`FGg<6)IRE*VWAOpV@I+qBL1^Pm|d-O!q>)(eKna&wW?7X>3s_+m! ze=9aiM#`!>80R!phA&vTGqL2RGM5$db(xmWv3IKU$09*a@YjzxiOJ3^5~DH!c0Nehklm z0ND~nhZD*YADMR*5#$FfosR><(@O9n9}G;V-|SQ)eXkTZ@i+Rxl;U@yIHsce%3 zl?Tx`3pr}d`mu3~Ek2|Ke|>ngn7U8VM! z9zros(Q1Pi1sSd25)VUIL5I!*H$;N@*3_f#jbasTW$Ur9_xAN0(m1))R-QCM_tbiy zdIp6c1R=#H_40AbDdC&^n0ERbR<`EB*z1sJO*lK@+HpJ(?EgtLI1nH$k}1hR(TGrS zOH#eEkmBaGbIo zwp{?LoG8bI4#3HxmzI~UuMoI_^%m*0x7JpT}zP22oX#wiGlHj zd7t}f{qcm1338uswON4RgfY?tb<{=@5>6w=g=N|n2oSx|^$bK(j&PvLG&CqI$s!A> zoUL$Q{d^+#^AoIQ@EM>Q8piqxstFpE2eHGTO2+tAtenL3?r%%T0#p;(r zUEMu4ub?&w`OG9w&18b$?Q9n(ZQ)~S^6@aA=_YiNVxWD)Ho4wpj~>2yR*%k(I9k82 z>xx1+!uD}qAGQ4<_jto(iyZMTC=4MFa}9y#-cuus$Im5JKnfD(pjjn95r<{590htxg&gyc-Mx%Z+@UPncKTpm3LU`-9EG z07-?nV)Y%j4nGCo&7hHs?aW84!?;G>6@CrPYaE239HL(*rL!0lL$O$kka^R;vvY=bHuHN}J9BwGMG~cAU8R`q-ru_?pu+F6_de*7z zt>qN*yzS2Cpn7M*RrG2|jX)%`m~ORP>FaBNmqQ7=XFSe5sk%MpHA^VA_PME*WI!h9 z=M$O9`de=L-=6MxXRJ4~x^qBQO_!u&A>hKW{Ts51wwvC#D99Fq09O^?!ev?W}I z5uGS8Ci7aM{oyL^R86X*f5bgm4QU2n6yp)K(VJ9G(i|x=7g?;ng$w@fb5}?YHc2## zKRrMwKKL)20>)eLNkqk)3%U_JX`wnsu{hWSB8VVKZpU%J0};h@@)sTs7nlaAltb>`SNIcGTie6Kad%ZISwGz!?jPXd90Tk!Wanl=yKf2xoluX4Z z5`>xLz*m*1XNhw^d`E2lwbWKoyAVxyZW&O&H^{;JKiOLQH$`l_l$v??TF zatHwoPdHm54SAl6zGh^bqUr=WP3=fi$x)l_Aro^(FXZl&O|xTKMZm zm82!eLoFXi6wW{rfK`}j`tSgsx~g*#88vmcjE3qCn#WIQy7aJ+fWSoS7EK|U=b@e0{Tg;*Iri1apZirl-# z!J)YicJiY&*UG7BNf`%>a8hZ3k4R_Q`?k?8Dbx!vsEV>&?C5W4D=<@>5oIA&M&)^# zxEiROBStBHu-Dmw(p~rj>)yZWJ<3k#LlG{ij&i|`5?jVJUw3)-H3X{+DOSa?6HOKs zz~q=M+_{jXcnB46wu$n1^we-TQRFHBgSBF-&-H7wvy4C@)y=)Co_C)m>?UdenqO@# zmtWl+Oy$wDd-6!^?((nBE2u>1{>PK|0ul);9Y7QR5dZac78j*Vfgx}M3#PRz@-4NC zb+5S3AdFgn=c`=q_sO)I^UHJBfs@bbX6%m87gPfyaJLhl^D_%`5;sHlZ=HGDA(27S zH1K^L>_k)J7GLD7Ex15WA}Jn)a9k{&7xSl126areFIi*6n>@0+x5DpT$s1R6|2^b3EU*>oVz;aP0+o9TH6sSDAkwp@$v7Zw;R z;86ZY*!;1rLpYbuYY42+_|~wzFw9ms%c;JjoYpWpoI9w*m3>BM$|#c51~!-`Xa2~)a*B7X_I4m0%QXj$!ZRQjR2Y1#x;;)9#i=z@V!~o zE5bF3Djmud zCN6+sBgVF${s^7P`TWWS^lOT;U+hBa!uA)u%!R&e%B}bAW#rFUCpQ&{P$JO$S)JAS z0Ng;4l)8h8(OJDdyeh}Fvd7R^!d1apse*&G&(&xPc9?6Ax5I&`WsBPoaL>WRYzeO7 zRq`f}JfsYrs@oRve?L91N0v>&-@3u3P&C-zunE+ zM{VT~YHusi632Zf>5M`gsP_H=-to!4GhfHQP4@DqP3N$c4pec^;c+T$hF#s$WES8K zlfgYmS1SJ)bujwK*+>x6I!s_OZmYD zwdM|Fw$WCw4Cg zDg_={#Jguv58{4Ej*>QV5>MlOO(gg!9VPt(bU7sPwuxRUh+WhF=TXS=pt}=v<+rrEViWOYBvyTO0ai#=qucNq{t4 za@WM$d+Dz0Z8kln`aRy7oaGKQiDJMTDK*C0E8?5;uzDhC!*@AzMBDM3y@Mw}ke0El zHxA8aocr;9Ha17eeRXK_oOyq@q3cX!fCzpK6;1dC&q2ycXZtvsd3>Rh2380Uc}>C3 z6O#yeOZBlqUZ>h>n)BehAa3^+B5;QfPz(Xe_>n}lB^zD5=NZI~hKZQo*Ms&|d-(-y zRKboeYWCpxC8%qrqc*gv6V@BQ`$+7Fm0h*)EO}e)*)kq;Dr=ti`YOZ$f3-O(aB}i~ z;WeMrg4E^hC?Sa-4;VNvWci_tQ`lWg7~8P({%$Dq@RIb?JoxIhAH1uAua@>DACMM& zB#oKLt+@BwuD2rT>RnKt&_v|cY44O#uQso6wkk8=KC)YmpM|9fG)x*LqO9RK;E4lq zHai>(Mtbh~-}PMW;PK0Lo|rtyTZ~8)UkhjPe3aC6{1oe0Dby#*3|G;GZo!BTNzI#6 zJ>ye&f_v)+b&CuztnlrL>!>d<$xUJHopLMA=#p%DC2JgOs*j$%(K()!lUP!x5~!Naq|`*;PR$Cqz>JwU?(nd^Iz8v-48@~LX6p8jAyn*)Z>x* z^s%g?_>CA$5;;sp)(cVb--W!;-1}$vQ$s{3LxNT5shgo=Q?EG&o--x<;lje5uyf_r zgjwYuzpIz6yM{sGtp<^)Q1mliej||mW8y=zyrWi9?vta#g?LBQ+L!K!YAzs;Rz-HJ z2y^BJYxOdaXfH{I2?|6BVLXKx27qm)#C(bbn)A-sHS=?)0*bcFUmr40r9q|~r7M-(4_VtFiJT^D(!g>j5`%k#X%KOBe||MU zRH3`Rzm{y)7e7t1niR0K*Wp^lVRSa<`f85`_@c%PE-)_OJ6-=8?u2MqM_z;%HaJF! zN)dGap2x;wXya-Ro6~XC?AqE#HA9q@hq?>vzV5{Z!Vc{KViZG&dM&j5=@VpGpKzV8 z(W!9Q`5jySC+8`{H}wi$H}Ysd^wSzF`BBMRnxhZ|kig%J>ux0!-hIy#yi1-y`-(#=%?VZt|eWLa9 zltsS_Y01-$mJV&Gn70eLeWV#)K}35`*uMF`Nd2n&25&QM-`F!{TgnLbyT^B}_TYH6 z5tDN|H)>zduf2oe%@6aR8|~i{10@S~^;?q*TU(5aMRq;dm!7TMn;xu`M-#5O! z`AHm2OVeF0xOIMmHY|_?RPyK7no53A_*xfi*c$a27y3u#?IqUanYg9?Hq!bq5!_a= z#bNYF-J|vbKx#yW+&sE{Fs0-=FzzWOt|*09_eE2)e&pI??NY-@PpQJuEvDg*qDhlD zQ2k)YFm6k-)w_C)wEf5Kk^@@ynHyfn(_+<-Hra<=r7; zby5czPA3<5!5nzX*J{l>8#X!^D_h19_6@Bz|5fe#N=_lk6#f1C#mBy9^@ZLAX8}UL zb0SHI83tfDI~;+BcW*>&P6wyrH7Ygop2<;%dMXb*BoT+;;G35PXzOiDeZbB9MA=%? z%Y-JbVy>$jSH0fQ`=VVF?)ng2)-F{sYZbbtvafz)KtkUIeN|oebmK_EU`+!Lv2=ns zv~oDbJF8E3Mr6I1C@EMvbTL@kwzWvJzj!Rk)yU*E?}3w*|6{K4bnkvqEm%?DzOj42 zEaA+SFezgGIv|5$3*<^+k_eXar+?pT^G?&E*gWQ?`+`S|Ss*_BEhu%Q(;znaq|^v{_@U z_^*$8SQIPnqmLl@_wGtMJx!KF$R5ur@9_}>+(81AUyqHhzQwO-f*{kVOQd*)>Nt>W zEFktW4mXhu9U#>9lp@7QqD@mA@IV=nbeiKRn-^=oxhU4dRg(-> z^?zF90B#Qc06o+(K`(IS&FF#I;fV4*@n|sNGDGa*6~+a0ImQ%Zy8eUVHpMa0+h1*u z+8Z6Xv%uset=hCkXkHbdU9uYzv;QsKr6et}f_n=9sQ*H3|Md?l2-3k~pHOe9|06^o zgvL&#tS}vQ|F?4zAX~N`EoM86lT?M;?2$;|nVDzewfK6Mq zE;vK$*kfiOI?Ps1Qme-6&RexezTen(p)B*iUK0CXrw1Yl^1SKY{WQYp-ap#f;I4WM z!!WMKJBB0Qel1N%Y?yo$cx!&CYYV89S(_;K(TP+qqIEWY+| z&$_YF9X>To^6!p-|Gkq#``1eJrEH1zYKpVqJYG>|G={^o7-QBTI&M*?sp^hOxNH@Y zmBz^0idPcc6*b|&^Z9pc%2?H14}aOqzA3VnlS{OIT|~;5)BrcH3#jxWxfjK^P*AFl zp=PmH{O8e!zs|!%AIHe|d+@MiOW<;&kzH=R7#bkmX9>-l13uaWg+HeB7WhW2V#-bT z56d3Ff2V-VP=F7+M{6J9{K`s(-`O(wC^_2l z(gyMQe-8rxPxg%QxxV9`i0^J1yHOiT&HffG`!qviI1PmzU*W>##zo; z+y`Pu8O(nv^}qKSyb(?&~dnE3!{Wa9B@~e3y{U)*nd#1=$p1U~#lYPx)=%)nbm@;%XTg z87?0zHwH_6AhO6hag~2&b^TM~{k7;n8dr=M!XTsVqDaFn#$7wN#fF2AexdEx2L2;c z&$!hk$D^sRjg8?Zo$<`Va@6+VQVh_CMlf;4p&D~U3WUBf3)q)Ma0J^#krJam^j=3)#`fSdif zp5vZcY)!RNoM0xneXeQ@?;xY&D(;oVay98b6wX_EkFSW2ss5Py7*9EI>E}Q_7S@F~ zsp;0$y`4Jiq;*=LiG67+{*X-pWkP_|$1BLWJF@dE zRSD7UY2%Ld#u+W6rQZV^erurjxr!2=8<1V&HWI2-btTQm1>WEtz2Zf8`TqRi0(qVN zZ$~f0$$JvTz@i_@;6l9_Nwjd32x}it6TU&7yt^0mG;vPo?eoq{R1qM>#L0&_YyX($ zzP@R^G-&`*1%|ka!Yu?)ZESwAYxCHCuU+8Cw)6Z6TXwS+#>{7$d*(k1lmYTFqmeB} zT@zn34ziv(@`(}-oE*d?a4mmq9HY`V&=YNIIKjr})pXsH}OtdaU)IgdX`hKin z8?v<`?;cVwFffjP4LtVsg44vA?nzvUl$9D+(RX5}XPilwPALHK6_TCNnBhDs_tmB< z!FZ-=a`x&t*bY%v5<{ElhRGWGngJeKm=HE6Y2?`qIBC(K_+Uk>p7Psth za{uc$o;6?Pc?ywZ&_I1BK+?e*Uq2OUWiyURqH6H>3YI7jSFygt8vuxm2`NtPpR}*J zu?VT8m>g=$vrOPaQc2;!Pr6YZq1`?NW2_Nk{GP)$IrP_Kn|~V~Q_6cSx`L-KE##JI z=IW|TdIy7Y0T3h(DO%=7Fx(KSK=NJ<4Gi9L>;c~t$Qa!j!e^U<_J{xHu?J>%t9T}F#6|FA}0j6)95 zZ#eV3Wl23ieZDl}v(-9bu*(I3@9Q&+Lv(Nz32R+01cgQyBdg;0z~z$SAql&0k~pU= z5D^{07+<_RzcmE}th~S%1OCWbpJ5e3l}jotF`FZW#uA;?`~Sz;6$`gW7xj0AJz(z;%=Qff1~_Oi~6KGe(6hw76@^LzCxOrNtYV2(2<|PROfhTsV`QSq?x_)pi za0HYc?yR!F=|QVz#zjW^gJX)^c$Zz}>bu~Pm)EBLT_i({8|nwzKfkHM&vtaFM+VUS zS5!Jmvzao&fiI)OkOUc37-^bs9Led8#j_$mUiqPMj+vnQe*N-qLvLd@3xe8~HxAc= zRBSGAPWUpK*s|g2E&c{U)((^Uk-Pk|x)tPsDgoHb8pz}&;vDUt5qRT4@FFax7{kf~O_G9`|o80bYbDZN)IA{U-_t@B=AZP!AsT5oC zDP)?LtU3p@x@NJF=;A0v3R&G$QxTYtX19D2U&HhSE3L44Nkot~iTw&F!6|L z_BR={kUT;eT`Zl!H$U6i;)h1U*gxI{Q_iDF`7iA>G5q*Jx;5v`nr_~50_&fNy9yS0i(g)QyI%3Tmo}bs?k5}p1=gngDz=ZEG{Je+abY>$UX}1*g^-# z%Kdffx?^%BsT$z%v4m!DnM6%nrH$BUyzaS$M-kQ(>{-rzcnYQ9PydhO$n^L}^n`A2 z1Bu}7LUXc>ngL*c)Me=UUxCJJjyg-}n&nQE9`c*tX+K{kyX~b7`*B-+qGdMS?C05D zqVJxbU2EHpoX%u*(qDAH4BP8lpc?@9|SsJ%*`| z10^Z~#WGcN~5`GsAPT%|i!y@GEghFqhw%ggPvH~7WkR_(*3ZMOh zf4NH$40j-|P=4%4wvEU*iR@h5y7APU`a+$rL*5p-U4xz^8fShQN>gQh-i1Y< z`~L-*{C5%UEb96TX$6{ik4ZFDXZmD67F;WkcGs&ueR2-Wkr%3l5cwnDN0r%r#Uhis zbFB(XTv1M3b;;?tVB=k-F%l?|99U?SYZgnj$gr?PHb|VH*jjGEGI&j*uGT&-=<@S= zlQ|ZcB}llj5RbbRMDHp~eMyKf^xSiFY9VA4g`YgE3^_6M?C+El!y~%L$TOTkbj*a-nA%3oU%@3>>%*#Dp$lTzI4^S1ALf3IE6QP+Oh-;M!@r??>O z$1e%)aJ}Lu98^}b(R(9cXUlhzBFKjot+R;k$Hd1bF6F-~sa5+*=9(j2s z-0DeI=Yut!8ebl|GmAJie<*fM@Gu+O1jJ1Mx|9Zas~o?X$YC0F6n(epJ%O>^lhn1O`ZY!c-cRi`=Bw5v4u7&$r;7mTR%g%!PLjVvk81b) zJt$>t(@zn1)7?&V2HU?B_&Cs3iVxS#+257>!v#*>WEM}IZgSm?eMaF5HvR@lrxA{w zebH%lPK@yoPQBsIg9v%Q&WbSeVp0YAe|0O0hwx3p32p^Zm%m$WGSb8U=zEQ?;ON&* zLR16(*Wv)7JJ>$e-YJBK=;Pj2QFKGG118<)EbJ2hSYMKL=`@JJkt3~d^nRF@${ta z`-h?El(?H%byB8(#zEYI)UBJO&q?;?1r}X-r+VZ1HTrLhMn!9-l#mI^P6wQVJ1muS z!3nAjg4*q(rT&TM9jcoV0KW8(kj8kRexRzfbZ?mFMUOs)rvZoKZgrE00Z{)`uxCbC zIwJ>aTkb-;vU_}t9|fH`o(xLbbo_j#;7oq;-rV2g=#j5JUL@AseHp=8d5=&3G=F=e zs_J9!1ZcD8=Ze{YyiME_8f{(g>@Ei*SUm0<+<~)+{cE;6bFuhM8k^Pq8-$C$pF><( zHumIn>Nmv7*xf<;C6TPt3#Z%OHQrZmMd4gjGn34k@7Z%*n_z!;^aA;_@Cm(Nb2qIjYLVva(j5iM!a{cAg1 z7!8PD{#guM8BWBt$2+{c|KQ#v+424b7NhDA`w5r=Jsc3oBrPzWX88T$D9@zOG4atR zI1I-;VAH>3(uT-C5S^U8gq?bNlLpPXEOiBblC5jKslbmgp#lSt-zzpQnfRfX;+ap2 zW5vsHC!%Ccfl;~gF%wB;u#Bg zESVUtj`a@6D5ZPLJ+sc!T*Zi%YK?!8mg>a*b8B+^O7bNWPf~=isr7$LxhXNoHlEqO zKe1#l_Hkx9b9)t##Atw&W+mmX?;IY%UZ*EI#JhIaAScq#6lx2l*gz8Y?>G(IKLZp9 zC?2%*4JQ&lXPeT=$@59_6%seB9#L_S0o{9Wjext|58HIEjS21dtjEzWJ4QfG0)OQX z5uA@w-L(?9w8x9&$ko$sTv3A-`|9J^4QIJNNfUq{lGu*l2AT~9b|`K@eyr}(2)sXe zpU-0o^ob-|?GvB0O^w6;v#=zHDmVn z8lXG$<^pgJy6@|XM?N64n{M-dF`Wvg)$Wa~RZGAV?zbzJl@|V&UrE6qV;Tz`WsyLwi__}AVw@Xip=bkKo3O$(oI~#=76i6BKTp%;f&b9fH z(waRUgcVn;j<ljfHDVtTiJtn)^cF(r!+g?MC97EX`G`(jGG`x^?hyeX+o?$)UV5o>oJIF zkxlhK;o@eH01g|ja($e%+mw*7uBxi9s60ucrF8vZ^WK}?>pFum=L5Xh3dxRSwu za9CKB?|n~`srMs0$cvmxJnS#mfx$&$T*%|BCH`eI~)irigYHpIPDxJX7{|JhF z*wCL&Dm=XLnt;(#m9KrtFg@D7PxY3uJr%Qmv9^X$E8E@~h z2#|Tg@~P7V=z;P6hNUC|QG#DGV1yn9a2kIKh)lKj>u9~bDCZYKdrq3rqGRlkU$4wJ zlvlVL5HS<-L^yrs2BYRye0ZVX%Sw&jn3I6vce3u899v$@mP*&pt@Mz%lOn%)+u!?B zA>%zcda2>uJdC<8edSdt3XxxsVG#7O$ML_0Mz+}nQpR7}Jy9*a&y;Lea5;l?F}}2S z<-IkY&N*)r^hg}u^)2_ThBjrx#x}3{+Ue}gdm&<775Cpo0q22{EZHws&GKQ@yqsI6 z>7xXJxkt;c8WWvzU7V%S`>qM2Ad!0pu4GYI_ibP0q`@Xu1Do-&!~xGDzYxvqK0nCg zEHIC$x84-6zD+f0R^z5(!hC6MxPHN$9;7`{i*qo@^*vVyB4*~CKRz1-^~m&n%Vz!! z&#Y=IrS971EndfvD$eH~(ZC7)!2kps`Fp`6q0!L~{C4qhYWyMM&bh!2cJVK@#-UF$ zbEyjf75}65C0zE+z4_L`H*;59>RjELHdQfsr{~KM3pQ=NX6`_E{pAD=A8nfTtE^>; zRojm7RgcyLF`WHY-~W9o$hDfo#r>R2=}hK2-=BC~r|Dso;@(6CuY%^NV$~oP+e+KR zT_0^N0{<660h%db=)GzBSMe&x2Vwe!q1qV5we@RkSi?fPvwLP1UscZz2PzIgP)xrm z+iv0QdVTxKdr@2RZFf-bB}N54s&@wB<&&z#W+DBSrnl~Do~b~pw>*R^Z_(DUAl)nX z-8cMyG>ZlUW&f=MmF1mf&KmXfqO%doqnse?i$g|u%BIFo2)bFdde3={Dw^7Ma%yW(6izQ}+4PnbWa7oTf z?j@#n2wS`5hP=UPUWibEyIk5hCm%QNS9&>%AlNX^A5xWn-}pIv^RM>VzU|Q611>X=HV}_51zA4UC2sxHP&=(R|KAkB|xk`%~%)xmQ`+$i{qQBM_bVt z{Iq^gYl=qdjJs7w&V>|=BtYp)U4?Qn*X)1;TGTRLhC825_HgzhubbVLS1J|;VXy+Y zF~L1&P==PQcw_$|L1jv4E(R4AgU<6s5d|E>QbgnaS+pwB3w?!G*H@PInOK&|Ju#Av z*^P<$(x=uf`lBdAl!2skkFP8doBhw)cW>8{K69aD=7X+p{E#@ztrzp2UfBstUrWKQ z&ak^ftTiP+O}!K?#OeE_mRLzZmpa1mq5hK&J}13Q(a{gdZW#V#6T{C8@DuV1RCt6- zZ`qV;>UVbpK!l(kk{)h*&oU#oCsOy%av_nRdVHUAdS{a(L{pT;#crWw8L@EFU}GR* znK1YP^14{g*0Fn;xLV8`1@e_ca!@SRj$Zci>{j`M#!}C>hG+8EkuKS!{zB{Upt=y| zbjG!h@tLFxV+MBVmBY8mNI!!@HhUnIJVhQ?>Md%||NSny{Cb%mFC*9`m~DuF?fd?# zFP5>$-q`Cfu+M zL1dnG3fJ|n$xiSp9ET@Br_Dg9a>)C}kJ%R>|5bDo^qR7~lygbjdu(!1IfTBm1jE^A zt=F;3XQ*!E=)$?j9vecO+VK0 zO2vu+&rg~xRiS*=+*P}F(TixObOq+l0rhu#wgXJ+k{2o+zV(IFI9OX#|LCxVtW@Ng zUJC$1(G74U?JE(}J}Yvc^E7UHJ)wVJ-JC35nUt%s#NirOC9pz1^)D_JNT)0`NUL>o zkb-n!QX*Jj=t|9j%YfCTXCsCwZLfgcLB|K$w$kp^sW*oUY{%8;@f3b7^^7r8C0177 zGHkuESNJJO{B|1Q?AiQvx(|MNx3^gZjKo!)LNsyOD!U#eJ+T}cWV>nLBKgJ}1OO!c zD77d(sb|+q$}&^7KVJ%pSy1LBv5H1{R_NjPu`bzi)9`R{g>1;?q$Cy@T4Wfsu>A3=zm&uIxwK^XiBG@dXP=J^-x`O92(G%RB^Ta%r^vEj_LE*%-E4e*zW$s`>v=<2 z=QjZ>=^~E~#xzdNe6-JRQV=BDrnyz!cVN-}nipw+4gu~$Fd3Ec(`qf!sxOw&&JwKe z+iraJ(Iru)Unt5Nw6ckr%tlVTWfT-Mz4g2`+WM8k(gW95tQF(DB z+pYGaV=3P;k4h@q&bc1ka6hh?*TW2&ohsz;JX2G-g?E+S=I$*uqPfd+K(YK~0nUe? zL;j^*f;qK@$qU$gN%Wq3@x;FIpOk#*lh7Xj^J1J8jf~#;e(bBX)O)x0En%3=Yd*%W zU1D2tL(Z#IfBCC$iP9#raEFlyNGd6oCI0a2+-nvTa}nEX-Is$7&B(TY*((HnMc5wX z&h}I|&GGOzC~i9Msxv^oi>GDkSh`C;DGlrPCkk@lIUMO5aDE28O{<-}T`w#lK!L@|zdDue(4?FWe9!E9BgA@mg!KbQ48d zmM3l;4>m|*u)SGQ6WtS{p8Pxb_~NHxT8*FcwQ*&s%^DT7>8Nx1U~XS08W?y3W)G0d zxyCk(aTIhqQRIbaUH@&PzHw34YGK5D8BO-zXx6tX^;Lfzy#mNB46~W4ehh>$KcrCp zlVz~ASp+&(8hQih(EuYM;~Z$u>yXhw<1Wsgi8eg${gI#?@!dN0?q;jXjp+*c#K3>7 zbRQW{CTbG%s(bk)i5Hk8rpmy1aeJBLNZVp$9tbQkL6T%YvRS`3uXiXGu4Z#tWx3qy zBz2@H#nqk>&W%XRCOZ^#`xec8O6>(BEBdbdjM$14m!=UDOAn~45((wXzkuib9PpIu zaowNFv+c*@nbP9l2^t9+(-N1{3Z%<15F^E5(zR-XU5cyi7dL*I z?Cpaw=7nW=&ol?Wx9N!@8ymogWaPoN{a(M>yW93fhti#@0?%;4kr0W%P$2#cE)}mjUq0 zek~K3?dTKGwF_ZP&`bNk@Va)YXzgmxyo^R=yko4$w-dV$ss>7g4@^QZb#p%&Tv0a` zynnAbtzUCtlT>%9Z-((nH>mjb1H_EUs|9~Pk2if+SV=m^#LTW4u1(g7-uU+GN@^pY z7Z(=3Hua5PCs_j690qHEkGS{sEyLf7CA)qfp6CD{#U36$_^Q!rGzk)x5D9cK7SP4U zR8v88dWue?r>gaI1C34U7EhQmv@}`jH?~m&~ zzC;TT$qFw=2)0#E_r3j{YbV-4Ly4f$PA`vNdo8|miu)Ce-8b8fAqS;e3r;lIH&{bz z7TzURvLwILOszHLqSjvGTs9S7L_TUd`w`HTqNS;W;mTiO_0lqVvY|=%6`ETmoXHY> zZ%f7U#cb1&%?B3VO4fkSP=~f=OQzIR((JN)5u(vCx=Fbl#92_`zM;fw;LWkF7Yv&2 z{@wsoPcT{2yQ0UE6+FF2`!~{d%u$VAo}_5e_&`K*f#RvK-OecuU^~ki!Dw&NKE_ik z_DtV&mwLY0YI~cpa~o1@TWaJSTg5H;hzPu)M;D3gb7uI2O_ea=mT4_;i)6up=&>X& z4`}fz8J{12?(F$9U3=C0BIBvc2(!U_y(jv;eJrN|p}Xzrj-E~~izUg|`ofjaV|WO2Pvof=8_ zdIaLRKkUoZZtgp&EccD334dlIKq^LX0MqIkQYtHB8?*6FSS!ieYfpnU^;-*$ z;aln1R~O}7Uk|_4!~#A(O8?+oTPfpOvCi*)?k6y}?T2?TH6h(~$3}VbVE(7Nt^Vci z8`8i7(gJt?5+H11xkX#9_tD~)Ovk`8<`k07&)*9!t8w*`nThfIy-@Xq(`~Zr#(jws z@&c~k(L-OU!aFL(o@rue*5WqTX~GntJo#C*wp_H7j)oDOg2X4TZtG~Io#OT#L(UZ| z!*0BZ9giC=9%E$-trAB(%S);zlFRe&bt6GfF;a{=;3Cyf>=GF!Twqo{r}^tUM(sAn zWG=21M0s6#Ww$=R>Qx$K@uLI?`IB{-=WsBY4M9 zByGdu%DM8QTedt=KfE_GM3=CH@qi; z#*w=P{;3>9p0S1nJ?X1mK}R2D4b;Rzspj%w8F&XHe9W9;P)LBvyPFY}Z-tVAp`&jG zRdbB;yT|+Q2|rL`q-U zpG<3P`Kxvh3x8b~;%4QqU};;Un^@wC3)w(;j@I6){LEQGP^I7@8-G&PC#wJ|#vdh* zC*}qX7-meuzc#sT%5snkwdeVjWk0Vmpv^Ih8@qrLc ze(ZM9^;AWij7YvL#OfYsKluQf^OkxK2MJKP^&mrCYrY@8;3A(XO#w;%Kn@^27XK{htjFFxdQ8pjtxmnzU7|SPpax+z z56@2CFuCE9Ii^+1S3TzQ7-TClq8KSrGP;s}m9ws=-qqE)YnZ17ZZ;?XC7`kke=kf4 zm>wN!{li!9{0_0R{swx(KOs{RmJQeAF)xzu$&l?X#R~-w5s+fUktyG`ihk{Llt=!f zQVmP<%}Y?vAW%hclEooRt9Pi?8*5Jd$b}ct^?Cc&Zv2irwO!#;$(VrAnvc#;OFmV$ zzIG~1Sf+%V9lx-NnPVL;vzbDu24(;G!TX$vg&~`=ZD6!Ul zAZUXEJOH(VFz=3DY^^j-?h%Kln=?oBD=FexEAVXT&beph`L0~io)e4lx`YPgmL|Zq zBi{%IQ+5*wC2e9-JB#Kwi55^oR58|bf0lS&s4UhfTLD7`O{bb&qk(yx&O3Et^GY0d z&=3sJvvP~b@w_5Xoegh5T$hxCX~Ef&`_)Sf;F=M6u7>TlF~{|r&N2Y+ZhDi$3lPJc zYmdz=v-XB3$nTkzAwlp7#G{^gx))LCSp*q= z41n{fJvK^swurCvgJ`rgEu&=G?DOCee!ipcOF;`T;00VsRvXzqxGW-v zmqVLkk}RY2Bk%UG*!1kIm=a{n=YzB1k3yxyiwSx}P@^IsroS!sU<}Yi`*3j6 zN!lx;meC^+R~>6^<=b6W4Zb{#^18#X>(VhCnSnPami&Jbd4&T`z`ym>7%B3FfO5=M zjS?L0s3-Q#$Wz|ttMQ|WgZJJSKtm@hnfJ6A%OjvGV;#|T_N_S_{m>(_yoy<+Y9(Xc zi4_~JgYJ@g6^@^JP^!YrZCk8rO``c1$H)(d2*BViL$YHJ!|;cq)V6$&cthvX)Uio7 z<-3;8B|ew-z@Ho_WSEohxb8x1X>G>J8~z>~fmVYjZX$lrdl>6fG~KZmHSM29y+Wr4 zML4qR0Nq*pFt^%~6>ZJ|Oiv=rm3d7Ev` z{_$EzH&11K-01mKiZ(c_Qapv=!K9^lUWt-r9HvH3Vztlii=^-xiuDJR8sqzL2jA~2 zK5Hf<`0Ga@p1%(nM!s}#5Gd_bJlSJWvi32OPvQ|-86G)=ZKn?(T?5v~ZOx--eWtBR zrV0fgpS-1+5QmrBYL{w!A24rKO&?wx7GI4U==S;BL0;CsGa95b8Oz_i*;Mf>>3hEZ z5qW99Z))5%oFY}BRrY+5|s z+wiJW{yn!7^3^BN$L@VmS%A-S#*AC9*UD2-F~gOn@Fd~+KN3>6KSnvBQ`_;ryfvnU zbfN_@=a5b`0rsq&r~t;$N$a1skh|W%R|Dh|RcDDND#+MjR`;^}bImGRwBz29)nq`B zSRC8A_{j7nlg;7Xn&gZBNv}uhqPJC7W(k?%Et2+YU4(&pe2{d|0AirDVWNK%gZ2A< zG_S{zeB5rGo0pfd)wvBFnI@J38W)yET}w4)r;g*0+|nSaN=i&)4jw!k*Ih97zR$(p z*JOzo1xia!Y!i&Xbjf@p%RLqWc-h$_Gk+tw1d&!|E)brU>Mxf}$&K`L-r2Z=*x>2a zU~LegC#zp~%WJHibN9$@9;?Sdi{3_a{U)aGmZ%=&n4G z^7EEgE+}H7c^W)^{4b`!e&CC~6yYXigsfWl(9zznj!Q7tav79-AFq7;2Rhzt%x4Gv zC##|edR>#>&To$40wo64`284jF!=AjPnF|0u@r_rtD#{c-G6}&;8f-LDN^pIiuu)8 zy2nCL1o`NuQ;dD)Sn>-$cSmelC_L{O*>aV0>}U7|+<0ZADER>r z4Xq=QQ*_Cb2bLI)+aLO* zldIG8D7OdK&GwPg`6^esDu~No%WCeXt#H3O{3_!sWJd8PsOG>m%lQ@NTsU4f0$vHM z)anT4xm$Er3)b?ko|@0j?wbBI=MU|%k4U}bj1&l(9)ljYk3#~F~)tAJy(R_iB6Vx zZ{2RNB{IR{_tSNpXgYw~NPoZ%q@8n)$_X}3H2X7djj$co&(+a;RL<>Th?X3IAO zHY#f@om=#yeR!q74Y9wlL1A=bh4?~nq)$z@c#W)(hRB%#4x zK6Z;IAlX3>85eK7OTaPRdfWFS*AVlDu_$-(z_|u3I!^Rl7Z*jBkue*q(P!niuOowK zbi)8PMWSL-WztY9li1&batRN&IZaJ$?*0UgyeC^i^D&D15J^u*$u0X30$vE_gX4b? zxd}yIxQpk52Zh256Q}T8LDVDyhfYu8tmYM456Y8AbtJ3{&r>V~&M_=qavO<}0%gzS}-ukCWoYizpri%Q-rIT_#+s=aI$ZwG&)(nPyT{&T_G^%`sav_Bcm$A!N0ka zU{4OGLC=d}=1O$q`hCiOB$ONtl(fk5QZCZlP+WfPeVhR=W(EpVRJ^o3q@JP97kL95SDOmo*g`kiH`7pf(=SlG-OkybJ}p;Pq0mgaP-BRyuM==`kP&tDd>3o~2hq`IP=5InWsCF!h*6eJ_T@g_k5UK5}_MDjWkg-t+-kSh;goAKfUnTyBnd2X$LAHQG`4tON4--;#x@pz{LK7Z5n(R|I{xt{&GAFBI%B=tV zeZA4;sxfSH^=m{hQr1?0NK)I4FKau*cLrC~Sq6=%(Q1MuG-{tETAwIAFg4E`T`-SQ za|R6b6<;ECb9$?d48j0Ks|PseH}S8Xr?|>3tuy7(r})GGJs8(&Uc zTjVWEa=*df_^wViuUXy83fINo_Y@9Lw)yq#&x~_;EN% zsx>sscE@P#s47H&On0*?K^GL$)-411R(MKTeufkj^3Y1{i;#Gc1Nj25JX~x6~IZn)-*qY8X(a6%l zm!>8O8Sh_qDIE@nSlIt-+^pnGPC?iqzEL9Lmw3SV2G<%%p<~MdTh5PQ@Gd^Z=Vx@> z1wX`#v-xqf(9e*-dh=lgwc_^HUZv#xV^4%ISzxSegWl9CL>IR0GQ^<5iF>-1tpFpVu zcuuza+adI70bn2Mbn3;fZqO2RDiVRcAe|j2=KM5wc`@}m+fw{{rYoHjM65`@r3aKk zNp%Sneu3nLctKT7xzQ#Q$JQbH!Sf8m<1q=xrzgU3uadU%_o<#=GARX~ri$suyqux11IY_>*nNB9>GeO*RFE5u@bR z=q}P0%4fHg(E&b2#pBm0ZM* z0$F~0{+J2Hpth}vXBTpy6j;FkDal->z6ra-4yO+brOohSWK-X|D6itYIwhdT_n=K# zw-RW!IlL`geOyLrje!;L14D-H7|0b!^Wpm==D7iki?6pO@eblcwM`>JIK=;+WUgV$ zc)X@MU>3$ZT+Jcx}C4;&w1lq3zshQwpxqyaxc%TXf-G>oh|dJ{$ZU{nt2BTHW#{1yXUkK zKHvU`Nuu|385VSE3cYkyjJkQX;;b=q%|Ri}h2GlJAkQe!UkDEE%}{6`2Klz}4xMn( zEuQR&B|#x~Q8hT+ouFmt4$(4u98!@3P7ws0^6n}zM1qbQ)@|%tkeRHmd`o`3no%skW+wc$wezI4K3)a9L5d7ZxZ7jn!`3mLe(-%ktuqTxU1$13+SV>4SGX8$ zAc73<9Uop7&-^tayz)rYdv4v^uwW%3$63JUK%@@kdJx6~x*fO|^OSHl3hEIwK0eR- zc+~KRC20xGU|QY)2Wky$>l?}M)P=5g`XFv<%>7)kc!tVNQ2$W*)#1ZaHF zT2MYIn92;w*5bfuOYCA+`=aq|-hztc>5ZO6Zfd`k(fQ>8)N`_6xbH}A54vxPi0?yz zy+7uuS}q|~d{`dQC!UG|@MA1PLO}t1XEB)WZB=3Ze12koW#gGshN%^wk8hZdZU1`h z07|*TpqT4r`JX!NIw^$vXJhuQoZr=3t-Jk+n`d1&U79?d1+di&Rb{Y7$pKGRATrZO zoPlY#h3BrR^9YL)yjjiXhUWs-6*d|X6D!5` zOOhK-hTd0Z$6YThpD;^E{SvE&etu$p5BkPN$?lhx{)n-R>jd9DNUc??Fi1btH(YZa9VpN@1J0%wB>~DRri*k#+HJm=k>ZeBxJXMgYDru5 zR(5jAYg3!04+2&C>W6VF)ouOHBNLc>;+BO+w@RaN4cDY^DJ}8tgrYp;OAt?AP3qR= z9b4WiNiG?*i@vb#%@(H`mn-ix)NR#VlXXcccX3pmp6}OV=O{>{l!kr zZvB2(&e#6$<&O(hr2UgNij;Ok9vT&^n0H&vEw^E&SE-v1Wi<4BsyrlnKbrbZC7voM zOXBl#u7&_bwjzA*M{mgS;Q^;%aMeEun0OuuPzfe)E$B_Ms_53HmE~#motk=FZigp{Z*Jt+2l$G26T9Po9Re82!;Xi-Md)*cVT@#0Jy(8ysds`|XdYncfjybEDEcioC$i z>A-q%k&8k(gmfTW_1JfSrS+`_YBUvm||fL8LK1E`lQ!2r_tlcWt;*41+of#(WT z2+fti>AZZbQI!_;YUq8((ecy00I-Yc0r%mH@S`kPBO&A$ib2iif*a<@y2J(7lT0C) zo|*$g#%|7qTRM@3B6;UY2Lfym157Muqi&|s(zRGU0WsJS8VW$F6KHbM$6-opgr7rc z;ePH#ZkPtRdP&Mxe$@GXaB_3+^@yMX=qD1m4Unegz0gwB7mS3f?O?Ca=o!)m4$}QI zC;9(%W-y@f{xi^fcj|%=n%@Pt!ZWuOpTw8QN4@)`9^T^y>OM!epp{GM9f;I+`1dYcUR>_Wt9`7fpAp; z!xfcY_3Nxu73iXH&Y1FrS${nDk=}_5=G4_y*}lajc08glydeQ&}@ip zWG2pSc~@o`5NiqFaz86o^n==A$Qo^Yef1E9?6(v*)$bc|xU<<)G+u;|w@w=xsY+u4&;v(K^@c2%Uj276_G@fPpc{AI@Wlh!)I0&_b!$W86W@z!#Nd zk9|>JxDu^ixI{k^)aXngu`E%J7D#~tG1B}=z>ch+mkReroy(ko8%mJFbesJ&vx<}p zPUys13B!da0TmZWt$Bb8p7y!zz+@#Huu4co0t)F`H-Clr;0<2XuaNf@BBz5P zZcz)PEE8oeW%kJWEX_yfqnV?~M&EtC3mf8DJWaF0lY%^ z53NJs$zcT3m3R~%7kosM#C|jN2z0@q4AB1%G$?}~NIh#h`vBXS6F|mEcoW5V$%^1C zE{vDxbFM!+Yjy5pShAYn|_&mO;{vu?aKki#TxL0-Q^s=a_X? z4^ZHY>mtf)3x0Ll%5dBQ&IN>>;( zT+^zs^P8YLj%Ib zFW|heLGtB~@EX*@=1f4=nBHbT!vQo|60AerPgW9cR~+@$$$$;|1T~8K&pxZszaa8{an2H131p*p93g! z4E78%7J~lV>e<^xUZf!F=&uiCt_?utz@LiSl~`^4t|k=;J}P(ETF|6MDmj$ z(vwau4&R+98k!iY&-BkM)Q@E8a_7JaZ$E>u&B73!K|yCH!FFZ=xRi&wq6o?8dHp4v z9BOirGs6)%q6iRp@O_ozUkOrNVS>f3xuGG>NKaN4;8&u6^wv zKSx{Un&2$1O#`T2d7v@ifG6+$kIJY-QcXC`9!e+_ghDMMG5R>KiJU|&kylMNLmuYd z{kzA9si1fZUR~T4oe+`4rifoXo2ZrS4bZ$4Ux{;8@6Fw2n#WMU zSR~EpzF@_CvEz(!31<@kkjJzi5+hfEwqrhhg`qL3>sLkC_p0C@&p`jPS2!ks@jy@- zYT09y{RhTXXii2pZzj%?ENGA#Ajc58N^-}Ba|;})H*}N0KJf)-iK=89a3`DS!V9Q7 zDPUZY7{K^nHOCBaDJ;H;A^@XwG|>WAoz?S?$kQMt06mlRv6h(9HL4HmKs4E*16iXL z*nf6nYHa(IQFN**6v1`MLZi#so;RIkJHX{VIlx~1DKRLiW{56Bkh9M(#&?b=9s;6> zs*E`{=_9#dSrt#!-wvIV_noxhJ_ioJQ8`)kJC(g1C0Jy|p4YvEOD4GVke`5u`nXti=^z|7- z6|;fs=-(^<0A1X-f-`Ro4VH%#G)>LzC@8TLPB^)sV{x6GlyEj2jd`fX;Ug(Z z4*n>gG&rb2i}oZrzYP*++BvHI8ZcDU-`dej8VB>`#72! zDCRsl4jl_1miylxf|tetD;{E81E;WZelRb4&UEjr1?;-nHh`j2AYq>7@kc)b(?9;9 zSszK)m^4)<0tRW5;@xpS??>eWm~6;JIiA3Ff|677h=wjx)2@N|^eAZmv1E9O=(KzO zPe#-P644DYasDKt#1m3gGLfVK$3BPO^4(cwt()})twA)^XPNN-I5ag#v7n&!FE0Q9 zL4Z6i+A9VWlm?jUXISlya|0)UBPN`X5=K`GIW~M-GNCYF_;M)a7Yh-S{{sqkF&7|8 zZ=TH)qAY~QVrZCLd3~N$k%Dk}f8Zo+l>lkq)*H?Ie16h_CsX|k*N&Sk$GHQ#708G~ z{!d{)VIKa+kC3&=Cl;PCklsUG#$fOgax-9K*QWo+#%=~*2z@ekoC#&`KMF?j>Cr%fZdQ;a3%?pIgql{;k5Br9(T2( zl97PzoVo(ACs}GA8NfS+B+L`oIRC?7$o^R%OVJsmQFr6!s=uZcK86kappOlpRPjVa z!Ab#!N}8HLR1ygSc6wm8-LTg>bEN$K(9jJijv21COIDyRUD?rR%824}e zBaKAh9!ytkWd2M2oLR_(Ft9K-)eFLN_&J5I2;QZsiod%BuF31|qauKi^%r9PM60j0bOf;$EcS8KQs`7aP zoCR}S3gg5M?gc&(nadiH$g%J#hU9Nz#bPaaj18*BhIxJzi^MARz1eXza+sp=d8s3I zbm-8zb}Ya&%^{wD#ZJwCfmzO0Kl^b%K{n6k=$wKp^^08dacY%|iV(I|)9c_t;FGJI z++ZH_*}Ve?X|qW=JyA(3H^$ugGHaU`#5$6#mbtxsY#Y_DFTsCB66>0{zIk_4`r21= z6kZEn6}?*ed2~o8(>e&chvYE<6VQA1zY8}IU-`558n^WR-5Th9CYQHzn;$OZbP_4% z9I(xcKcVi7*h!jeHp?0lN$!M(+%sOe6>9k zhRkRqyH#$6?=|1CqwV%+fmuAu``GtN=ujT7-9U$`l;!H0rk7okGiFs$(bxe)+rS;y zeQ>&8c9NE7*ggJRq$=#E%8{e`fyj+~-T?JG1UKN%$l6Rc)(Uq$3_N}uL7mL?1qIAB z!GPjg3dN67#G&9|S~?+j{!0=A(ooTSgY3Na{J|$GY69~s6Ql9$(VB{T<4|R z6RRv2m962s{C=hBXKqHnlc#spv-<~X3w45m7DqNSRl=UMmu@f+KKJu9NFY=AYe{6W zL#d1TAp_n(=i$F+~1o)rp;07@jt$GUUFPqd^L+C*% z)XAY87o7VGy?G5R+-}5fcGiu${HciF%+)vSjZ$cpw73&prhO3Ky)V!c*Xtqo-3pFL zjyKj?f)RT-DnCq}=ZiHv-u@gnTeS3G;Lqd35;!wLBSvGOcp2_0?b1HRUDKrxcOf_o z1lq>; zC_9R-3^J{9B&VO35U=ZZk*r@J%P{Xjc{EjyF_=;m$YlR)+}mDBI7_P_b)(EWtwGrN zFsZCDhFeIB;__Xeo!rnd?IuALZM%HUPx2moG}w>9)XH|+-yxg&2L{X0KjRMXep@EU z9G)Id7bvHFQl6*=3KQwX1BZf>6i!f1_ZWTjtMJrnFg~mr*L>`KBf@F!^Sr{wOr`9; zlb{Gxlx}&n^ZM%eFPj%7{V~l;u;{WKvtd(#o&p+n@P-&)hL>=C>a2Koyd&#d?S@s)MHWP`-_OgZc?~u4hOMYn(mjnK)`(Cp z+2ZKCxPzd9F=v!s9PIW@G7zfg?0cI!Q(VkJEfgnRv^q=w@`*U(Pa z^o2zMpWeFEUrQ3hv$iYcP}eXGU?&wT$V{BdL?BdoiC2R@-}1`%s~XWWG*l-u4=HdJ z-ph?xWXvh;H*Z!_UmBdgb)=wx;XU>;NaQYfho*86M%*>?I8BJUcajcqRB{9E!vA}G z#cZ)UQ(?LCa_gfvvOu~?57`Hz>@kpn7L)WAPC;XC8Nsb?SkX6lq|`f+l5Po^VxAS? zT4)T7<1e|y#4FPo8w(%ph`0TMi@`v86MvxY=HdavrJ8hlHWmHu@p1&ec{H+KYV_0vIW8bR;CfJWj-wqc*A@4T1~+#@ zZVTPDIN+LZ4@yenxf=h@eq6_spzkZAaxjY)s-yvEt`>|^*Odr%^9E@!fbXx4FRgx{ zLQF(aJg)TKM^Bwx1`ou&;X4}-g&SAKzS3BSKqDcIGJ}(`F{11(6A=8YzU%TPS#{bp zTeRwSKTII_(FOk-K}Ct%_kM1TsfT~!-fqi@8;SQz4`jS_$)9@pW;7~xak!?sO!P(- z-$zpqqD~Pv-=sH{Ov)YU*#f_}HlEZAE392)QWlfmQ~{Qi_m|(wXMo4%CB4%_@Mg1M zCi@M7Ew*?UKEy9qzdHM{o?_90^;Z;U=p#3bZW8xc!w&)CqBUs0#ET9;k*kLyZounQ ziLFeg$%V%`9b>nxUe{4|USRXJQACvjM-kh9@(A!?CtTGF;6nO#p_qL;-g2ovIo0V0 z-DHdU!_k_d0+TLgkok(g7(8t>UoOC8F`qqKdVHXtaih@PnT4)dbluHWa?WV)TW9bL zXPUm}r$S+z9Nu0*rZeNT7Sqy=!SH!< zUX2AJLZwxQd#sa_lVR^Oh*mxKhNA6d??KCbm!2&?mwQ}ucgr1tElKkMgj{iJf`Y;9 zaHK8s7PB1h(T`l2#TrtrCAVyRGPQ{8qy>NHz%S}t4sST+#|R8O@%k7DKh<{zQ|FGo z+q%S4X)Tpj*VMQxkoPD^y!Q9OJnVS z>b!NpB#@m5HqqAFe3E6i&d`(_MN<6Tq{~}o3|ms>EW94*&+3@$swc7Kj0F#bYpNUa zC~4Nx7qvb|8v#QZvxgJ|<=%j4QQ*!Oug0=+Fe~fKtmq=?xg)7#&RF&v35^AA2DK}k z?^2^29RH4MGbCcsUCDJ(58B9&*M2BpQ#fW~C9+29$~m|udf#Z{eGKHxN^oQ;XeF>n z%@-r>h$YAXlt{CIZXRQSgcZ@Rv#?#T zgpqr%_+7~!pO2yO6!(biUk2nv)wenj+>>D{-F_m^BBFt%k`B(>`*!*bnu*K{m*HB-UE(7 z)eFMnA3OZY;(v?&;E<9dV}`{Ni#$JzHv}sg*?$q&i{3rV_tZ}yH(cKd*P=-9nkn1t z6?q7|&JZq4@o0f(BB@no5HVeHC{~eSPZ!GwBa@XRyoh2^ZBqM09CP?U-cC+5*X-4; zF5|AezM${kYZiodxqL77693#&nyMhV(?u}bv(`C+5U#})e;|olCoHn8^pb1+&UGdj znOPOlY1Jg~W$G{tmIzqG2WMi-1+BfjOE;gz=wE>T|kpimihckNFXTZ+7->q?T};d1ANY~K-4(Ws$iqBQ!w zubshlzDjtX3Os(-7xU|6*q;3&_oOkcN+;Qlwx=+0|KU|=^ReV(VuS}Q9Oa$WoHq5yX)elF1?cT zHXB!UFaxvK#6Bs54Z6w)tJzqA$5AYJ*smjlMl0+rXVb>Pfc_7+j>1ylM_oBKmquR{ zc{mVA1#mQUU0@q1r7u8*38ZSJl5Sm3Q#rcK(_yASVS{5p z;l6k_Ac!y<%%k|as9%|(b=3+#xQYWn6B#04!CQRy_mALH2zUdYt8b>gskD`c+3qJ-nGuA*Miq`b=RK2kvN$j%XLcw^3$kKY{A$0rwS{#w=;_k8RDiX`7n-SAM({M0<@%-l?!-6rL z%RXONJfPy=E)Hh9JFAa7+qxQ|PyTrsdtIr1fr~t11UuvT?3#S)=H`f6d1y$~x%3Uv z32q?288M{md}F)pk<5MP`*`k35H<^wRxpyV9aHbKfgaV`RbeiAS}!1hWrS7#WsKn3EZQugsGdp}~|fuZb2&*u*hTK2*waX*4-}a-Zh44rZN97 z|5CSf%FIaJonu#Qs9WZbxkI|T8UIw{y$nGA19o%Y@;6pJae=RInnt3E3f2=3-B;(_GOc_!a#(yR-T?NWl)DOTp6J zhJ8>uLc5XA*;5B=kzgLdz~sg1+T>OwvPJp8~8?_=>>jP)J9k5YZpjaK_Ax0*&H zw16I#d}nfoc1AAlc>?x3dx46FTMrJ6uFnV1()B*-S|+b0V|ItQeMff$P`|D^DRa(6PuB4!kQKK zkmdGmbnirJ71n{+(pCa#a!=!*QT1|Rul>(Vg54X+Vq@(+-wspvTtr@y#MUd64&Gv9 z%VPTOU9eu?dZ25><|o$wk}J2ktg%qt56FbG^e!v|lXq}QJOg5OPanr$=>e3&Py9iS zJ?=d^baXrZchEvo%1pn*XEpZjKaz+nwng#dF*K9}SzM`sAS z^vX0F9SG?$ydssWmak&`4lnB4%~TFYu_ieZ$x1*Q4OV1R^jgCVp-EoNZ(f#d{OSJ) zrvl;CfBEhVid9#mgNCPET`&5Q{&GN>H~jwJW%b}+@iaJZYG04B2Nd)*t&p|107-ze&nu6RlLOt zE75eFmr{r#&LCg>f4KVUuqdPEZCOD|NdW~VBqc@ZT)Mj(1f)wEBvw)>=?+o4yVF3V zrCGWgC8fW!fbaYMzJIv9kmuR6bLPyMxaS^xsaUx>G%D)Z)W}w849?q2>s>+`bYrJ` zTx5jkg?AePWc5mH4{x5rET-9@X;X_b*T#`GcyE3*>J?#@dFI^KBNn+ zTXy_jmvy@(@-hmW+LyqOO6keCw?Nr>;Tn0<4=^TVd|9a9Op4K*ty|a~V>5;G&~oD! z_V#UFyqj0uU*OI4D1Br5%I|dM?-SaW$W->t1ycdPu{Fs{Q+x%8f-um zd*EqmnTxGohoZ%;JS`D;>=6o_!OtR!-T5R91IF1L#GK<=f7Jh{n)P}Sj>0WsX)dnW%_iXTf5&$|jf?`Yx={XWziNy^kvMh7%emz-rdzoP zbcR&Jy4`lX%$F8`D-<79`e{q>*gtg+^6b7N?=OuVy-=sl zkFNBsK#e`D(4h88VCz~jA(!(Cze?%g)U;|f7vgu1e$#s=`e{@zhOLPo8=2=mUBrnQ zgZqKTsReHETBr}lzTF|m3lmnbgVaRCM;f%INfv2A198As%D zP{Rn+9C5EGGN6)>FASUa-miT4@Dk%GAvI|+_EXZA?__6H4Sx0Da)=SK&t;QmEDp;# zI=ajc-8ovjkJU$kD=BUm-Jp{GX}?`soUAWlYq83j%JT0+q_ucE@%$|uCN@S=#_1ht6 z#7E>(fYrIiE8)19n7Hg2C1jZU^v%Z~a_G;0rJNT9R_w8TJf*d%7@V2e1ln(!!<2XB z$3q2?*$VUcOvnbahMP_uY7-(@S8Dx~ySL(BZBmgIo$+T?EUuK(`9omoCwmhLZ zg4b_pfi8TMZ2H51U$z{1EkR46>XDYzwD!TxbeaV%RV7l}IOi;N*`H%Dx?W`=_|K^iaCQ9Yh9;5Vx3Dt@=Ws~mv1x0DQjoJT{aU8HG477)M-Jg66MkvZ^;9X zBsJ^;mi5fzUq7c#8eE$jj8A#I0ac(6N{oN4D7qKG9hmlg9kAp-+COS^c@eW>k|~^z zj9yq+Np)~lG?A1y3=I^yBFA3Q3Bi=4NKJNW{9Ma@=^*JB zOuN1u`TW@WKaeQHEQiYn)FsW77*QHFjbt&cCoUw(6;C015HYioQO@r?Gs^=CNaxM^ z>?>PZ(FRpt=t(9wB=rwe(v2xVLbYz2nfg$$v0J@RJR{Gyo-KXQ$<%~_ODMRo4ebj2 zm!SZ$I@ixa^86I;LQFKYmE0!>KhNQ;vx3h=^Y7AUOlx4%t;)NcH6QFe&X`s=7(!kv zDY16C9BldYnhMaaXc(Fo308CE@_Ow8m>JA+IPG~=n^*alDZlYBQq49t6xh`cAyZ^D z+{KDGiH}F!B;010*)g_^fZCy0)-@4xGb zGUZd43nLFW_KD_EBkfNO_0IE&AKo@!bh_xi4YNo7X?5;(=6mi}PjeYPU4a^euk|K! z)z)->Ik;q8Ijpv_cP75BB+3q=cWWlsZq9(eX<&Fe`zHVnJi$wNajK!$nEpuVhd*&# zYuS>L=i%a=2CBl+iI6~Kbx(ckFsL`OWoK^FR%@FOZ?0mM-+s|wq551wNsF9`zS}Wg z69$4uqu(wB>Q^;CVvZ1aOrP2PJhY&Vz?-Yxy-gt#n z-csKagY)F#cIL3-6R}YT1Z7nXgqWV)DPu~(B8M_$I$RZRT~g~&UP$mnpU6JylM~zQ zb8{W)>17j+oDjbv!Jd3+?_s9onO;KXcn9YW?+FQ;(xyjxcHJfLlZwMPD}pxFTUCS8 z@N@RRV>n*F{}BpE#aY)(BDOs^>mFjGmd(e%*KWmP%)Dy>QBI-TJ7)Btm#C z5m$5NXyA=w%gD}>ZDO7ZlwcsJP3`38YQUNNogq5^x6m9&J;Q5@{^Eh-Zqii3Hg9gC z--k8P_{=6EqWf!>>Dno0~#ECHW=CBT(1p&xPtUE?;=vvOWKx3AJYD2}{$t2rFGC@IBAyr_O&6Hl_NaGv$v|E= z+_(hePYz`Uwx2djVb^{g&JrD-{KBC7jJ+zzM`Xji<@)s^hAfblX%ng7*q#x(*2j=AmLJ4hZm)kmA@2Xjw}q#phl9b6?miInX)~!f7diE zy>#OP^!Wf2dO4_DQn4r|tHA19qFj5w;<6zxPbWo3>a-tav)ifcbf~=IsI@!D=8^`Z z+xwn}yR z?k;9%lh8Xdm^Eg1k{3Cg{j*Ec{r;L3mLc@YY|F)gFyBW$nIWUJJ+ie1PAXUc1qtMlf#+P5FA?%Z;GDK_SB5m49{PK#agM?%i#^=KA>2yI8!f;g?^rXMs4QgCj& zbiTPJt$E%g5KLNN@arQLw!}Ch!ec=m+FGyw>2YM%L>KaWmwZ;wqTBl;^2kT`TpMNQ zp`9tUSS`<_)GhDyAyztYYs}-&g`G^qLsr&Kj7qqk(EPlG%$%URqfZEZ#1zz8qtB#L zMgft+_$zENDJbp;(^chZwH-bhAR9teEb1WWET9^H3gAK>w6k01O$?z?<;;r2WfIYi z>&3ALTgOBUH5M1oqBN$2$~hqqar@6)FO^cuf(m%ZlwLO^MOrF_A*1XI982(ik#JsM zS#Fj7eNSirjS-RVi0HRw%~_+m*s0p0IQj06KzQP$LbpW6dnUdOpvbqbq2J%ETYJoR zK?!_az-_heUNtWF-GBsvIB3Ef<9KAPW|7)bLRLCVf3)M|?vSn@tH3>u*Y9cEH|MoU zmfg)9n)OPTx#O4e*F*{=g9oH#Ip)s~eblqkG8PG1f*xAx<-dh8qcnQGdEL&>9`Bs< zYYRY4{1D~bi9e)UJKdzx`sc1ouRwz2H31uIT9WnkrB}@;D5~xkoZGxMpXNl3mo8z%4c}^G3}Uw>S8BJ|W7tk#Rr` zG&;RwV{v8Am%RUd>+b}?tl7;L?eRF9b>wD#t+MD%U001M;wxlV5!%qUwfBd|%5)P* z^`2`m6uVQp)GB@!#s1kZe*5b<1XafL_+E4RB(GcqsawN`_6Uj|1=`HxCLA21O`$E4 zu!?r$v_H^(_uv!Z1MP(f=DX`0S-ojF3W1Nwkd-vv&jMc>W&@H)dNRB3YeaY<^?%*f zdEpgX>PUKA(~5cPy{3ODl}^hDkG9Rg~VVz6RFyL={eH`_p@c&qY^GA&G8Q*$(E;s*3 zLCJ8s1U?%K;a^Xoxq0Gu7TDg}t0{@nQ0Ox#YA7fxnMeXx$P@)QF=+crt;dNKTX5p2 zLz~A=Z-969{oaJ2<;dTaHFo}rlQBFS()FDxuixm5sS>}zR@ov;f4ZOolH7m?NVr@X zms^lX^hs83o1k$TS2Gg_eB1YsEY?d*FMZOumuO0lwVO(qhaWliy`wjOi>TrdW30+= zF1VD_g!$xMRP#%vqbxol=E};9wgLLq3&M=g=yyv z`t93Tq8jrT5Un;Qy3i)!UP|}aKjPaC2W(%xsXGfsl$==|yq2&$l{P#}5p6v<<-P@$ zq%C~_E0gn=TPIKQQqO1Q;{NNe?(gNszqXf-&jjk5;b|hIheDfi%!|bmaoSaAZZP=n zukl;V559;a_ZiH2Xnvie_hH|NPS6-4<|+K$GDg$ca>k#xN8%+B5A!yjN;aU&l$0?< zxDuTQ+XS)Pys|z!H2Zck+GX~WsgNYBl{#L7fa6eP^@J^9RSJy4Kc2ZA!{Tz{Zbj`2 zgtHXYxU7Im-T*m&dfJePOP=F2Gd0!Ed<;=4Oje0rODoXFFtBoPyqcOce}8P%JICnP zLhShCcZCfLg_7c#E{BR!O1sSzqrk2FQ6ypwL;L&ILl4}R=A#82!#w9IJJO^GWfDMf zGV=N|bZ}VxW+YA9m9caJd!6JEpLbeNf_L3@GbxYh(2hI*xtiE5SR-c2mbYN~kKJlz zpW8DU8v#kKQI+dE?+-aG9yi1;fCPltJDb-G&$yP!v`H)MtYm*Tu=mWu>H;$6!6&tH zAf+l5S9MLYk)u^oKC5lv7d5z5WNwz;XuFYLtRBsu( zhSkTuB?7+w2Ouixzq!=mJ|O<1z=A!_F0I>C=)xH|shaX0ae8FXhUCdtmN!jhtlQ}U z$P^&0V!}t(TsMo~*RXe4e@D#qBqxJ__}E7CW4T7e&`bx(uF~4RRo?V3`Mo7RrgKSR ziPmrK#zb+;O3=ht2le&knw1gxCqavmzC4I*SP$}k*yJ&oXR*Vs)At&5D!F-)nRIX( z^d;Fq%#s89GOi%Sr7DK6+PwIK=E2azq^LXrwyZ=#nzSjZd5#UBX2mh?-ANOzZDpAImyx!4X{z zp&1Jbl~q;Hx|NBqxV!G9LNaOg2{Xml54WFl$p=^V8Pc81xw=^CVP>>vY{Cf4^IQB} zYbT9kEzjCsh1Kz7!;SkX{7>8Fd6|>0dXgR#wHBOV++Zee7hZX4Fj4k_mY<+M zo}ntuwv8XSYok=iF`rxewSBBD#xBz9#hS@G7ZedA`_!xW)BbS*;57KkW31>7Urck< z@fw$4{>h;${Yk{mw_SUm678aYnA^huWkwQ#8J$Ddovl{2P1~W~H<&{q@)51q*SD~G zW6uey{sfnvA;gs+p?i>HK^kti9{;CLdolnqmkM@<;pX{eQT*uO45GNFk9L>LR>Bg^ zD38e0wCt|e7q4LiY*DL_#2FzhJfhkkYBVL)X6rIF*fidSk4Q7vaHjb*sY+k}74O!I z?fcze^<(y1vEfd>oMe2%iHZ?W`V2XwR5b6b*G)xsj+`748Sd4IF4%XV<(9zdEuO!;!40TsCu@pQ`A`^W6wiKj_8 zqET0res*j5eT^C1)Rq}hkc2`4An1kJJ#$-!o#_)xa-$VjtxXwXNE$_NhUM7>1v?x< zPD{tjA=C1jF3AFRpqkz{`>5ClQq^$R^2h8byVG3m#p75?M8Wb8#wxrkZ#;jy`=|e} zKO8R&BR5|BO=uOypnYT(Pp8E9SRN{h0F8(;W~6CG>uhrK#2>%;T7^dM6sFHJ2`c;; zPwDV9DXQ+2?aM;<^ujED%*LK%!9SS=DC2-F{@{#c$C5g}+MIY`soWxf!Npr1ArZ2n zsE^KwFu%ZQ#IJ3YTif>U8#;SCdRW~5CZ3JWFygKhs83542{BGx0gb<(2gNpOmn_CM z|6RH|{QXhBH8tuSwXQXlOe7TjnZC{Fw6Nh;X(A0yIr#^iQs#zVo*=e_0ck2#(Z^Up z>7lEW8WwLK=4$96;q5x5p}^|dFZiP`om*DG*@wRa>J z8DBLqK#w5nY8TXU>laDeGC$qXr%6qg{W?id@Fja^2vu7!k?uWw6T1D{DfWG>2GO@t zL~s2EUZi_FCl;piQ=5IR(RBrU1oHZ=aIYvq$u|=HJ5zeGGd(_Qga*Gw5gaC>REmkE z6$hM047dT0baSiHhD0c+$G%N@*Z27pFhwM-C@C?P~=>^_a@*hD7PJpaqJ~Uijq84 zDa6weM}7mivrQAc4Vs+=A4iT}UKeSpOT0}TU4AWcZ_}{hNJ>LzCP<@H$64bG_TpF& z;10xou%Zw3Iyw z>$>}adXqzEW)0nU1m>}o8PZZL50|QH*xM`*%|WB0oZZYY!3eKW)r0o*Oxg+t*W3|B z3HBZ!MYJBD3SB{%i%(F>jZOK9~z*PVSBZs+*c4Uio-~OxJHH0 zR~Hv}lFKCI09Kex)et#a3rUY|GkyH0vo@=l;NY2tt7|>)=@q8HiRM{F+j&Xgc4JXR zlVfvy#g|Q00}LS;vN~E3^lles;jS2U$#e;YAB(oParIS-RTFSRU#ih;xh*$pXS9bb zg8DAgbC+rFa&ugkt4#d~)w8;97ivNESqed2-9|Bg8SYLog!1Bo8hSUJ{tJQD7HXHo zIJLAsKg*Y@&z6X*@CjrcW$(Ci1}=37^4g+UP{4Bm&;eB^lllYZYH9ImR{Rw1S4QqL zr9BM(a#}yOw~bOTzlKsI7YV%(M;rDa33JFp|FI#Fm7m$o1$zq;h8)xAp|RxR8Kt*+ zF=Wo)g(E3DYY68oD>r5y8}Bp5N*_bSLt`j3w3~RtbDm|RpJx7S$mEHfdUcC;keF9~ zFh%pH00DPala3x?`eSiEQN#)TN}-tiS=E)8&&sl04@cswXd*l8WB!)Wx5D9k)Pp>L zF@Rlnm*}Al(KsF1(eX57h6ul|vHFN34hbREtn=LXrZTsi&?J^Pt+MbgK@zbDa^#B) zpl>f_iFL3|9{GqGu3|MU+4^&FA6GF$=TPj)uhMMf1ydTYl%jL+nV1usC7 zTIOCvzi^q{7k4%NULbw&68|^H1DzjI9R--w+kkuU`4Yka*r3(s>kWNhuA8Z>Y{!x( z0ct;bOV8lW1zXjvm%R1^SW>(uc$yY9w>mg=7O)>aC{?hWX4uyJ zdWvY(*A$1+YNr>=!dYVvw)wlPe_8^VEvTI|H5nJj-t;-j1qz$iEc=V3qN`)LO*BV#Jh9^lG#|JY*a#BXS;;8$DbXiqez;sUW{^t@NJQF|?@gv{YL(fa9^BkW|=rmeN-?S<=Pa_;<`L(WV zKEfjVGd!EK9XTE?n!EEr++-b=#b;2D4Rm}Xz2#HM-l_R+4MS|*1iw#g4x)Pu+T`n@ zqjnHBvINS(-xDjQYBp*NL7mVr{PcMXFF}u| zY)AMO=3n7F^Z4AAVce}9kmUe>Ta7#fUuUK+o-S#qYLap#Y^2bs`osbL2P_Tzw2@KdPtA3ft3uiTQ2tq8sFIVP8S)y zow0Crz3IUPuf_poxMj1$rg`b)U+h-vO`%Z*rmoZ*x-O*+c=a>MRK`bvF`)d_PYkG; z4T+d49u^=rst|qhqtRQ9)tM}nQ8>}o^A6-*Ei0q->rTsCka3*aZn*|lpHzBBT@Lyf zNhakMbaM1U(TP}LSF{vx9PV2FaxwGV)clSBvj7fb!9tJI!ez9-vP(6G1n|vQz*$VWO)GJM+NDi_#~0$>?~=U z=`ibO;d#w+Wj%GyebwuRN`zyg4Ha4Rj`awnu@(Y%J%EIchWXOiTxx7x4%z-RG(aqc z9HtXfTK}E*G%dZNM6Qp{!MV7BDdR8Nb^8){2{c0m$&Pa^M2fTrIVG~y^3|8!T9iPE z^Jq1{(eHYgnE;N)hrX&))6fGiQCl(CSX>(2>uWj}7Re|{Z0ss7<7^OI?DVTgT>e*T zz>S}Kk79A)hP~k{{j+^%LwfG|SL2w#wzXKb z>F}rSRIcI%WZHH#y(T&4{c#wcNR4F&eE&@d%UF60SFMcC@phU@yHuZ9GSaM#sd7}5k=ZmQ#lh`O3+3+b3$E)1cKgppnQqFG0cUeas4d>0I z1S6|Y&%EU?_HiGZE_f2L=1_K@DA(76=Ulimm&{x~gG_a0zru2~fMKwYJ@OzG7AULv z?-*X6#Z>4L^QqvJf2f2bY)FCubW%=p6$V1W6pB6TG)$9y@ z?Ul$WjE^R^@fhlz2OVq5ayZ@=OO~hay~c-Wgsy{>{|L-P z8)`7=xHZ@qka)YG?w(a94p&z^yTvKNd*>OtdFmg5ki9Rro4mAZhCO%o2~Uw-jjeus z{nt%;_1%6{L)qcO8<{TC3AYO{1zheyGb)ptRE+qzd==3?;sYOH&|vk*oNtephIW#L z=jq!U-liMrz+}<5rbtpHM3APqn>iYv52K2psVqgD&LYs4(r@?#x3w2vc-+H1i@j*F zSg$!`hHomThq9y>L5qOZ`6pl~IUP)!g_6d_c8sbUHvAzVfE6v~``M?1kn`*ZFR8z$ zLQZ(*XbL7a=v%6==^SED9xSIu{`oH)@XG3GKu2X%7E6*UVL7Pk_zwwDnE?KJgykUX zeI)4{ACew>Kx7O~dm(el8c;5``YmLt`V=ypg{!5B>$YpMdc!n_T!Mnh{P9 z6sHR#^yD^bb+0FTj`Xhb!)LCss#>Q;pK&!ivW>S6YEYGDO z%Aek$+Z4XQH}+A5Y;Ys;ZyOrr|D_YTl34~Nl9}xMG;*=x60^UYxn@d!Yw%2sW@&_F zs1^4x7nd6)OlSGk*5aDuWCTf($$!ze*LKMaG)50k+R%eeuz=;cGMacu!5gLMYJ<$h z;g5BNKCQ9pB?Tn=s0VIQ8c3XYAO8zK2mVDPq>93yj~Mg*L*cOpfmwOzcS|bofnbig z>K2#12q^D*>n5ro^?9a9V4h5z#TP`0=WB z@E#f~?vMT_U5U1)LpA??u82i?=l`D&-|ys+(@F1wx^LctrS5K%!*D0ofO9vBDfzV{ucJ+LVHJiyQR zg2lO`t!KQ%LYLiXdPLsFK0S=VGV}imex3*fBnuov&iOPB3YWlb-iK#g;)Wjk4gc1l zgRxIu`Z<2hhD-}^)U`F`t$C>b=OeGBMn$V=f>jt;3#9g=z5O$a{6SXvc&xPk)QdF{ zCGQOgvC5ml#gwLu1OBo94%WQZ@pypFJRHl`*iacMZKk<`J zOzT^xeg~Dk_!!hU8N_b zJX>yB4~@8?^}6~raJ8nP*9t!nS@KZ-s84YJ2ad3Z;X%I8ZDup`uQM|QTYl?aVxFi& z^3wV?d2Tv3*#epXMe?7+f%um)L4WMHQ$9%U+dBsup&4b^L>HCz?jF(I-)xC#oOq!_ z5Yobtgl1PHSDU<0g3kVbpPnaDgjjK0Xj3WP_AsROm5#)`>NuI&R1VYNe>sPtpTz|1 z*{}-!VQ=NaEMls|l{vWip@YKq+Tu<~Amnd<{-@g2R#IF4_fbg{TX02)Gv!!~lhf3I+(WK& zrtY#{oe5FF(Xe0UUBL|@&j$Bhd6FIv_B^s{PkaxeZ$@>q$-#27;^6FBl#kPNoz^EH zs~gls^J-d5a^&yl(7GZ^Z;KoDZc@9z;J*Nr?wXVo1am3I;zOGLSGQfM+-w(fu&A8* zmXh;+D@KuAW|)NQBR(|)$KtSR$T;>HV;rJQT^*l=>+^P->u>Mae6L*N^aYnzRs2$Rv+51Ka}oIPUHK~&3sxf! zHj$HbtH-2pGz=IbXZ@}Wnmae%yP&u}x?6ML1aH%TgG%z8xTML=u_p(#D(D%?R97*n z0Ww5tWIwC8h>R-uGwDot)wH3JP2I>&7B7~!u+SEfx}j)=UTdCuq_duHo8yd&2^QrUY*6b!{%rJBU)84-R@J3cu~ZH7kZ zZo#5oWwX&+z2^W=kWsQd{m9xE`IWT3#k33W6z~%5uTRVeW29cz4U%+H%>x=ngwNHE zZ~vX`S%`K(0}eA}Zt2$*91F#aY=k7Ic0aCAP6cX~ZI_;6Zy@vH&NaN;7rKtP_H)rC z*V&bg5H0~u8lcNshx=c>)PnA}bc?}9L$cBSwkG0YGouF}%u1VlNoj;Ea{qc$KhtKE z6ibZ^?G4^8nD(azzl6F$h}H1*71zWUF^pvAdppJIcl?$jntx))N*^j6G}iCzl2nK# zK|sMdPj9yR^TXR6*Cv`A4QaX6a_DY~E9cEx5`4=w_FJ_lX<*wjC@pQL<)Of!$_p_b@2CfpF7Evf?b_;yc0*{%!?L0AWSh61d7vEEPs7f>=EgC)DTMIfx=jsuT+Doh2sDNvE0Fol)k$D%hm!~)EeZmBWScTu1RPGt; zKWj$Uo_vPXNUFO+md%T$UpTEHd-xFQ$w=__$mL+j1Kv2qQF!eDliNW~-aP8oNd>cP zSEiWA%Md7X9A79-Qy9d44EL?A&;x(;neZ+1sAp*)Ci(bN+e>#~lTch#bU+qralB?Z zEYIm^vYJd$cEx)}UINZ7v#on`!VQlnxhhie4q=Tfj8rp3%B^W+huU8uZ)O-~C`vwS zBaB~jN%dCpY7`uhVKYW<0WNx>*!;=cDDda9ZivtvnI1>f?o+Gv+h=orY%#9iECn@* zOS{;ue_wp`7k$)&!p1g#WvrKVZu-q&k1zrAY4aZt65i-ZFk~_SjImf=g{ehEEl_8j zZ>0jCk)s27Kvl1kVJE+O0_gexvfRzs0f3VMoQNJaX5UT%uGAd|^fZrpwtb87hVHjY zx7=$FhVJQy0i@X5XPFf5m%vz*VO|=}`V!`v#~aso`HwQdR7Aun(DaKid>}unKV23Md-|#y=@~V58V3HV%#)l=8j5X7B>0G8`N#TUD=Apj)gM*JOy9IQ@L# z`>pRYv+(Ygv&}0g5}jTu?l3fwxqT&n#%ab*~j+TPq0%MdAPR z*+3~DXg`HLP&mj^?i9#2@{^!a$!SH5||MD2<42QRmmn=sR2MdFY;I^7%6C*CJolhT_LzyXZ-d zV9YZ6Ygs8>C-3^rKx48OGD{d--0SpkQ-Cx|#QA9k{_nN*P++R9N&h)P8EUYP>YUvJ zF5uewPiNIMg2lGU;tQV4!i5uc$q0vTXS+R0ezlQDbOXoat#{WUIE)-ohO#8|!WV~F z{aZPXxdf>7@@hY}MYNKS6cf4B@-}3Fba9Ur!zlcF3|61f^}2)Ap@Y=+@k=KolrXjb zFve*kC=8#gnUP=>9dzWc44cYMjwc#uds<90>@06ORZTi+v)b!k@ApfB{uMg(!jtd+ z_XV?lm8SVv9FO);8ASeq$mVd<(9T6lV>UIKWJ+W39_$mM3IWb~9kI;O1}jjGQ$6>=h_F-<~>b-UN-YOtDPe8gVX^_HPg$4f+^ChBo(jHLL~AKmOV* zRXzn?FGrj9#G6<$`g>y%Ra<2UG_eqRw>$3_W_z8t81D_QbtPC5dbCXqtEz2E8Mtj# zhJLN;IOZZiZX}vTHtV4DrT4j0M#0j?vl>IX6>d6+zilk^P4wCICw-*>pHxq1tY7*c zV!Hk~K=4#u8#m+T*3I$M{lK-$u9FZ6W0G}ktNYf%6VR1_a40hI0QX*LT_7>D=|7ga zN-E$nFtJuu5B#nbRC(B@QB}>Z69Ax-TRvs?wnzHspOD@>i>Q!%qM?KhO9q(Ud}BI5 z&qnw$4sLDUEvORh*z8`nrAd|zf`jw|+1jIkhmV!6V_2L>06B!Nhynv?`TU^YwR++O z_Q(?=P%}X6Lx27)TB0IprZPSEZZZRV7gky;8FG|H>CS=%C+XvPUlA&{>m|(Ny3yg+ za@rK~hv{p|IcQ$F1-`AnKr?#Wp_a=Q$ZS_ek&&tF=2vchx5oMG%SlpF=-Ptzoa^n4 zjp2ZC<7vtzgS%c`h2$n?Dh&k$qfECe7uS`16b>3sDy!={qTprEb&>35l9Ebm{7J|o zZ@xw%G!a>SkdU%&G$xSXS_X`?Kn6?xNks+=M|8ZWG0QKwDglfVTL&tFYPQ_i^rKtt zOL)xc&BjY)sAgz*RE*FQfiSc?aOpqqfLL*V6yIP+GPCGs2A%*ayLL~xIWmX5oxR|D z8g0mpoq)jBL$?Tp67u{tovBKdVJp{mI}xyB4GX=9JFGbZ6^jMlu~h=c6tVlyDQ8g&Qxbpf*FNF7e6Z~hdCjrx3q>$nR*es3IkX6M7Od3NktCy1Wk|sb zh}qnd5S^14A&S@Q|KSfUlZF&%iFg2y`qMwI$S!bZwByWI?tEFeNO!Jji%gYqBmCq$ z@!JNRw^8HJ)P(Ev4u*>nfhgRD5^RCRzs-A%*gSmD$pKVI?p;JpbuD)?3Zlh^Q*PSm z6D&~TCbuifl40~34{{{|63OYSdyaFxV@nIbHZjEOqwp9q{GA9`4T2BtoRT_*BK z$d>R?&Ie;Ej_WV~l8_GI`6k{F3u{`|N8M~5Ip9Y}Po#G52Cc8sSw#ZH?j?UY93B?* zYcRMw{~7W)O6*^t68QIm-zdF_N!4W0wVYW-H-xEOfD%nx+I)y?731)sWA%=5av3uO zjHS_7-Xy>kl@7k%Ur{D-UYC1v@a=%uR*dceod=39gK?L!j-!tOV2|Qcy@0lV+3WuB zu|C~`WNPQRDp~#wv&#pF^sh}q6GJ5Atm#>Ry)Z`=zK#u402U%_!X}m_?yyWIw((?7 zyg-XE(YGc-PQDgf0<;$1xWHM!%Eg&;EVpVyg4AvljtMC39f76O@fL8Gf4x(nc|X0C zjK*v;^lv-O%j@s^1mRR=-vdOo|6!0d)B;{T(-UIS1D4UxTP#|Y3GtB_fAgDufz-*9 zd+DV&W?jA&5SC`!sOLThH0)S6H0+vyH+_T|TE8%>!e(*m-oQ9-@fAYc{=4qyog*?_ z4Osubhe2|zC%K!K#I`w({d%?Jr7^&`+3 zLeK*@KD|z+Un{$&ysy+`50P{O95uF)=QTIuNC!nm^p_HOxiR>Ba2(zBf`6nypE|Oy zD+K^2_#Z*(2N~GpQ7d3d*#L38GP91LU#$9W{(R1s*sGI^_?tKpZC?*c*1FV8#ujzk z5{og)GqRGv=xWRSX+LZrj{v;7nA~$h{R$kV97wTcN$SL6@rIMn;Z61yR*WL~i;dC* z@900Y=7w6ZGc1Zn2S0B+~r}jzu=KRnqvNv$lXPgq0R=jM% z`sQ$Bjgp|vc$x)giVm&QInx?`T2?3W>;wqgP zEJ8T!!pGAULMx%R?RCb@ucLrRh^wmlK}^v;AVk+|fQUJx*4J|q<&BmonKl$4}OjkmrR1!Q&o;gcEq^lVtcZeKyORC=ERej&-4wPJ`Pqt51Z8R_6 zVC6-6V%}29%5j>!!suX5eu`X=_K&YOsR=qrz*9r#zCSE%c8(%2+VD=yTsLPO=PWOe zU8aGnE_?8eztYUsV$KD}O{WRW^ZZKQ=j3g|Me6t zXfcYD*H7WbmXsgl>*uSg$!o3&KbkkM%gE3Hl-!kr=WUG8jCF2^dYU=Pc z_n+@{Z+0`pSHR>~7@B)1RsXO}Luh6A&Fx73tQ@+HsmYHz{>Ou|YV-$kVP^_-VW`b< zYNGp_Tpu|6aP(g~*5sRVjZXoi8K0XB;Ph`6WGS^Y zVBEXbX&f|l@Z_qIk&;$?D#;Xk`J z-{0`Su;ZU@8$6ngoR7c#v#g<19~K~SuJ!(_g^_q>?uW>#tvo_UQE%8hBk^x$3j|y} zXzyqdqV$j1wv`T2$7FcWT{ZgWj!{fx-xxhX33D#9y(D_-rdqWdyabVS?{6CC=4Q zLdl|eNuiX8Ro0o2x(Bf(^ z85pi>Mo;@2O^G}ng^?eg9TY4lyKw)vON;#Dvqi3>m;cBkC6%B#ILfWWT{Gi?VO8kY z;iWSE57SgC_MQj4y)&&T>pA)QC+iQw%;~9N9#it=0k+Q4Q-lB5cV(fi+&Y}FDU7NR zTlu}$$#XSKs=ufZJ8UA>s-vMU%%q)C$6$EiG~Sj38`i6Yb?Y?qIRB1X_if;_bC0|k zdj}W^oh6TdTZ9U!N0#I?hBbMG_Gn&Nl@D)y*U|Z(I?2QX`&sO}B(1BG5#WIBiEoE3 z&VK4PCWQC+T2s*2@N?aD2Cccfs&VWOFPP%4rzb%lKvde%{OGFh|IkB{L4Pd=W0K%D zZWDZf`6^n#G%<^uQiMV4mA&}8DrO?hnTc;3ro(#MkpnFy2dcWX{1-{Oi>6w_df-fxCCKM!F;nJx*f6M%}bF}{H zUQjDujWn6018qBD;gXXqX7W`I#TVLuoc0P{RZzfqfPYV$-QUeot##eIev24F&nl}q z`-#Wde#!sn)eUJi4w^_SyvYa|&*lC}%;h(|3jX*OG|z-!pe-0w{dzSv7%{dRc_Y@P z2Vv3h=Nc%5%AIMEj|iA(pJu?Nd>Vf3#8Ho<+FXZpzR+akl&Qh&wC6K&W}N~t$5fKQ z@x}S^&UgEB7s_OEm?`Ru(xft3%ZCcpQh&1Q_TJOY54EwO`ZnLVA6mW-HJRS7pKlCs ze6fSiFI!(hS3YDwb86C%llyE3Lu~ZW+Ey&@#J&2nALuK6cLBeDt6HI)r8ek$4bjb< zD8$s}=?h$IYZyxQAX?4Z)JQlsBV#)vfB62XV)+W;i$9SS>ZxMi7&`ROBxsVxh*!RF zu{gdQAaZ2UYut}&^FF$KpUAIu{hdC5R(7uzhV(@0=-5U9+d+QUCh5RsA7c-TUmtrsxd&#nd%_JUIuF1d^4EjNEEqEY&xqA{ZmuU953E`j=~c{1NIXY?xLN)2W;IMYeq|S0D5aZ8KJ~VBFTplx}V% z-`5lvC69uAd%D`MteLG|1KQIWVYy#0uJy2-**?x{vS>A}FlS)zy_4QI{hb zpQ~5lC9HY&JS=I`;d{7WWATkJMER860ELkiSV;P2!FI|;|V2~LVAom8DnzFZF^e8?|4Sym_n9^h$V$EoMNn7$ZyMV(>?z3 z;xu=`T2PMVt}n>{BGOApQePL7V%EUICC1@zAlB^ow5Xe?)LZT z)men;e9nqQ!*&*^9M^e`Td+xV)eBqBRem9M*LPLi6ri-Xrm_;!uzYe3pJbmxsN6A; z{bAY}EqB>n=T{^sh3^K!d`is6di#^JfBro(iRi@Ob6B74qlIIg{xhY4C~C}Q%R2<@+^BDV1 z;{!Z$#k#t%ffo_$hdBc^<~tK_h)PW!7S#w4sM=bwShacXximVg8@8n*f4*jSYsH5+ z8;iT7DBLmY8+e@Nla1LR$kO}D0x^z&F4GqbvVQt>AN0wbjqp@r z1INmL%!-Lb=G{MC4wJiAaP=X5TdSp3wWXeJw?zO2Jy_k;g==c}=QO#Ztx87kAeamwV!n`3j9<%jp?i)vqa>dEiUW7r1e*rV)w7&}9$ z$WpRIwzAJyvNsqb*~-4}RAd=rUuq`2&s6IB{`CF>uV3*z_qq4nb3XU;Ipx+coSDo?ibXFeL2$R3_~T;Z%lQydRQwL+9@Mo$(A9bEaK z(4nO@4Fy1=iQN}Iy+2?|O*>2f?O{KKRdXR&FDupvI}W9Am=WyRVjEuysRQNe6ak|K z&Ts^IZ~lr>Rlf1sO*W2D%B8?N)F#!Pw5ogK6Gk7>}Ro8Qdg zF~ke=C2Z?CmQShfalN+%_*-#H^)Nm5(zS;ni5~ z);8Ra?$Luyu@=j?4NbmgOFJ^eub?3XA|}ej=i0b%*7>A?5n^!i)N94zu&(uqYFSVK zi4*B(5xCiWqu2mxmFmXKzBDz_qZIQ31hu`}?S+$K!l^Z66XNtJgkIDd))x(R-mqRk zS7m=tKKt7sN&8N6>Ufk?J9V?2vWNbiWwiJ`mU26s&O>-XymThcRy!&ooe{#r3$oby zNk-+PqxzoqTxaG32IY#=0@kjEu;s|tHv%(5uG@b-k8u~xlD%>N5y2vUq1la7^tToT zWF$+G1zY<$I!Lfw%HT9?Cj_}CPZi>9gNMI;Pp5K#e5B;jBS)}f@|#!EGT-Rkt5-Tbhsm#D488+)GGE}1RcyIs~Y2VVZUGu@Nlsb_vK1F+jSs0@Xx zwcO($wbpS@Ts&XaK(~CuKx}L(MxNETYlnETpE`yFWdu*YsCg@1WZmelF=bz32HQ7J zhEeUhOMy}Rx`iJ>aJwlS-9x)q{Cf}LrX8kl!<^evuD)IWO(Fra%`dPH-iwdoHxKj< z4^m&rJD$W9%sBun=LlFJ;sU-A<3_a_l}-isk@|)AijlE=i|czhadWcdU=wIa#dDMH zDt$xfti*H3-q}X?!e)$kPJ`-r9_1&a`l99c#uT)o-m=W+ti1l@u_5k)0~UVlE!&`z zFHBGu>#9OBP3V@dud~QW-ht)j9ZywReb!Ogh9Q}mJXq?@_B>~INbZ*)cX?u$mzCV= zUSIt65g;Hbc13`OO?dC4XLLp=YW30@d{Ek3wU~_y!>^F^4$w31m$$B9=YD%>$QdA_ zyRR|VS*f7#{fikl+Ae18MZ^rKCk5KyT$d(}&4v+i-%YJah1yv$AaqHlP7Fq;1$ljZ z)R_y7woEn*xYzzf59{RVy{-OPkZ{2%`+&*2s#a4>X3HmyThwF!om%7tAdHZp7tm!f zeSE{Hp;S&VC5$o$D6ynp4)%PL<>T5hL7SMkOJN~-FBnJrD`z@B9?()W)^yOZ2^Ghg zme196Esutl#O_ll>coSFuc+pG61AtAX7wA!0uHYDep<;RRN})6W;m0_$bS_8linE4 zvY3ju>Kk)xJShVKIl~}p?9Kp>0jt8Qo=1$GZouE%3E0ltSZS?}qh2gmAUZ_iyUqpbVb82BzFNso%(SydK2F5F zkDY$}Qwlvi?eJ;GH{yu<;|&b73sQu)Fr*!0W_VsFy`-nQ-@pIS|3-xpWVN_)o9z5KF}7-kL`L%5VYvV|}V~ z%s~JB>m51jUp&RoQr)f3ot(eUMCFY4!0Yb+9Qee!%XbbVF8*YBpw#MCgztmZYwISK zUgwV#XG%lsq?x?Qdwa`SwrLRF3#en{+XqsY-IKqcGc&hXaXZO#0U-Jj*5ops^`=FQ zyloUr`mLZoa@NwV5?`c<*CFL~Zz>asr+Pi+hy44Gew1T;qqE-)ruH)J33b&6Ak*iE zb6LqbkHB0udB6fe-1%eIE$T$64jr}GCj<22kB28*%)UUi3mAc-P{dEl#Z=?@27D0b zBkr`!obk+#NXat7l=Jw^*7rb{&fa+mb;L4guh}8DK`oPx)?uBahP``I$7iu`JWxbWGn$qs>7MC4C%U>m!*F( zqT&6D=a8uEPvTEOut?tD6KT{f{DdhuR4a{nx1^kE@VRJX?LOM#+rp`(Fx9_qPJ;a7 z*3U$k|C*Gl5Xvn98@X3zw~w~n&7T1XO6mQ!l(e{-tM2qfbi>OpM)j!QSR8PazyY6QQL?Ru z!i>!V0@lqh{UH>RQEJBEsb#Qzk^BdnY8KA>u)MqiCurFsGdI(%u~GC)LVWja4DlPS z5pgmx@y3Ledwc9~;lt30AXh@8UFi5iP_d>e|huQ5X=59!k zvAm5H?)fS;_+;rV8))p5K+j&AkN21lA+%Am`aHetxarjPIfyUUE5*^Ix0|`s?{;;J zo-8cl=3SS(=5(NiSu(=Q_pP}7nTCI(S>QYHEQ{$2Gsr#l$y={XxZ$D23TbjZAr-NZ;{caxkj;_RZ;Mt0v#a^*eO*8JD`= zueliSrFt6epbcz%ig(7w+_dWmx!iy&`{mEF_z+541Dol`j-3@yS5`0#vj4$TXOxLr zo9^Frd4S~y1(cdqpgCD-Ymu_B&Nu+}dLl~v55njw+?U;(G3>g0wd+1tvu(YvW=Drp zySxY!u#O2&SQN7G(^*&zQ46j&K4iCgWo_kbC_*$ftPvjv!9&CMd!_zBKb}j1h)wg* zdf_qu1g8h-)Bt7}p6YYroXfxsv$7&SFt$fyX=V(jyKlT1_+-E22a^`zlAuNvT(hYg zzglwUe%%w9TV%qwr-#psxQ6Wwr&YBIMwX6n9ikML++2IUnH5^IICh2Bp)Je{M?=R? z89QS5H2)fA7`e{2#eBL<=lgNdtO80tP0%#Pa0#B-uHXIv$R|vr-tOKg?Js8UwjUn) zCgypN7anTGy7onbOt{-#;jC-dcEfz(uFwJ=lD@fjp0+o7aAlP+j)83nL1~MGg5wVE zAHsCsb5!+65Bd1gsvzx5f9182&Lh2G?`P9Y+XwcJi=L;fQa~{VC->tU3ecldr|cdm z19zzLQgv?i^uaW!eS(M~oHP2!(~M4D!rOANCq>n1t2b(GyhN))-7}c+vY94v1HmL?sc`)R^oGEtAr?haV)5TZS4EBV~f)2{6pH>*Bv@f*XD88&O-Am~bt)bD%3NXpD5cEskjLxo^MMj`bl9e%6b z7-L8Ubx?yFk&X^XwRL?t3E;sZ7`wyCd4}U7hF_q0n9V_pv~h{SZEZldn!eMMNy{*~}dsF-d!F!>`O`&zbV> z0qs^gH{_Sx!rgB-EnAGw>NP~d7wx$OsTRkLBbE=IGAljKbk9_APk+1gTI8UU1|<@EM&eHp0@j65kIcr>T|M)Q{6qZLpF>r0Zr8s;r=F*vp3`5OwwNJ*TQ(S{RaNJ=FzFE31 zxP4`KPLzQxvjuq~Xp|a?8{p`|Ws11W_n>_3G76PrReVvYfRX z?Uwxmw1YJJ1lvQs$ym<2$GKGnyS#KZKQ6o#cQOCRy&FuY{=#vF_I#|D>@}C&I}MB@ zKF;2E~mZwN>=*zUWlMY2Wqm!W}* zbjrROB}fa>G!`OqJ;ut1_W=%w_%0^GP+Jzk<;*geUc)_v1Ar&j$C` z>1Ui&!dVd^R3;BO_k%7>%l9;z_I$P7dPWPYRG7{F7(n#qAUFoHF_(?&=sfzj#}XJH z3&|)EOH;HsR?GwtoLX>KVZ+u7X|f2(tt5sY7cOQEQ0Ttpb2IX~o-=Y8jM`pVVkfQh zuMq%5t(6D8r_g8R*{C{Q#A>bRyf`l}c2uMgn4jsS3V>KKLLhkjYWxJ0t#z3|sIO^10H@*uj88VuOn z*Qg}rUQ?+lzGqXeIr2w3xFYoz^~L|4Ys%kYtxH9eKNl5!m-kS8FhFGXqX zv*dbCqsf(ydLy!~elsL4htv7na`9@y5MIFgp3mIlzg52w>j+3C_QdwmR-y;brKn?) zWvWegjKV-|gmNmTM<-6RpL=-GLt}7Zl~Nq_o%eMZOQWFZuZ)UcAgIy^JM;z}46&FV z8FpI|kpu~OtiE_@eUh2%gSKf4?%!W zOlq(QP9w!j9vRK%H>njO8Orw6a3-;k#~?IuR^eQ$iq>b!#kHyQ#B=gDUOj#u_W%Ul zY~2O|(w~R)o?^Y2GKL~c7SG#)$c`o#$O5%!9;b

    CLI usage

    The canpy command runs static analysis on a Python project and builds one PyApplication artifact in memory, then emits it to your chosen target. This guide walks through the common invocations; for the full flag table see the CLI reference.

    + + +

    The only required flag is --input (-i), the project root:

    +
    Terminal window
    canpy --input ./my-python-project
    +

    With no --output, the analysis is printed to stdout as compact JSON. Add --output (-o) to write it to a file instead:

    +
    Terminal window
    canpy --input ./my-python-project --output ./out
    # -> ./out/analysis.json
    + + +

    canpy builds a single analysis in memory and can emit it three ways via --emit:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    --emitOutputNeeds --input?Extra deps
    json (default)analysis.json (or analysis.msgpack)yes
    neo4ja graph.cypher snapshot, or a live Bolt push with --neo4j-uriyesonly the Bolt push: [neo4j]
    schemathe version-stamped Neo4j schema.json contractno
    +

    json is the default and is what the rest of these examples build on. neo4j projects the same in-memory PyApplication into a labeled property graph (covered below). schema serializes the static, project-independent schema contract — no analysis runs, so --input is optional:

    +
    Terminal window
    # Print the schema contract to stdout...
    canpy --emit schema
    +
    # ...or write it to a directory as schema.json
    canpy --emit schema --output ./out
    # -> ./out/schema.json
    +
    graph LR
    +  SRC["Python project"] --> A["canpy<br/>(one analysis in memory)"]
    +  A -->|"--emit json"| J["analysis.json / .msgpack"]
    +  A -->|"--emit neo4j (no uri)"| C["graph.cypher snapshot"]
    +  A -->|"--emit neo4j --neo4j-uri"| B["live Neo4j (Bolt, incremental)"]
    +  A -->|"--emit schema"| S["schema.json contract"]
    + +

    --emit neo4j projects the analysis into a labeled property graph instead of a single JSON blob. Every node label is Py-prefixed and every relationship type is PY_-prefixed (:PyClass, :PyCallable, PY_CALLS, PY_DECLARES), so the Java, TypeScript, and Python analyzers can share one database without label or relationship-type collisions. Declarations are keyed by their signature under a shared :PySymbol label. For the full topology see the graph schema reference.

    +

    The graph is anchored at a single :PyApplication node, and there are two ways to populate it — a self-contained snapshot or a live incremental push — chosen solely by whether --neo4j-uri is set.

    + +

    --app-name sets the name of the single :PyApplication root node for this graph. It is the merge key (uniqueness-constrained), and everything else hangs off it via PY_HAS_MODULE. When omitted it defaults to the basename of the resolved --input directory:

    +
    Terminal window
    canpy --input ./my-service --emit neo4j --app-name my-service
    # the :PyApplication anchor is named "my-service"
    +

    The anchor name also scopes every graph mutation, so many applications can live in one database without clobbering each other:

    +
      +
    • The graph.cypher snapshot wipes only (:PyApplication {name: <app>}) and its module subtree before reloading.
    • +
    • The Bolt orphan prune on a full run is scoped to (:PyApplication {name: $app})-[:PY_HAS_MODULE]->(:PyModule), so pushing app B never deletes app A’s modules from a shared cluster.
    • +
    +

    Each graph also carries a schema_version (currently 1.1.0) stamped on its :PyApplication node, and it is the value the CLDK Python SDK matches via application_name to read back exactly this app’s subgraph. Keep --app-name (CLI) and application_name (SDK) identical.

    + +

    Without --neo4j-uri, canpy writes a self-contained graph.cypher file: the constraints and indexes, a scoped DETACH DELETE of this app’s prior subgraph, then batched UNWIND ... MERGE statements for every node and edge. It needs no extra dependencies and expresses the full truth of the analysis (it is not incremental). With --output, the file lands in that directory; otherwise it is written to the current directory.

    Terminal window
    canpy --input ./my-service --emit neo4j --app-name my-service --output ./out
    # -> ./out/graph.cypher

    Load it into Neo4j with cypher-shell:

    Terminal window
    cypher-shell -u neo4j -p "$NEO4J_PASSWORD" < ./out/graph.cypher

    This path is ideal for committing a reproducible snapshot to CI artifacts, seeding a local database, or loading a graph offline with no driver installed.

    + +

    On a Bolt push, adding --file-name makes the run targeted rather than a full run. A targeted run rewrites only that file’s module and skips orphan pruning — modules for deleted files are not removed. A full run (no --file-name) enables pruning of vanished modules.

    +
    Terminal window
    # Targeted: re-push one changed file, leave everything else (no pruning)
    canpy --input ./my-service --emit neo4j --app-name my-service \
    --neo4j-uri bolt://localhost:7687 --file-name src/app/routes.py
    +
    # Full run: re-analyze the whole project and prune modules whose files are gone
    canpy --input ./my-service --emit neo4j --app-name my-service \
    --neo4j-uri bolt://localhost:7687
    + +

    Once the graph is populated, the CLDK Python SDK can read it back without re-analyzing — no JDK, no native binary, and no project source on the consumer. The graph is produced once, out of band by the canpy --emit neo4j job above; the SDK is a read-only client that only needs the Bolt URI and read-only credentials.

    +

    Install the SDK with its driver extra:

    +
    Terminal window
    pip install 'cldk[neo4j]'
    +

    Pass a Neo4jConnectionConfig as the backend. Its application_name must match the --app-name the graph was loaded with:

    +
    from cldk import CLDK
    from cldk.analysis.commons.backend_config import Neo4jConnectionConfig
    +
    analysis = CLDK.python(
    backend=Neo4jConnectionConfig(
    uri="bolt://localhost:7687",
    username="neo4j",
    password="neo4j", # read-only credentials suffice
    application_name="my-service", # matches canpy --app-name
    ),
    )
    +
    classes = analysis.get_classes() # Dict[str, PyClass]
    cg = analysis.get_call_graph() # networkx.DiGraph keyed by callable signatures
    for sig, cls in classes.items():
    print(sig, list(cls.methods))
    +

    The Neo4j backend reconstructs the same typed model objects and the same networkx call graph as the in-process analyzer: get_symbol_table(), get_call_graph(), get_modules(), get_classes(), get_methods(), get_callers(), get_callees(), get_imports() all return the identical PyClass / PyCallable models. The backend is a context manager (with, and .close() to release the driver), and because the graph is external, project_path is optional.

    + + +

    When emitting JSON, the default serialization is json. Pass --format msgpack (-f) for a gzip-compressed MessagePack artifact — smaller and faster to load for large projects:

    +
    Terminal window
    canpy --input ./my-python-project --output ./out --format msgpack
    # -> ./out/analysis.msgpack
    +

    The CLI logs the compression ratio relative to JSON when it writes msgpack. The schema is identical across formats; only the serialization differs.

    + +

    By default the call graph comes from Jedi’s lexical analysis. Add --codeql to resolve additional edges — including RPC, third-party, and dynamically-dispatched targets — and merge them with the Jedi edges. CodeQL also backfills resolved callees on Jedi call sites it couldn’t resolve.

    +
    Terminal window
    canpy --input ./my-python-project --codeql
    + + +

    Analysis is lazy by default: canpy caches results under .codeanalyzer/ and reuses the entries for files that haven’t changed (detected by mtime, size, and content hash). Pass --eager to rebuild everything from scratch:

    +
    Terminal window
    # Lazy (default) — reuse unchanged files from cache
    canpy --input ./my-python-project
    +
    # Eager — rebuild the analysis and the virtual environment
    canpy --input ./my-python-project --eager
    +

    Control where the cache lives with --cache-dir (-c). If unset, it defaults to .codeanalyzer in the input project directory:

    +
    Terminal window
    canpy --input ./my-python-project --cache-dir /tmp/ca-cache
    # -> /tmp/ca-cache/.codeanalyzer
    +

    By default the cache is kept after a run. Pass --clear-cache to delete it on exit (useful in CI):

    +
    Terminal window
    canpy --input ./my-python-project --clear-cache
    + + +

    To analyze one file rather than the whole project, pass --file-name relative to --input:

    +
    Terminal window
    canpy --input ./my-python-project --file-name src/app/routes.py
    +

    The path must exist under --input and end in .py. As noted above, on a Bolt push --file-name also makes the run targeted and skips orphan pruning.

    + +

    By default canpy builds a per-project analysis virtualenv (now provisioned with uv — parallel downloads and a shared cache, falling back to pip) and wires it to Jedi for import resolution. Pass --no-venv to skip venv creation and dependency installation entirely, resolving imports against the ambient Python interpreter instead:

    +
    Terminal window
    canpy --input ./my-python-project --no-venv
    +

    This is useful in CI, containers, and sandboxed runs where the dependencies are already installed in the environment and building a fresh venv is wasted work. The default (--venv) builds the per-project environment.

    + +

    Test files are skipped by default — any file under a test/tests directory, or named test_*.py / *_test.py. Include them with --include-tests:

    +
    Terminal window
    canpy --input ./my-python-project --include-tests
    + +

    For large projects, --ray distributes symbol-table construction across workers:

    +
    Terminal window
    canpy --input ./large-project --ray
    + +

    The tool is quiet by default. Stack -v for progressively more logging:

    +
    Terminal window
    canpy --input ./my-python-project -v # info
    canpy --input ./my-python-project -vv # debug
    canpy --input ./my-python-project -vvv # trace
    + +

    A typical CI invocation — eager rebuild, CodeQL on, msgpack out, cache discarded:

    +
    Terminal window
    canpy \
    --input ./my-python-project \
    --output ./artifacts \
    --format msgpack \
    --codeql \
    --eager \
    --clear-cache \
    -v
    +

    And a scheduled graph-population job — an incremental Bolt push into a shared cluster, with the password supplied via the environment:

    +
    Terminal window
    export NEO4J_URI=bolt://neo4j.internal:7687
    export NEO4J_PASSWORD=secret
    +
    canpy \
    --input ./my-service \
    --emit neo4j \
    --app-name my-service \
    --no-venv \
    -v
    + +
    \ No newline at end of file diff --git a/guides/codeql/index.html b/guides/codeql/index.html new file mode 100644 index 0000000..4ae0f9e --- /dev/null +++ b/guides/codeql/index.html @@ -0,0 +1,126 @@ + CodeQL analysis | codeanalyzer-python + Skip to content

    CodeQL analysis

    By default the call graph comes entirely from Jedi’s lexical analysis. That’s fast and needs no external tooling, but lexical resolution can’t see every edge — calls through dynamic dispatch, RPC, and some third-party boundaries slip past it. Passing --codeql adds a second engine that resolves those, then merges its edges with Jedi’s.

    + + +

    With --codeql, canpy does two extra things:

    +
      +
    • Resolves additional edges — including RPC, third-party, and dynamically-dispatched targets — tagged provenance=["codeql"], and merges them with the Jedi-derived edges. An edge both engines see carries both provenance tokens.
    • +
    • Backfills call sites — where Jedi left a PyCallsite.callee_signature unresolved, CodeQL fills it in. The single CodeQL query is shared (cached on the analysis instance), so this costs no extra database work.
    • +
    +

    The merged call graph is what every output target sees, so the deeper edges flow through whichever way you emit. When you project to Neo4j with --emit neo4j, each PY_CALLS relationship carries its provenance array, so a CodeQL-only edge is queryable as such, and a target CodeQL resolves but Jedi never saw surfaces as a :PyExternal ghost node.

    +
    flowchart LR
    +    ST[symbol table] --> J[Jedi edges]
    +    ST --> Q["CodeQL query
    +(direct + constructor calls)"]
    +    Q --> B[backfill unresolved call sites]
    +    Q --> CE[CodeQL edges]
    +    J --> M[merge_edges]
    +    CE --> M
    +    M --> CG[call graph]
    +    CG --> IR["analysis (in memory)"]
    +    IR -->|"--emit json"| AJ[analysis.json]
    +    IR -->|"--emit neo4j"| PG["Neo4j property graph
    +(PY_CALLS.provenance preserved)"]
    +    PG -->|"no --neo4j-uri"| SNAP["graph.cypher snapshot"]
    +    PG -->|"--neo4j-uri (Bolt)"| LIVE["live incremental push"]
    + +

    The first time you enable CodeQL on a project, canpy sets up everything it needs under the cache directory:

    +
      +
    1. CLI binary. It looks for a binary in <cache-dir>/codeql/bin/, then for codeql on your PATH, and otherwise downloads the CLI into <cache-dir>/codeql/bin/. The project-local copy is preferred over PATH so the version it installed stays deterministic.
    2. +
    3. Query library pack. The CLI install ships only the language extractors, so canpy materializes a small qlpack.yml depending on codeql/python-all and runs codeql pack install once — colocating the temporary query inside that pack so import python resolves cleanly.
    4. +
    5. Database. It builds a CodeQL database for the project under <cache-dir>/codeql/<project>-db.
    6. +
    + + +

    The CodeQL database is keyed by a checksum over all .py files in the project. On a later run, canpy reuses the cached database when the checksum still matches and the db-python directory exists; otherwise it rebuilds. --eager forces a rebuild regardless.

    + +

    CodeQL and Jedi describe the same definitions slightly differently, so CodeQL endpoints have to be mapped back into Jedi’s PyCallable.signature space. canpy uses a resolution ladder rather than a brittle exact match:

    +
      +
    1. Exact (file, start_line) match.
    2. +
    3. Same (file, short_name) — if there’s a single candidate, take it; otherwise pick the nearest start_line among those whose parameter count matches CodeQL’s positional arity.
    4. +
    5. No match — the caller is skipped, or the callee becomes a ghost node (as it would have been without CodeQL).
    6. +
    +

    This matters because CodeQL and Jedi often disagree on a definition’s start line — commonly for decorated functions, where an exact-only join would silently drop the edge. The CodeQL query emits each endpoint’s function name and positional arity to drive the tiebreak. (Jedi’s parameter count includes *args/**kwargs/keyword-only slots while CodeQL’s arity is positional only, so the arity filter is exact for plain signatures and yields to the nearest-line tiebreak otherwise.)

    + +

    If CodeQL extraction fails for any reason, canpy logs a warning and falls back to the Jedi-only call graph — the run still completes and still produces a valid artifact. CodeQL deepens the graph; it never gates it.

    + +
    \ No newline at end of file diff --git a/guides/concepts/index.html b/guides/concepts/index.html new file mode 100644 index 0000000..f14a492 --- /dev/null +++ b/guides/concepts/index.html @@ -0,0 +1,155 @@ + Core concepts | codeanalyzer-python + Skip to content

    Core concepts

    Every run produces one PyApplication — a typed model of a project with three top-level pieces: a symbol table, a call graph, and entrypoints. This page explains what each contains, how the pipeline builds them, the two cross-cutting ideas you’ll meet everywhere — provenance and the analysis cache — and how that same in-memory model projects into a Neo4j property graph when you ask for it.

    +
    flowchart TB
    +    ST["symbol_table: Dict[str, PyModule]"]
    +    CG["call_graph: List[PyCallEdge]"]
    +    EP["entrypoints: Dict[str, List[PyEntrypoint]]"]
    +    APP["PyApplication"] --> ST
    +    APP --> CG
    +    APP --> EP
    +    APP -. "--emit neo4j" .-> PG["Labeled property graph<br/>(:PyApplication anchor)"]
    +    PG --> SNAP["graph.cypher snapshot<br/>(no --neo4j-uri)"]
    +    PG --> BOLT["live Bolt push<br/>(--neo4j-uri, incremental)"]
    + +

    The symbol table is the structured inventory of the project: one PyModule per source file, each holding its imports, classes, functions, and module-level variables. It’s the foundation every other piece is built on, and it’s what you get even on the cheapest run.

    +
    flowchart LR
    +    M[PyModule] --> C[PyClass]
    +    M --> F["PyCallable (function)"]
    +    C --> ME["PyCallable (method)"]
    +    ME --> CS[PyCallsite]
    +    ME --> P[PyCallableParameter]
    +    C --> A[PyClassAttribute]
    +

    A PyCallable (function or method) carries its signature, source code, parameters, decorators, call_sites, accessed symbols, cyclomatic complexity, and nested callables/classes. A PyClass carries its base_classes, methods, attributes, and decorators. Each node records line/column spans so you can map any element back to source.

    +

    Construction is done by Jedi (for type and reference resolution) over a Tree-sitter / ast walk. Because Jedi resolves against the project’s own installed dependencies, canpy builds an isolated virtual environment per project first. In CI, containers, and sandboxed runs where that’s redundant, --no-venv resolves against the ambient interpreter instead.

    + + +

    The call graph records who-calls-whom as a flat list of PyCallEdge objects. Each edge is identity-only: a source signature, a target signature, a weight, and a provenance list. The nodes of the graph are the PyCallable entries already in the symbol table — there’s no separate vertex type. Rich per-call detail (receiver, argument types, location) lives on the PyCallsite entries inside each callable.

    +
    flowchart LR
    +    A["app.cli.main"] -->|jedi| B["app.parser.parse"]
    +    B -->|jedi, codeql| C["app.model.Order.__init__"]
    +    B -->|codeql| D["thirdparty.rpc.call"]
    +

    Because it’s a plain edge list keyed by signature, loading it into networkx is direct:

    +
    import json, networkx as nx
    +
    app = json.load(open("analysis.json"))
    g = nx.DiGraph()
    for e in app["call_graph"]:
    g.add_edge(e["source"], e["target"])
    +
    nx.has_path(g, entry_sig, sink_sig) # reachability — a query, not a guess
    + +

    Every run builds the graph in four steps — CodeQL participates only when --codeql is passed:

    +
      +
    1. CodeQL resolution (if enabled) produces resolved edges tagged provenance=["codeql"] and backfills callee_signature on call sites Jedi couldn’t resolve.
    2. +
    3. Constructor fallback — a heuristic walks the symbol table by class short-name and scope to fill in constructor calls neither Jedi nor CodeQL resolved (common for classes nested inside functions), synthesizing <class>.__init__ targets.
    4. +
    5. Jedi edges are derived from the now-fully-augmented symbol table, reflecting every resolution it contains.
    6. +
    7. Merge — Jedi and CodeQL edges are unioned; an edge both engines saw carries both provenance tokens.
    8. +
    + + +

    Every PyCallEdge carries a provenance list recording which engine(s) produced it: "jedi", "codeql", or an extension’s own token (e.g. "odoo_orm_dispatch"). It’s an open vocabulary — a stored analysis.json round-trips no matter which engines or passes were installed when it was written. Provenance lets a consumer weigh edges by confidence, or filter to a single engine’s view. The projection carries it through: a PY_CALLS relationship keeps weight and the full provenance string array.

    + +

    Entrypoints are the framework-dispatched roots of an application — the functions a framework calls that your own code never calls directly: a Flask route handler, a Celery task, a Click command, a gRPC servicer method. They’re collected into entrypoints, keyed by framework name, with each PyEntrypoint referencing a callable by signature and carrying framework metadata (route path, HTTP methods, task name, …).

    +

    Entrypoints matter because reachability is only meaningful from a real root. “Is this sink reachable?” becomes answerable once you know where execution actually enters the program. See Entrypoint detection.

    + +

    Analysis is lazy by default. canpy stores its results under .codeanalyzer/ and, on the next run, reuses the cached entry for any file whose mtime, size, and content hash are unchanged — only new or modified files are re-analyzed. --eager forces a full rebuild; --clear-cache deletes the cache on exit.

    +

    Crucially, only the symbol table and base call graph are cached. The pass-pipeline output — entrypoints and synthetic edges — is recomputed on every run, so it can never go stale when an extension is added, changed, or removed.

    +
    flowchart LR
    +    R[analyze] --> Cache{"cached &<br/>unchanged?"}
    +    Cache -->|yes| Reuse[reuse symbol table<br/>+ base call graph]
    +    Cache -->|no| Build[rebuild from source]
    +    Reuse --> Pipe[run pass pipeline<br/>always]
    +    Build --> Pipe
    +    Pipe --> Out[PyApplication]
    +

    The same per-file content hash that drives this cache also drives the incremental Neo4j push: a PyModule carries its content_hash, and a live Bolt push compares it against the hash already in the database so only changed modules are rewritten.

    + +

    analysis.json is one self-contained file: to query it you load the whole thing into memory and walk it. That’s fine for a single project and a non-starter across a portfolio. --emit neo4j projects the same in-memory PyApplication — same symbol table, same call graph — into a labeled property graph so many applications can live in one database and you query across all of them with Cypher instead of parsing giant JSON blobs.

    +

    The projection is a faithful mapping, not a new analysis:

    +
      +
    • Labels are namespaced. Every node label is Py-prefixed and every relationship type is PY_-prefixed — :PyModule, :PyClass, :PyCallable, PY_CALLS, PY_DECLARES — so the Java (:J* / no prefix) and TypeScript analyzers can share one database without label or relationship-type collisions.
    • +
    • Declarations are keyed by signature. :PyClass, :PyCallable, and :PyExternal are all MERGEd under a shared :PySymbol label keyed by signature — the very identity used in the symbol table and call graph. That’s what lets call edges, inheritance, and declaration containment reference a symbol without duplicating it.
    • +
    • Ghost nodes become :PyExternal. The third-party and RPC endpoints that the in-memory model keeps as ghost nodes are materialized authoritatively as :PyExternal nodes (carrying name and module). A PyCallSite resolves via PY_RESOLVES_TO to either a real :PyCallable or an external, and PY_CALLS edges to externals survive the projection.
    • +
    • One application, one anchor. Everything hangs off a single :PyApplication node whose name is your --app-name (defaulting to the input directory’s basename). The node also carries schema_version — currently 1.1.0 — so a consumer can check the contract it’s reading against.
    • +
    + + +

    --emit neo4j has two sub-modes, decided solely by whether --neo4j-uri is set:

    +

    Without --neo4j-uri, canpy writes a self-contained graph.cypher to the output directory: constraints and indexes, a scoped wipe of this application’s prior subtree, then batched UNWIND … MERGE for nodes and edges. It needs no extra dependencies and expresses the full truth of the analysis (it is not incremental). Load it with cypher-shell:

    Terminal window
    canpy --input ./my-python-project --emit neo4j --app-name my-service --output ./out
    cypher-shell < ./out/graph.cypher

    The wipe is scoped to MATCH (a:PyApplication {name: "my-service"}) and its module subtree, so reloading one application never touches another’s data in a shared database.

    + + +
    \ No newline at end of file diff --git a/guides/entrypoints/index.html b/guides/entrypoints/index.html new file mode 100644 index 0000000..73f4041 --- /dev/null +++ b/guides/entrypoints/index.html @@ -0,0 +1,170 @@ + Entrypoint detection | codeanalyzer-python + Skip to content

    Entrypoint detection

    Work in progress Help wanted

    + +

    An entrypoint is a function the framework calls that your own code never calls directly: a Flask route handler, a FastAPI endpoint, a Celery task, a Click command, a gRPC servicer method. Static call-graph analysis can’t see these edges — the framework wires them up at runtime — so without help, those handlers look like dead code, and reachability from “where execution actually enters” is unanswerable.

    +

    codeanalyzer-python is designed to surface entrypoints with a layer modeled on JackEE (Antoniadis et al., PLDI 2020) — the same framework-independent entrypoint architecture the Java analyzer uses. Each detected root becomes a PyEntrypoint in PyApplication.entrypoints, keyed by framework name. The detection sources and framework-specific fields below define what a finder can record; which of them are populated depends entirely on which finders are installed.

    +
    flowchart LR
    +    F["@app.route('/orders')"] --> EP[PyEntrypoint]
    +    EP -->|references by signature| C["app.views.list_orders"]
    +    C --> G[call graph]
    +    G --> R["reachable sinks?"]
    +    G --> IR["in-memory PyApplication"]
    +    IR -->|"--emit json (default)"| AJ["analysis.json"]
    +    IR -->|"--emit neo4j"| PG["Neo4j property graph"]
    +    PG -->|no --neo4j-uri| SNAP["graph.cypher snapshot"]
    +    PG -->|"--neo4j-uri (live Bolt)"| BOLT["incremental push"]
    + +

    Each entrypoint references a PyCallable by signature (the callable itself stays in the symbol table) and records how it was detected and what the framework knows about it:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldMeaning
    signatureThe callable this entrypoint refers to.
    frameworkThe framework that dispatches it ("flask", "celery", …).
    detection_sourceHow it was found — see below.
    route_path, http_methodsFor HTTP routes.
    celery_task_name, cli_command_name, lambda_handler_key, grpc_service_nameFramework-specific identifiers, populated when applicable.
    source_fileThe file declaring the binding (urls.py, template.yaml, …).
    tagsFree-form, namespaced metadata for extensions (e.g. an auth guard an LLM needs to judge exploitability).
    + +

    The detection_source field records the mechanism by which a root was found. Finders recognize several:

    +
      +
    • decorator — decorator-bound handlers: Flask @app.route, FastAPI @router.get, Celery @shared_task, Click @cli.command.
    • +
    • base_class — inheritance-based dispatch where the framework invokes specific methods on a subclass: Tornado RequestHandler.get/post, Django class-based views, gRPC Servicer RPC methods.
    • +
    • url_resolver — Django path() / re_path() / url() / include() tables.
    • +
    • router_mount — FastAPI app.include_router / app.mount.
    • +
    • blueprint — Flask register_blueprint.
    • +
    • lambda_template — AWS SAM / serverless.yml handler bindings.
    • +
    • typer_subapp, click_add_command, argparse_dispatch — CLI dispatch wiring.
    • +
    • convention — convention-bound roots like the AWS Lambda def handler(event, context) shape.
    • +
    • extension — emitted by an out-of-tree pass (see Analysis passes).
    • +
    + + +

    A finder implements two predicates, mirroring JackEE:

    +
      +
    • find_function — for decorator-, convention-, and binding-bound roots (Flask, FastAPI, Celery, Click, Django function views resolved via urls.py, the Lambda handler convention).
    • +
    • find_class — for inheritance-based dispatch, returning one entrypoint per framework-dispatched method. A Tornado RequestHandler subclass expands into separate entrypoints for get, post, and so on.
    • +
    +
    flowchart TB
    +    ST[symbol table] --> FF[find_function<br/>per callable]
    +    ST --> FC[find_class<br/>per class → per dispatched method]
    +    FF --> EPS["PyEntrypoint[]"]
    +    FC --> EPS
    +    EPS --> APP["app.entrypoints[framework]"]
    + +

    Once entrypoints are known, “is this sink reachable?” has a real starting set. You seed a graph traversal from entrypoint signatures and ask whether a path reaches the sink — confirming or refuting a scanner alert with a networkx query instead of a guess:

    +
    import networkx as nx
    +
    roots = [ep["signature"]
    for eps in app["entrypoints"].values()
    for ep in eps]
    +
    reachable = any(nx.has_path(g, root, sink_sig) for root in roots if root in g)
    + + +

    Entrypoint finding is one kind of analysis pass. To recognize a framework codeanalyzer doesn’t cover, write an AbstractEntrypointFinder and register it via the codeanalyzer.analysis_passes entry-point group — no fork required. See Analysis passes.

    + +
    \ No newline at end of file diff --git a/guides/neo4j/index.html b/guides/neo4j/index.html new file mode 100644 index 0000000..aee1017 --- /dev/null +++ b/guides/neo4j/index.html @@ -0,0 +1,209 @@ + Neo4j property graph | codeanalyzer-python + Skip to content

    Neo4j property graph

    analysis.json is one self-contained file: to query it you load the whole thing into memory and walk it. That works for a single project and falls over across a portfolio. --emit neo4j projects the same in-memory PyApplication — same symbol table, same call graph — into a labeled property graph, so many applications live in one database and you query across all of them with Cypher instead of parsing giant JSON blobs.

    +
    PY_HAS_MODULE PY_DECLARES PY_HAS_ATTRIBUTE PY_HAS_METHOD PY_DECORATED_BY PY_HAS_CALLSITE PY_RESOLVES_TO PY_CALLS :PyApplication name schema_version :PyModule module_name content_hash :PyClass :PySymbol name base_classes :PyAttribute name type :PyCallable :PySymbol signature cyclomatic_complexity :PyDecorator name :PyCallSite method_name receiver_type :PyExternal name module
    +The analysis is a Neo4j property graph: every node carries a +label (its color) and properties; every relationship carries a +type. The dashed ring marks an entrypoint; + the PY_CALLS edge is the resolved call graph. +
    +

    This guide covers both ways to populate that graph (a self-contained snapshot and a live incremental push), how --app-name keeps many applications safely in one database, the version-stamped schema contract, and how the CLDK Python SDK reads the graph back without re-analyzing anything. For the full node-and-relationship topology, see the output schema reference.

    + +

    --emit neo4j is an alternative to the default analysis.json, selected by the --emit enum: canpy builds one analysis in memory and then projects it. The mapping is faithful — it is the same model, not a new analysis:

    +
      +
    • Labels are namespaced. Every node label is Py-prefixed and every relationship type is PY_-prefixed — :PyModule, :PyClass, :PyCallable, PY_CALLS, PY_DECLARES — so the Java, TypeScript, and Python analyzers can share one database without label or relationship-type collisions.
    • +
    • Declarations are keyed by signature. :PyClass, :PyCallable, and :PyExternal are all MERGEd under a shared :PySymbol label keyed by signature — the very identity used in the symbol table and call graph. That is what lets call edges, inheritance, and declaration containment reference a symbol without duplicating it.
    • +
    • Ghost nodes become :PyExternal. Third-party and RPC endpoints that the in-memory model keeps as ghost nodes are materialized authoritatively as :PyExternal nodes, carrying name and module. A PyCallSite resolves via PY_RESOLVES_TO to either a real :PyCallable or an external, and PY_CALLS edges to externals survive the projection.
    • +
    • One application, one anchor. Everything hangs off a single :PyApplication node whose name is your --app-name. That node also carries schema_version so a consumer can check the contract it is reading against.
    • +
    +
    flowchart TB
    +    APP["PyApplication (in memory)"]
    +    APP -->|"--emit json"| J["analysis.json / .msgpack"]
    +    APP -.->|"--emit neo4j"| PG["Labeled property graph"]
    +    PG --> SNAP["graph.cypher snapshot<br/>(no --neo4j-uri)"]
    +    PG --> BOLT["live Bolt push<br/>(--neo4j-uri, incremental)"]
    +    APP -->|"--emit schema"| SCH["schema.json contract"]
    + +

    The graph splits analysis into two independent halves. The producer is a canpy --emit neo4j run — the heavy step that walks source, resolves with Jedi (and optionally CodeQL), and writes the graph. It runs out of band: a CI step, or a Kubernetes Job or CronJob on each commit, pushing app-scoped subgraphs over Bolt into a shared Neo4j.

    +

    The consumers — agents, dashboards, and the CLDK Python SDK — are lightweight read-only clients. They never run the analyzer; they only query the graph. Because the push is incremental and app-scoped, many producer jobs write into one cluster while many consumers fan out from it, and the two scale independently.

    +
    flowchart LR
    +    subgraph Producers["Producers (out of band)"]
    +      P1["canpy --emit neo4j<br/>service-a"]
    +      P2["canpy --emit neo4j<br/>service-b"]
    +    end
    +    DB[("Neo4j<br/>(shared cluster)")]
    +    subgraph Consumers["Consumers (read-only)"]
    +      C1["CLDK SDK"]
    +      C2["agents"]
    +      C3["dashboards"]
    +    end
    +    P1 -->|"Bolt, incremental"| DB
    +    P2 -->|"Bolt, incremental"| DB
    +    DB --> C1
    +    DB --> C2
    +    DB --> C3
    + +

    --app-name sets the name of the single :PyApplication root node for this graph. It is the merge key (uniqueness-constrained), and everything else hangs off it via PY_HAS_MODULE. When omitted it defaults to the basename of the resolved --input directory:

    +
    Terminal window
    canpy --input ./my-service --emit neo4j --app-name my-service
    # the :PyApplication anchor is named "my-service"
    +

    The anchor name also scopes every graph mutation, which is what makes one shared database multi-tenant by construction — applications never clobber each other:

    +
      +
    • The graph.cypher snapshot wipes only (:PyApplication {name: <app>}) and its module subtree before reloading.
    • +
    • The Bolt orphan prune on a full run is scoped to (:PyApplication {name: $app})-[:PY_HAS_MODULE]->(:PyModule), so pushing app B never deletes app A’s modules.
    • +
    +

    --app-name is also the value the CLDK Python SDK matches via application_name to read back exactly this app’s subgraph. Keep --app-name (CLI) and application_name (SDK) identical.

    + + +

    --emit neo4j has two sub-modes, decided solely by whether --neo4j-uri is set.

    +

    Without --neo4j-uri, canpy writes a self-contained graph.cypher file: the constraints and indexes, a scoped DETACH DELETE of this app’s prior subgraph, then batched UNWIND … MERGE statements for every node and edge. It needs no extra dependencies and expresses the full truth of the analysis (it is not incremental). With --output the file lands in that directory; otherwise it is written to the current directory.

    Terminal window
    canpy --input ./my-service --emit neo4j --app-name my-service --output ./out
    # -> ./out/graph.cypher

    Load it into Neo4j with cypher-shell:

    Terminal window
    cypher-shell -u neo4j -p "$NEO4J_PASSWORD" < ./out/graph.cypher

    This path is ideal for committing a reproducible snapshot as a CI artifact, seeding a local database, or loading a graph offline with no driver installed.

    + +

    On a Bolt push, adding --file-name makes the run targeted rather than a full run. A targeted run rewrites only that file’s module and skips orphan pruning — modules for deleted files are not removed. A full run (no --file-name) enables pruning of vanished modules.

    +
    Terminal window
    # Targeted: re-push one changed file, leave everything else (no pruning)
    canpy --input ./my-service --emit neo4j --app-name my-service \
    --neo4j-uri bolt://localhost:7687 --file-name src/app/routes.py
    +
    # Full run: re-analyze the whole project and prune modules whose files are gone
    canpy --input ./my-service --emit neo4j --app-name my-service \
    --neo4j-uri bolt://localhost:7687
    +

    A natural pattern is a targeted push per changed file in a fast pre-merge hook, and a scheduled full run that reconciles deletions.

    + +

    Because the analyzer is the producer half and writes app-scoped subgraphs, it fits a Job (one-shot reconciliation) or a CronJob (periodic re-analysis) that pushes over Bolt into a managed or clustered Neo4j. Supply the connection through the standard environment variables — read the password from a Secret so it never lands on the command line:

    +
    apiVersion: batch/v1
    kind: CronJob
    metadata:
    name: analyze-my-service
    spec:
    schedule: "*/30 * * * *"
    jobTemplate:
    spec:
    template:
    spec:
    restartPolicy: Never
    containers:
    - name: canpy
    image: ghcr.io/codellm-devkit/codeanalyzer-python:latest
    args:
    - --input=/src
    - --emit=neo4j
    - --app-name=my-service
    - --no-venv
    - -v
    env:
    - name: NEO4J_URI
    value: bolt://neo4j.data:7687
    - name: NEO4J_USERNAME
    value: neo4j
    - name: NEO4J_PASSWORD
    valueFrom:
    secretKeyRef:
    name: neo4j-auth
    key: password
    volumeMounts:
    - name: source
    mountPath: /src
    volumes:
    - name: source
    # a checkout of the project under analysis
    emptyDir: {}
    +

    --no-venv resolves imports against the ambient interpreter instead of building a per-project virtualenv, which is the right default in a container where dependencies are already installed. Each app’s CronJob writes only its own anchored subgraph, so dozens of services can target one Neo4j cluster; give the analyzer write credentials and your consumers read-only ones.

    + + +

    Every graph carries a schema_version stamped on its :PyApplication node — currently 1.1.0 — so a consumer can check the contract before it reads. The machine-readable contract itself is project-independent, so you can publish it without running any analysis:

    +
    Terminal window
    # Print the schema contract to stdout...
    canpy --emit schema
    +
    # ...or write it to a directory as schema.json
    canpy --emit schema --output ./out
    # -> ./out/schema.json
    +

    schema.json enumerates every node label, relationship type, and property the emitter can produce. It is checked into the repository as schema.neo4j.json and shipped as a GitHub Release asset, so a downstream tool can pin the version it was built against. See the output schema reference for the data model behind it.

    + +

    Once the graph is populated, the CLDK Python SDK reads it back without re-analyzing — no JDK, no native binary, and no project source on the consumer. The graph is produced once, out of band, by the canpy --emit neo4j job above; the SDK is a read-only client that only needs the Bolt URI and read-only credentials. This is the enterprise unlock: analysis is produced once, centrally, and read cheaply everywhere.

    +
      +
    1. +

      Install the SDK with its driver extra:

      +
      Terminal window
      pip install 'cldk[neo4j]'
      +
    2. +
    3. +

      Pass a Neo4jConnectionConfig as the backend. Its application_name must match the --app-name the graph was loaded with:

      +
      from cldk import CLDK
      from cldk.analysis.commons.backend_config import Neo4jConnectionConfig
      +
      analysis = CLDK.python(
      backend=Neo4jConnectionConfig(
      uri="bolt://localhost:7687",
      username="neo4j",
      password="neo4j", # read-only credentials suffice
      database=None, # None => server default
      application_name="my-service", # matches canpy --app-name
      ),
      )
      +
      classes = analysis.get_classes() # Dict[str, PyClass]
      cg = analysis.get_call_graph() # networkx.DiGraph keyed by callable signatures
      for sig, cls in classes.items():
      print(sig, list(cls.methods))
      +
    4. +
    +

    Selecting the backend by the type of the backend= config is the whole switch: a Neo4jConnectionConfig swaps the facade onto the read-only Neo4j backend, while the default config runs the in-process analyzer. The Neo4j backend bulk-fetches nodes and relationships in a handful of Cypher queries and rebuilds the same PyApplication (the PyModule symbol table plus the PyCallEdge call graph) and the same networkx DiGraph the in-process analyzer produces. So get_symbol_table(), get_call_graph(), get_modules(), get_classes(), get_class(), get_methods(), get_callers(), get_callees(), and get_imports() all return the identical typed model objects.

    +

    Because the graph is external, project_path is optional for the Neo4j backend. The backend is a context manager — use with, or call .close() to release the driver:

    +
    with CLDK.python(backend=Neo4jConnectionConfig(
    uri="bolt://localhost:7687",
    application_name="my-service")) as analysis:
    callers = analysis.get_callers("my_pkg.parser.Parser.parse")
    + + + +

    You do not have to go through the SDK — the graph is plain Cypher. A few examples against the schema:

    +
    // All applications in this database and their schema version
    MATCH (a:PyApplication)
    RETURN a.name AS app, a.schema_version AS schema;
    +
    // The most complex callables across the whole portfolio
    MATCH (a:PyApplication)-[:PY_HAS_MODULE]->(:PyModule)
    -[:PY_DECLARES*]->(c:PyCallable)
    RETURN a.name AS app, c.signature, c.cyclomatic_complexity AS cc
    ORDER BY cc DESC LIMIT 20;
    +
    // Which applications call into a given external symbol
    MATCH (a:PyApplication)-[:PY_HAS_MODULE]->(:PyModule)
    -[:PY_DECLARES*]->(:PyCallable)-[:PY_CALLS]->(e:PyExternal)
    WHERE e.module = 'requests'
    RETURN DISTINCT a.name AS app;
    +

    Because every label is Py-prefixed and the Java and TypeScript analyzers use their own prefixes, these queries are unambiguous even when all three languages share one database.

    + +
    \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..c4bd680 --- /dev/null +++ b/index.html @@ -0,0 +1,103 @@ + codeanalyzer-python | codeanalyzer-python + Skip to content

    codeanalyzer-python

    Point it at a Python project and get back a typed symbol table and call graph — as an analysis.json or a Neo4j property graph. Program analysis your agents can call.

    Point canpy at a project and it builds one analysis in memory — a typed model of every module, class, method, and call edge, plus the framework entrypoints that reach them — then emits it the way you need it. It’s the Python backend behind CLDK, usable standalone as a CLI or a library.

    +

    One analysis, three output targets via --emit:

    +
      +
    • analysis.json (default) — the self-contained PyApplication artifact, loaded whole into memory by the consumer.
    • +
    • Neo4j property graph (--emit neo4j) — project the same model into a labeled property graph: a graph.cypher snapshot, or an incremental live push to Neo4j over Bolt. Every node label is Py-prefixed and every relationship type PY_-prefixed (:PyClass, PY_CALLS), so Java, TypeScript, and Python analyzers can share one database without label collisions. The graph is a queryable, persistent system of record that holds many applications at once — cross-service questions become a Cypher traversal instead of parsing giant JSON blobs.
    • +
    • Schema contract (--emit schema) — the machine-readable, version-stamped Neo4j schema (schema_version 1.1.0), no project required.
    • +
    + + +
    + +

    Build the analysis once and project it into a graph. Without --neo4j-uri, canpy writes a self-contained graph.cypher (constraints + indexes, a scoped wipe of this app’s prior subgraph, then batched MERGEs) that you load with cypher-shell:

    +
    Terminal window
    canpy --input ./my-service --emit neo4j --app-name my-service
    cypher-shell < graph.cypher
    +

    With --neo4j-uri, it pushes to a live Neo4j over Bolt incrementally — only modules whose content hash changed are rewritten, and on a full run modules whose source file vanished are pruned. The push is scoped to the :PyApplication anchor named by --app-name, so writing one application never clobbers another’s modules in a shared database:

    +
    Terminal window
    export NEO4J_URI=bolt://localhost:7687
    export NEO4J_PASSWORD=# prefer the env var so it stays out of shell history
    canpy --input ./my-service --emit neo4j --app-name my-service
    +

    The live push needs the neo4j driver extra (pip install 'codeanalyzer-python[neo4j]'); the snapshot and schema modes need nothing extra.

    + +

    A separate job populates the graph out of band; consumers just read it. The CLDK Python SDK has a read-only Neo4j backend — point it at the Bolt URI and it reconstructs the same typed PyClass/PyCallable objects and the same networkx call graph as the in-process analyzer, with no JDK, no native binary, and no project source on the consumer. It only needs the graph and read-only credentials.

    +
    from cldk import CLDK
    from cldk.analysis.commons.backend_config import Neo4jConnectionConfig
    +
    analysis = CLDK.python(
    backend=Neo4jConnectionConfig(
    uri="bolt://localhost:7687",
    username="neo4j",
    password="neo4j",
    application_name="my-service", # matches canpy --app-name
    ),
    )
    classes = analysis.get_classes() # Dict[str, PyClass]
    cg = analysis.get_call_graph() # networkx.DiGraph keyed by callable signatures
    +

    application_name matches the --app-name the graph was loaded with, scoping every query to that one application. The neo4j driver is an optional extra here too: pip install cldk[neo4j].

    + +
    \ No newline at end of file diff --git a/installing/index.html b/installing/index.html new file mode 100644 index 0000000..81d4a00 --- /dev/null +++ b/installing/index.html @@ -0,0 +1,113 @@ + Installation | codeanalyzer-python + Skip to content

    Installation

    codeanalyzer-python is published on PyPI and installs with any Python package manager. It also ships a one-line installer and a Homebrew formula.

    + +
    Terminal window
    pip install codeanalyzer-python
    +

    This installs the canpy command. Verify it:

    +
    Terminal window
    canpy --help
    + + +

    canpy can emit a Neo4j property graph instead of analysis.json. The graph.cypher snapshot (--emit neo4j with no --neo4j-uri) and the schema contract (--emit schema) need nothing extra. Only the incremental live Bolt push (--emit neo4j --neo4j-uri …) needs the Neo4j driver, which ships as an optional extra:

    +
    Terminal window
    pip install 'codeanalyzer-python[neo4j]'
    +

    This pulls in neo4j>=5,<6. The driver is imported lazily off the default path, so a standard install stays lean; if you reach for --neo4j-uri without the extra, canpy raises a clear error telling you to install it.

    +
    Terminal window
    # graph.cypher snapshot — no extra deps; load it later with cypher-shell
    canpy --input ./my-service --emit neo4j --app-name my-service --output ./out
    +
    # live incremental push — needs the [neo4j] extra
    export NEO4J_PASSWORD=# keep it out of shell history / the process list
    canpy --input ./my-service --emit neo4j --app-name my-service \
    --neo4j-uri bolt://localhost:7687 --neo4j-user neo4j
    +

    The password (and the URI, user, and database) are read from the standard NEO4J_PASSWORD / NEO4J_URI / NEO4J_USERNAME / NEO4J_DATABASE environment variables when the matching flag is omitted, so credentials need not appear on the command line. See the Neo4j graph guide for the producer/consumer model and the CLDK read-back SDK.

    + +
      +
    • Python 3.10 or newer.
    • +
    + +

    To analyze a project the way it actually runs, canpy builds an isolated virtual environment for it (under .codeanalyzer/), installs the project’s dependencies into it, and resolves symbols against that environment. That means the host needs venv support and a compiler toolchain for any dependencies with native extensions.

    +
    Terminal window
    sudo apt update
    sudo apt install python3-venv python3-dev build-essential
    + + +

    In CI, containers, or sandboxed runs where you’d rather not provision a per-project environment, pass --no-venv. canpy then resolves imports against the ambient Python interpreter instead of building one under .codeanalyzer/:

    +
    Terminal window
    canpy --input ./my-service --no-venv
    +

    This trades some resolution fidelity for speed and a smaller footprint — it’s most useful when the project’s dependencies are already importable in the current environment (for example, inside an image that already has them installed).

    + +

    CodeQL-based call-graph augmentation is opt-in via --codeql. You do not need to install CodeQL yourself — on first use canpy downloads the CLI into the project cache (<cache-dir>/codeql/) and reuses it. If a codeql binary is already on your PATH, the project-local copy still takes precedence for deterministic behavior. See CodeQL analysis.

    + +

    The project uses uv for development.

    +
    Terminal window
    git clone https://github.com/codellm-devkit/codeanalyzer-python
    cd codeanalyzer-python
    uv sync --all-groups # installs runtime + test + dev dependencies
    uv run canpy --input /path/to/python/project
    +

    Run the test suite with:

    +
    Terminal window
    uv run pytest --pspec -s
    \ No newline at end of file diff --git a/pagefind/fragment/en_2999ea8.pf_fragment b/pagefind/fragment/en_2999ea8.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..22074c05b2b1786f1e2a5f92b1850c7f84d1c1b1 GIT binary patch literal 6381 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_2ed23cc.pf_fragment b/pagefind/fragment/en_2ed23cc.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..f17adcd834cb7f4cd307e784299c18fe4a431a27 GIT binary patch literal 2388 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 z�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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_584ebe2.pf_fragment b/pagefind/fragment/en_584ebe2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b57c889fbe5285f4d5b40c8b2801690909172401 GIT binary patch literal 2635 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_5d49208.pf_fragment b/pagefind/fragment/en_5d49208.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..5c820133a5b90d7cf860c89aaca2c6c74578e36d GIT binary patch literal 6279 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_875d491.pf_fragment b/pagefind/fragment/en_875d491.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..e35cda7aac9c325650ab783e8b2e96bd9dfb7a5f GIT binary patch literal 3049 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 MU**rhETTOC0B*ZA*8l(j literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c8ad244.pf_fragment b/pagefind/fragment/en_c8ad244.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6f3294a8617e2bf95e605cd1e84663d1349157f2 GIT binary patch literal 1464 zcmV;p1xNZHiwFP!00002|CLrzZrer>y~;p8O#o6(8h;e}Qye>Skj8?YA}ET&Sdk-f zZEBa(OUK^R z8?GB#D;zJ!G+hLC6e=daSWlEYW&s3tu_m%jqpxd&rBrn5HWc993i zjMR#2CC3~uweR3-M|N%Si!mgcpv7bdx9!Eci;JDjP=3m%p68`*8aHayGrVxICF2eKs^cOR<~1 z#7UHl>3GY}Ac>3CEmZM9Q#flw>a9mm6Ted)MHvKgTv%5^6>m|Bhyx?wp|XIy|bgvu%$8^^I2P(3Uv~v1G$e z)dOC4(w}pMtOt=|;ZRB-MUi0LC7`!{{a|l zWejq9DSnuAlKQUqiCkFNT4NS}dyv%Rw6&agqV`GxsHxHA{9ARSsPFce`~aD9MWsbO zt>dRzEP^;pEY>Ch47RbgU7{^(m=NNEhy>jZ+%XaEl2Hrg|KAEzVRi+9GJ6AyzSX;= z<9b8V8}HG7ak7Z}OpwxMU{jGI`DV~)kCc8!udb9?+DuH>BEDN|FfFH%Pii)f@Oz5q z_I6Acy%KW~VXtTLmRetPyuuf1v9PshDYvGENgNB$FfI7Ru4jG2gyZM&qv7HUu!>bJbM`(@G%f=Cd?ot6v zwMo{_H2d}PX!`Emg@_<(O{Px<(V#z|3MEcT*cn*4cvmmF@s$_FTv)&a8@^qke?&|R z$fw(620IH#!uqktTO7@iP0_&>mpY63{!~Yq0Gu0WH!UzM+L4SLtJ3c$BZoe<=%#KF zc`rny@Z;gGl_p&rANR!FH^=_Kcx`PdTaAmeCt2R)KfU?>IFdTG9_FKVV%kYMeQxON z{AYo%-A3>iM4EpuRVyuh5J?Ighv2Q4jf_bco!PDeQDd-Pb)zjB_pD(lA3*w+r{RW0lUWt9Va*S;kc*@HH+Yc7r!)GtDQ7X3|O+MdcqZJ2* zr%}+M=I?F9BOHJpD=Vje`#geetkNP~Jx3&6;^`7ziRS@NhFIi`QU6;|>~zYFrvez14{^B0E?MUcVd^R;erv|k>FSuVpY$1F<2Y!~Zs!*4(G SPltEE-~9tfX@Tyb3;+Od@y*2m literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c99df1d.pf_fragment b/pagefind/fragment/en_c99df1d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..17955d1309ac3c4c6b4340b93121056ee9da2b08 GIT binary patch literal 5503 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 BpfUge literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_dd2d461.pf_fragment b/pagefind/fragment/en_dd2d461.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..eb13e7f48a9275ca8e6c0071680f5b1ea8622a40 GIT binary patch literal 3628 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_f036f4c.pf_fragment b/pagefind/fragment/en_f036f4c.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..270ba41ce4196cfa7f8d48e6ea2ae7c9f90b7267 GIT binary patch literal 5266 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 literal 0 HcmV?d00001 diff --git a/pagefind/index/en_4985be2.pf_index b/pagefind/index/en_4985be2.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..ad847ac37aad985b49080f8fcdee1ac3fbe8dd14 GIT binary patch literal 33417 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 z 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 BwM_s3 literal 0 HcmV?d00001 diff --git a/pagefind/index/en_e37df19.pf_index b/pagefind/index/en_e37df19.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..3c4dd6fad3fa57d34fbb1d1c4894e0d2bbf1c0eb GIT binary patch literal 25125 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

    {d_b(!u48qi{etmq3(-eQ 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 Yj3o&gwQ?UI+Fbho1Bnm+u)?(f0NJ@wdjJ3c literal 0 HcmV?d00001 diff --git a/pagefind/pagefind-component-ui.css b/pagefind/pagefind-component-ui.css new file mode 100644 index 0000000..5e9ef59 --- /dev/null +++ b/pagefind/pagefind-component-ui.css @@ -0,0 +1,1509 @@ +/* + * Why all the :is(*, #\#) prefixes? + * + * These components are embedded in who-knows-what sites with unpredictable CSS. + * We need our styles to win against host page selectors like `.content p` or + * `article a:hover` without using !important everywhere. + * + * The :is(*, #\#) trick adds ID-level specificity (0,1,0) without requiring + * an actual ID in the DOM. Chaining it (2x or 3x) builds enough specificity + * to beat most host selectors. + * + * The #\# is an escaped # character, creating an invalid-but-harmless ID + * selector that never matches, but still contributes specificity via :is(). + * + * We also need these overrides to only affect the Component UI elements themselves. + * Users can provide custom templates to the results and searchbox components, + * and these must inherit their styles without having to fight ours. + * + * It's admittedly a bit of a hack but it does provide best effort styling consistency + * for the Component UI out in the wild. + */ + +:root { + --pf-text: #1a1a1a; + --pf-text-secondary: #666; + --pf-text-muted: #767676; + --pf-background: #fff; + --pf-border: #e0e0e0; + --pf-border-focus: #999; + --pf-skeleton: #eee; + --pf-skeleton-shine: #f5f5f5; + --pf-hover: #f5f5f5; + --pf-mark: #1a1a1a; + --pf-scroll-shadow: rgba(0, 0, 0, 0.08); + + --pf-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06); + --pf-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1); + --pf-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.2); + + --pf-error-bg: #fef2f2; + --pf-error-border: #fecaca; + --pf-error-text: #dc2626; + --pf-error-text-secondary: #b91c1c; + + --pf-outline-focus: #0969da; + --pf-outline-width: 2px; + --pf-outline-offset: 2px; + + --pf-font: + -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, + sans-serif; + + --pf-input-height: 36px; + --pf-input-font-size: 16px; + --pf-summary-font-size: 12px; + --pf-result-title-font-size: 14px; + --pf-result-excerpt-font-size: 13px; + --pf-modal-backdrop: rgba(0, 0, 0, 0.5); + --pf-results-display: flex; + --pf-results-flex-direction: column; + --pf-results-flex-wrap: nowrap; + --pf-results-columns: none; + --pf-results-gap: 8px; + + --pf-border-radius: 6px; + --pf-image-width: 64px; + --pf-image-height: 48px; + + --pf-icon-search: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + --pf-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23000' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); + + --pf-dropdown-z-index: 9999; + + --pf-modal-max-width: 560px; + --pf-modal-max-height: min(80dvh, 800px); + --pf-modal-top: 10dvh; + + --pf-searchbox-max-width: 480px; + --pf-searchbox-dropdown-max-height: 320px; + + --pf-dropdown-max-height: 280px; +} + +[data-pf-theme="dark"] { + --pf-text: #e5e5e5; + --pf-text-secondary: #a0a0a0; + --pf-text-muted: #949494; + --pf-background: #1a1a1a; + --pf-border: #333; + --pf-border-focus: #555; + --pf-skeleton: #2a2a2a; + --pf-skeleton-shine: #333; + --pf-hover: #252525; + --pf-mark: #e5e5e5; + --pf-scroll-shadow: rgba(255, 255, 255, 0.1); + + --pf-outline-focus: #58a6ff; + + --pf-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3); + --pf-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4); + --pf-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5); + + --pf-error-bg: #2a1a1a; + --pf-error-border: #5c2828; + --pf-error-text: #f87171; + --pf-error-text-secondary: #ef4444; + + --pf-modal-backdrop: rgba(0, 0, 0, 0.7); +} + +pagefind-config, +pagefind-filter-dropdown, +pagefind-filter-pane, +pagefind-input, +pagefind-keyboard-hints, +pagefind-modal, +pagefind-modal-body, +pagefind-modal-footer, +pagefind-modal-header, +pagefind-modal-trigger, +pagefind-results, +pagefind-searchbox, +pagefind-summary { + all: initial; + display: block; + box-sizing: border-box; + + /* Typography baseline */ + font-family: + var(--pf-font, + system-ui, + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + sans-serif); + font-size: 16px; + line-height: 1.5; + color: CanvasText; + contain: layout style; +} + +pagefind-searchbox, +pagefind-filter-dropdown { + position: relative; +} + +pagefind-searchbox:has(.pf-searchbox.open), +pagefind-filter-dropdown:has(.pf-dropdown-trigger.open) { + z-index: var(--pf-dropdown-z-index); +} + +pagefind-config { + display: none; +} + +pagefind-modal-trigger { + display: inline-block; +} + +:is(*, #\#):is(*, #\#) :is([class^="pf-"], [class*=" pf-"]):not(svg, svg *) { + all: revert; + box-sizing: border-box; +} + +:is(*, #\#):is(*, #\#) :is([class^="pf-"], [class*=" pf-"]):not(svg, svg *)::before, +:is(*, #\#):is(*, #\#) :is([class^="pf-"], [class*=" pf-"]):not(svg, svg *)::after { + box-sizing: border-box; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) [class^="pf-"][hidden], +:is(*, #\#):is(*, #\#):is(*, #\#) [class*=" pf-"][hidden] { + display: none; +} + +[data-pf-hidden] { + display: none !important; +} + +[data-pf-suppressed] { + opacity: 0 !important; + pointer-events: none !important; +} + +[data-pf-sr-hidden] { + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + height: 1px !important; + overflow: hidden !important; + position: absolute !important; + white-space: nowrap !important; + width: 1px !important; +} + +/* +* Suppress native browser outlines. +* This is only okay because we exhaustively +* provide our own high-contrast custom focus styles. +*/ +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-clear:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-clear:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-link:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-link:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-link:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-link:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-checkbox-input:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-checkbox-input:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-btn:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-btn:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-close:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-close:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-options:focus, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-options:focus-visible { + outline: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-clear:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-clear:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-btn:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-close:focus-visible { + outline: var(--pf-outline-width) solid var(--pf-outline-focus); + outline-offset: var(--pf-outline-offset); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-key, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-key, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-footer-key, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-keyboard-key, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-footer-key { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0 4px; + background: var(--pf-hover); + border: 1px solid var(--pf-border); + border-radius: 3px; + font-weight: 500; + color: var(--pf-text-secondary); + font-family: var(--pf-font); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-key--sm, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-footer-key { + min-width: 16px; + height: 16px; + font-size: 9px; + padding: 0 3px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-wrapper { + position: relative; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-wrapper::before, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input-wrapper::before { + content: ""; + position: absolute; + background-color: var(--pf-text-muted); + width: 14px; + height: 14px; + top: calc((var(--pf-input-height) - 14px) / 2); + inset-inline-start: 10px; + -webkit-mask-image: var(--pf-icon-search); + mask-image: var(--pf-icon-search); + -webkit-mask-size: 100%; + mask-size: 100%; + pointer-events: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input-wrapper::before { + z-index: 1; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input { + width: 100%; + height: var(--pf-input-height); + background-color: var(--pf-background); + border: 1px solid var(--pf-border); + border-radius: var(--pf-border-radius); + font-family: var(--pf-font, inherit); + font-size: var(--pf-input-font-size); + color: var(--pf-text); + box-sizing: border-box; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input { + padding: 0; + padding-inline-start: 32px; + padding-inline-end: 36px; + font-weight: 400; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input:focus-visible, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input:focus-visible { + border-color: var(--pf-outline-focus); + box-shadow: 0 0 0 var(--pf-outline-width) var(--pf-outline-focus); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input::placeholder, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input::placeholder { + color: var(--pf-text-muted); +} + +/* Hide native search clear button - we have our own */ +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input::-webkit-search-decoration, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input::-webkit-search-cancel-button, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input::-webkit-search-results-button, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input::-webkit-search-results-decoration { + display: none; + appearance: none; + -webkit-appearance: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-clear { + position: absolute; + inset-inline-end: 2px; + top: 50%; + transform: translateY(-50%); + height: calc(100% - 4px); + min-width: 44px; + padding: 0 8px; + background: none; + border: none; + font-size: 12px; + color: var(--pf-text-muted); + cursor: pointer; + border-radius: 4px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-clear:hover { + background: var(--pf-hover); + color: var(--pf-text-secondary); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-clear[data-pf-suppressed] { + display: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-summary { + font-size: var(--pf-summary-font-size); + color: var(--pf-text-muted); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-results { + list-style: none; + padding: 0; + margin: 0; + display: var(--pf-results-display); + flex-direction: var(--pf-results-flex-direction); + flex-wrap: var(--pf-results-flex-wrap); + grid-template-columns: var(--pf-results-columns); + gap: var(--pf-results-gap); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result { + display: flex; + flex-direction: column; + gap: 8px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-card { + position: relative; + display: flex; + gap: 12px; + padding: 12px; + background: var(--pf-background); + border: 1px solid var(--pf-border); + border-radius: var(--pf-border-radius); + transition: + border-color 0.15s, + box-shadow 0.15s; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-card:hover { + border-color: var(--pf-border-focus); + box-shadow: var(--pf-shadow-sm); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-result-card:has(.pf-result-link:focus-visible) { + border-color: var(--pf-outline-focus); + box-shadow: 0 0 0 var(--pf-outline-width) var(--pf-outline-focus); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-card:has([data-pf-selected]) { + border-color: var(--pf-border-focus); + background: var(--pf-hover); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-image { + width: var(--pf-image-width); + height: var(--pf-image-height); + border-radius: 4px; + object-fit: cover; + background: var(--pf-skeleton); + flex-shrink: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-content { + flex: 1; + min-width: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-title { + font-size: var(--pf-result-title-font-size); + font-weight: 500; + margin: 0; + line-height: 1.4; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-link { + color: var(--pf-text); + text-decoration: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-link::after { + content: ""; + position: absolute; + inset: 0; + border-radius: inherit; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-link:hover { + text-decoration: underline; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-excerpt { + font-size: var(--pf-result-excerpt-font-size); + color: var(--pf-text-secondary); + margin: 4px 0 0 0; + line-height: 1.5; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-result-excerpt mark, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-excerpt mark, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result-excerpt mark { + background: transparent; + font-weight: 500; + color: var(--pf-mark); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-skeleton { + background: var(--pf-skeleton); + border-radius: 4px; +} + +@media (prefers-reduced-motion: no-preference) { + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-skeleton { + background: linear-gradient( + 90deg, + var(--pf-skeleton) 25%, + var(--pf-skeleton-shine) 50%, + var(--pf-skeleton) 75% + ); + background-size: 200% 100%; + animation: pf-shimmer 1.5s infinite; + } + + @keyframes pf-shimmer { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } + } +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-skeleton-title { + height: 14px; + width: 60%; + margin-bottom: 8px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-skeleton-excerpt { + height: 13px; + width: 90%; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-skeleton-image { + width: var(--pf-image-width); + height: var(--pf-image-height); + flex-shrink: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-empty { + text-align: center; + padding: 32px 16px; + color: var(--pf-text-muted); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-empty-icon { + font-size: 24px; + margin-bottom: 8px; + opacity: 0.4; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-empty-text { + font-size: 14px; + margin: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-error { + padding: 12px 16px; + background: var(--pf-error-bg); + border: 1px solid var(--pf-error-border); + border-radius: var(--pf-border-radius); + color: var(--pf-error-text); + font-size: 13px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-error strong { + font-weight: 600; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-error small { + display: block; + margin-top: 4px; + color: var(--pf-error-text-secondary); + font-size: 12px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-chips { + display: flex; + flex-direction: column; + gap: 6px; + margin: 0; + padding: 0; + padding-inline-start: 12px; + list-style: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-chip { + display: inline-flex; + flex-direction: column; + gap: 2px; + padding: 8px 10px; + background: var(--pf-background); + border: 1px solid var(--pf-border); + border-radius: 6px; + font-size: 12px; + transition: + border-color 0.15s, + box-shadow 0.15s; + position: relative; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-chip:hover { + border-color: var(--pf-border-focus); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-heading-chip:has(.pf-heading-link:focus-visible) { + border-color: var(--pf-outline-focus); + box-shadow: 0 0 0 var(--pf-outline-width) var(--pf-outline-focus); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-chip:has([data-pf-selected]) { + border-color: var(--pf-border-focus); + background: var(--pf-hover); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-link { + color: var(--pf-text); + font-weight: 500; + text-decoration: none; + line-height: 1.3; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-link::before { + content: "#"; + color: var(--pf-text-muted); + margin-inline-end: 4px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-link::after { + content: ""; + position: absolute; + inset: 0; + border-radius: inherit; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-link:hover { + text-decoration: underline; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-heading-excerpt { + margin: 0; + font-size: 12px; + color: var(--pf-text-secondary); + line-height: 1.4; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-pane { + display: flex; + flex-direction: column; + gap: 20px; + padding: 16px; + background: var(--pf-skeleton); + border-radius: var(--pf-border-radius); + border: 1px solid var(--pf-border); + overflow: hidden; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-group { + display: flex; + flex-direction: column; + gap: 8px; + border: none; + padding: 0; + margin: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) details.pf-filter-group { + display: block; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) details.pf-filter-group > .pf-filter-options { + margin-top: 8px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + details.pf-filter-group + > .pf-filter-fieldset { + margin-top: 8px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-fieldset { + border: none; + padding: 0; + margin: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-group-title { + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.3px; + color: var(--pf-text-muted); + margin: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-group-name, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger-label, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-option-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + min-width: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) summary.pf-filter-group-title { + cursor: pointer; + list-style: none; + display: flex; + align-items: center; + padding: 4px 0; + margin: -4px 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + summary.pf-filter-group-title::-webkit-details-marker { + display: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) summary.pf-filter-group-title::after { + content: ""; + width: 10px; + height: 6px; + flex-shrink: 0; + margin-inline-start: 8px; + background: var(--pf-text-muted); + -webkit-mask-image: var(--pf-icon-arrow); + mask-image: var(--pf-icon-arrow); + -webkit-mask-size: 100% 100%; + mask-size: 100% 100%; + transition: transform 0.15s; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + details.pf-filter-group:not([open]) + > summary.pf-filter-group-title::after { + transform: rotate(-90deg); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + [dir="rtl"] + details.pf-filter-group:not([open]) + > summary.pf-filter-group-title::after { + transform: rotate(90deg); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) summary.pf-filter-group-title:hover { + color: var(--pf-text-secondary); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-group-count, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-selected-badge { + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--pf-text); + color: var(--pf-background); + font-size: 11px; + font-weight: 500; + height: 18px; + min-width: 18px; + padding: 0 5px; + border-radius: 9px; + flex-shrink: 0; + box-sizing: border-box; + font-variant-numeric: tabular-nums; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-group-count { + margin-inline-start: auto; + text-transform: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#):is(*, #\#) + .pf-filter-group-count[data-pf-hidden], +:is(*, #\#):is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-selected-badge[data-pf-hidden] { + display: inline-flex !important; + visibility: hidden; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-options { + display: flex; + flex-direction: column; + gap: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-checkbox { + display: flex; + align-items: center; + gap: 8px; + min-height: 30px; + cursor: pointer; + font-size: 13px; + color: var(--pf-text-secondary); +} + +@media (pointer: coarse) { + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-checkbox { + min-height: 44px; + } +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-checkbox:hover { + color: var(--pf-text); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-checkbox-input { + width: 16px; + height: 16px; + margin: 0; + accent-color: var(--pf-text); + cursor: pointer; + color-scheme: light; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) [data-pf-theme="dark"] .pf-checkbox-input { + color-scheme: dark; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-filter-checkbox:has(.pf-checkbox-input:focus-visible) { + outline: var(--pf-outline-width) solid var(--pf-outline-focus); + outline-offset: var(--pf-outline-offset); + border-radius: 4px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-checkbox-count { + margin-inline-start: auto; + font-size: 11px; + color: var(--pf-text-muted); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-wrapper { + position: relative; + display: inline-flex; + align-items: center; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger { + display: inline-flex; + align-items: center; + gap: 8px; + height: var(--pf-input-height); + padding: 0 12px; + background: var(--pf-background); + border: 1px solid var(--pf-border); + border-radius: var(--pf-border-radius); + font-size: 13px; + color: var(--pf-text-secondary); + cursor: pointer; + transition: border-color 0.15s; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger:hover { + border-color: var(--pf-border-focus); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger.open { + border-color: var(--pf-border-focus); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger.wrap { + height: auto; + min-height: var(--pf-input-height); + padding-top: 6px; + padding-bottom: 6px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger-label.wrap, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-option-label.wrap { + white-space: normal; + line-height: 1.3; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-arrow { + width: 10px; + height: 6px; + flex-shrink: 0; + background: var(--pf-text-muted); + -webkit-mask-image: var(--pf-icon-arrow); + mask-image: var(--pf-icon-arrow); + -webkit-mask-size: 100% 100%; + mask-size: 100% 100%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger.open .pf-dropdown-arrow { + transform: rotate(180deg); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-menu { + position: absolute; + top: calc(100% + 4px); + inset-inline-start: 0; + min-width: 180px; + max-height: var(--pf-dropdown-max-height); + overflow-y: auto; + border: 1px solid var(--pf-border); + border-radius: var(--pf-border-radius); + box-shadow: var(--pf-shadow-md); + padding: 4px; + z-index: 100; + + background: + /* Top shadow cover (moves with content) */ + linear-gradient(var(--pf-background) 30%, transparent) center top, + /* Bottom shadow cover (moves with content) */ + linear-gradient(transparent, var(--pf-background) 70%) center bottom, + /* Top shadow (stays fixed) */ + linear-gradient(var(--pf-scroll-shadow), transparent) center top, + /* Bottom shadow (stays fixed) */ + linear-gradient(transparent, var(--pf-scroll-shadow)) center bottom, + var(--pf-background); + background-size: + 100% 40px, + 100% 40px, + 100% 14px, + 100% 14px, + 100% 100%; + background-repeat: no-repeat; + background-attachment: local, local, scroll, scroll, scroll; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-option { + display: flex; + align-items: center; + gap: 8px; + padding: 12px 10px; + min-height: 44px; + font-size: 13px; + color: var(--pf-text-secondary); + border-radius: 4px; + cursor: pointer; + box-sizing: border-box; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-option:hover { + background: var(--pf-hover); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-option.pf-dropdown-option-focused { + outline: var(--pf-outline-width) solid var(--pf-outline-focus); + outline-offset: -2px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-option.wrap { + align-items: flex-start; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-checkbox { + width: 16px; + height: 16px; + flex-shrink: 0; + border: 1px solid var(--pf-border); + border-radius: 3px; + background: var(--pf-background); + position: relative; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-option.wrap + .pf-dropdown-checkbox { + margin-top: 2px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-option[aria-selected="true"] + .pf-dropdown-checkbox { + background: var(--pf-text); + border-color: var(--pf-text); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-option[aria-selected="true"] + .pf-dropdown-checkbox::after { + content: ""; + position: absolute; + inset-inline-start: 5px; + top: 2px; + width: 4px; + height: 8px; + border: solid var(--pf-background); + border-width: 0 2px 2px 0; + transform: rotate(45deg); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-option-label { + flex: 1; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-option-count { + margin-inline-start: auto; + font-size: 11px; + color: var(--pf-text-muted); + flex-shrink: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-option.wrap + .pf-dropdown-option-count { + margin-top: 2px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-option-loading { + pointer-events: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-option-loading + .pf-dropdown-checkbox { + width: 16px; + height: 16px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-option-loading + .pf-dropdown-option-label { + height: 13px; + border-radius: 4px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-error { + padding: 12px 10px; + font-size: 13px; + color: var(--pf-error-text); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-clear { + display: inline-flex; + align-items: center; + height: 44px; + padding: 0 10px; + margin-inline-start: 4px; + background: transparent; + border: 1px solid transparent; + border-radius: var(--pf-border-radius); + font-size: 12px; + color: var(--pf-text-secondary); + cursor: pointer; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-clear:hover:not([aria-disabled="true"]) { + background: var(--pf-hover); + border-color: var(--pf-border); + color: var(--pf-text); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-clear[aria-disabled="true"] { + color: var(--pf-text-muted); + cursor: default; + opacity: 0.4; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-options { + max-height: var(--pf-dropdown-max-height); + overflow-y: auto; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-btn { + display: inline-flex; + align-items: center; + gap: 8px; + width: 100%; + height: var(--pf-input-height); + padding: 0 14px; + background: var(--pf-background); + border: 1px solid var(--pf-border); + border-radius: var(--pf-border-radius); + font-size: 14px; + color: var(--pf-text-muted); + cursor: pointer; + transition: + border-color 0.15s, + box-shadow 0.15s; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-btn:hover { + border-color: var(--pf-border-focus); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-icon { + width: 14px; + height: 14px; + background: var(--pf-text-muted); + -webkit-mask-image: var(--pf-icon-search); + mask-image: var(--pf-icon-search); + -webkit-mask-size: 100%; + mask-size: 100%; + flex-shrink: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-text { + flex: 1; + text-align: start; + color: var(--pf-text-muted); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-shortcut { + display: inline-flex; + align-items: center; + gap: 2px; + margin-inline-start: 8px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-key { + min-width: 20px; + height: 18px; + font-size: 11px; + border-radius: 4px; +} + +/* + NB: Background scrolling is prevented with the overscroll-behavior: contain + values below, plus overflow: hidden on the backdrop. + As of writing, this only works on Chrome 144. Tracking: + https://bugzilla.mozilla.org/show_bug.cgi?id=1837436 + https://bugs.webkit.org/show_bug.cgi?id=243452 +*/ + +:is(*, #\#):is(*, #\#):is(*, #\#) dialog.pf-modal { + position: fixed; + width: 100%; + max-width: var(--pf-modal-max-width); + max-height: var(--pf-modal-max-height); + margin: var(--pf-modal-top) auto; + padding: 0; + background: var(--pf-background); + border: none; + border-radius: 12px; + box-shadow: var(--pf-shadow-lg); + flex-direction: column; + overflow: hidden; + overscroll-behavior: contain; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) dialog.pf-modal::backdrop { + background: var(--pf-modal-backdrop); + overflow: hidden; + overscroll-behavior: contain; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) dialog.pf-modal[open] { + display: flex; +} + +@media (prefers-reduced-motion: no-preference) { + :is(*, #\#):is(*, #\#):is(*, #\#) dialog.pf-modal[open] { + animation: pf-modal-appear 0.15s ease-out; + } + + @keyframes pf-modal-appear { + from { + opacity: 0; + transform: scale(0.95); + } + to { + opacity: 1; + transform: scale(1); + } + } +} + +@media (max-width: 640px) { + :is(*, #\#):is(*, #\#):is(*, #\#) dialog.pf-modal[open] { + top: 0; + left: 0; + width: 100vw; + height: 100dvh; + max-width: none; + max-height: none; + margin: 0; + padding: 0; + border-radius: 0; + animation: none; + } + + :is(*, #\#):is(*, #\#):is(*, #\#) pagefind-modal-header, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-header { + padding-top: max(16px, env(safe-area-inset-top)); + padding-left: max(16px, env(safe-area-inset-left)); + padding-right: max(16px, env(safe-area-inset-right)); + } + + :is(*, #\#):is(*, #\#):is(*, #\#) pagefind-modal-body, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-body { + padding-left: max(16px, env(safe-area-inset-left)); + padding-right: max(16px, env(safe-area-inset-right)); + } + + :is(*, #\#):is(*, #\#):is(*, #\#) pagefind-modal-footer, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-footer { + padding-bottom: max(12px, env(safe-area-inset-bottom)); + padding-left: max(16px, env(safe-area-inset-left)); + padding-right: max(16px, env(safe-area-inset-right)); + } +} + +:is(*, #\#):is(*, #\#):is(*, #\#) pagefind-modal-header, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-header { + display: flex; + align-items: center; + gap: 8px; + padding: 16px; + border-bottom: 1px solid var(--pf-border); + flex-shrink: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-header-content { + flex: 1; + min-width: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-close { + display: none; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + padding: 0; + background: transparent; + border: none; + border-radius: 8px; + color: var(--pf-text-secondary); + cursor: pointer; + flex-shrink: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-close:hover { + background: var(--pf-hover); + color: var(--pf-text); +} + +@media (max-width: 640px) { + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-close { + display: flex; + } +} + +:is(*, #\#):is(*, #\#):is(*, #\#) + pagefind-modal-header + .pf-input-wrapper::before, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-header .pf-input-wrapper::before { + top: 50%; + transform: translateY(-50%); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) pagefind-modal-header .pf-input, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-header .pf-input { + border: none; + background: transparent; + font-size: var(--pf-input-font-size); + height: 40px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) pagefind-modal-body, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-body { + flex: 1 1 auto; + overflow-y: auto; + overscroll-behavior: contain; + padding: 8px 16px 16px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) pagefind-modal-body .pf-summary, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-body .pf-summary { + margin-bottom: 8px; +} + +/* Modal body uses the base card styles - only minor adjustments needed */ +:is(*, #\#):is(*, #\#):is(*, #\#) + pagefind-modal-body + .pf-result-card:has([data-pf-selected]), +:is(*, #\#):is(*, #\#):is(*, #\#) + .pf-modal-body + .pf-result-card:has([data-pf-selected]) { + background: var(--pf-skeleton); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) pagefind-modal-footer, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-footer { + padding: 10px 16px; + border-top: 1px solid var(--pf-border); + display: flex; + align-items: center; + gap: 16px; + font-size: 12px; + color: var(--pf-text-muted); + flex-shrink: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-footer-hint, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-keyboard-hint { + display: flex; + align-items: center; + gap: 6px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-footer-key, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-keyboard-key { + min-width: 18px; + height: 18px; + font-size: 10px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) pagefind-keyboard-hints, +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-keyboard-hints { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 16px; + font-size: 12px; + color: var(--pf-text-muted); + min-height: 20px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox { + position: relative; + display: inline-block; + width: 100%; + max-width: var(--pf-searchbox-max-width); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input-wrapper { + position: relative; +} + +/* Override trigger-shortcut positioning when inside searchbox */ +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input-wrapper .pf-trigger-shortcut { + position: absolute; + inset-inline-end: 12px; + top: 50%; + transform: translateY(-50%); + pointer-events: none; + margin-inline-start: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input { + padding: 0; + padding-inline-start: 32px; + padding-inline-end: 12px; +} + +/* Add padding when shortcut is present */ +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input-wrapper:has(.pf-trigger-shortcut) .pf-searchbox-input { + padding-inline-end: 72px; +} + +/* Hide shortcut badge when input is focused */ +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input:focus ~ .pf-trigger-shortcut { + display: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input:focus { + padding-inline-end: 12px; + border-color: var(--pf-border-focus); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox.open .pf-searchbox-input { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-color: var(--pf-border); +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-dropdown { + display: none; + flex-direction: column; + position: absolute; + top: 100%; + left: 0; + right: 0; + background: var(--pf-background); + border: 1px solid var(--pf-border); + border-top: none; + border-radius: 0 0 var(--pf-border-radius) var(--pf-border-radius); + box-shadow: var(--pf-shadow-md); + max-height: var(--pf-searchbox-dropdown-max-height); + z-index: 100; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox.open .pf-searchbox-dropdown { + display: flex; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-results { + list-style: none; + padding: 4px; + margin: 0; + flex: 1; + overflow-y: auto; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result { + display: block; + padding: 12px 10px; + min-height: 44px; + border-radius: 4px; + cursor: pointer; + text-decoration: none; + color: inherit; + box-sizing: border-box; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result:hover { + background: var(--pf-hover); +} + +/* Placeholder skeleton - non-interactive */ +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-placeholder { + cursor: default; + pointer-events: none; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-placeholder:hover { + background: transparent; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result[data-pf-selected] { + background: var(--pf-hover); + outline: var(--pf-outline-width) solid var(--pf-outline-focus); + outline-offset: -2px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result-title { + font-size: 13px; + font-weight: 500; + color: var(--pf-text); + margin: 0; + line-height: 1.3; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result-excerpt { + font-size: 12px; + color: var(--pf-text-secondary); + margin: 2px 0 0 0; + line-height: 1.4; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-subresult { + padding-inline-start: 20px; + border-inline-start: 2px solid var(--pf-border); + margin-inline-start: 10px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result-meta { + display: flex; + align-items: center; + gap: 6px; + margin-top: 4px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-footer { + padding: 8px 10px; + border-top: 1px solid var(--pf-border); + display: flex; + align-items: center; + justify-content: flex-end; + gap: 12px; + font-size: 11px; + color: var(--pf-text-muted); + flex-shrink: 0; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-footer-hint { + display: flex; + align-items: center; + gap: 4px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-empty { + padding: 20px 10px; + text-align: center; + color: var(--pf-text-muted); + font-size: 13px; +} + +:is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-loading { + padding: 16px 10px; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + color: var(--pf-text-muted); + font-size: 13px; +} + +/* Ensure focus indicators are visible in Windows High Contrast Mode */ +@media (forced-colors: active) { + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-input:focus-visible, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-input:focus-visible, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-input-clear:focus-visible, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-trigger-btn:focus-visible, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-close:focus-visible, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-trigger:focus-visible, + :is(*, #\#):is(*, #\#):is(*, #\#) + .pf-result-card:has(.pf-result-link:focus-visible), + :is(*, #\#):is(*, #\#):is(*, #\#) + .pf-heading-chip:has(.pf-heading-link:focus-visible), + :is(*, #\#):is(*, #\#):is(*, #\#) + .pf-filter-checkbox:has(.pf-checkbox-input:focus-visible), + :is(*, #\#):is(*, #\#):is(*, #\#) + .pf-dropdown-option.pf-dropdown-option-focused, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-result[data-pf-selected] { + outline: 2px solid CanvasText; + outline-offset: 2px; + } +} + +/* Hide keyboard hints on touch-only devices (no hover capability) */ +@media (hover: none) { + :is(*, #\#):is(*, #\#):is(*, #\#) pagefind-keyboard-hints, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-keyboard-hints, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-footer, + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-modal-footer-hint { + display: none; + } +} + +@media (max-width: 640px) { + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-dropdown-menu { + min-width: unset; + width: max(180px, calc(100vw - 32px)); + max-width: calc(100vw - 32px); + inset-inline-start: unset; + left: 50%; + transform: translateX(-50%); + max-height: min(var(--pf-dropdown-max-height), 50vh); + } + + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-searchbox-dropdown { + max-height: min(var(--pf-searchbox-dropdown-max-height), 60vh); + } + + :is(*, #\#):is(*, #\#):is(*, #\#) .pf-filter-pane { + padding: 12px; + gap: 16px; + } +} diff --git a/pagefind/pagefind-component-ui.js b/pagefind/pagefind-component-ui.js new file mode 100644 index 0000000..d8c1351 --- /dev/null +++ b/pagefind/pagefind-component-ui.js @@ -0,0 +1,56 @@ +"use strict";(()=>{var ls=Object.defineProperty;var h=(n,s)=>{for(var e in s)ls(n,e,{get:s[e],enumerable:!0})};var Bt={};h(Bt,{PagefindConfig:()=>Re,PagefindElement:()=>f,PagefindFilterDropdown:()=>Me,PagefindFilterPane:()=>Ne,PagefindInput:()=>ke,PagefindKeyboardHints:()=>Le,PagefindModal:()=>Oe,PagefindModalBody:()=>Ie,PagefindModalFooter:()=>Ue,PagefindModalHeader:()=>we,PagefindModalTrigger:()=>He,PagefindResults:()=>Se,PagefindSearchbox:()=>Fe,PagefindSummary:()=>Ae,configureInstance:()=>Qt,getInstanceManager:()=>Ce});var os="a[href], button, input, [tabindex]";function Kt(n){let s=n.querySelectorAll(os);for(let e of s)if(!(e.tabIndex<0)&&!e.disabled&&!e.hasAttribute("hidden")&&window.getComputedStyle(e).display!=="none")return!0;return!1}function $t(n,s){let e=null;for(let t of s)t.contains(n)||!(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING)||Kt(t)&&(e===null||t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING)&&(e=t);return e}function Pe(n,s){let e=null;for(let t of s)t.contains(n)||!(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING)||Kt(t)&&(e===null||t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)&&(e=t);return e}var Ve={};h(Ve,{comments:()=>us,default:()=>ps,direction:()=>ds,strings:()=>hs,thanks_to:()=>cs});var cs="Jan Claasen ",us="",ds="ltr",hs={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",total_zero_results:"Geen resultate",total_one_result:"[COUNT] resultaat",total_many_results:"[COUNT] resultate",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]",results_label:"Soekresultate",keyboard_navigate:"navigeer",keyboard_select:"kies",keyboard_clear:"wis",keyboard_close:"sluit",keyboard_search:"soek",error_search:"Soek het misluk",filter_selected_one:"[COUNT] gekies",filter_selected_many:"[COUNT] gekies",input_hint:"Resultate sal verskyn terwyl jy tik",loading:"Laai"},ps={thanks_to:cs,comments:us,direction:ds,strings:hs};var qe={};h(qe,{comments:()=>_s,default:()=>Es,direction:()=>fs,strings:()=>gs,thanks_to:()=>ms});var ms="Jermanuts",_s="",fs="rtl",gs={placeholder:"\u0628\u062D\u062B",clear_search:"\u0627\u0645\u0633\u062D",load_more:"\u062D\u0645\u0651\u0650\u0644 \u0627\u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",search_label:"\u0627\u0628\u062D\u062B \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639",filters_label:"\u062A\u0635\u0641\u064A\u0627\u062A",zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629 \u0644 [SEARCH_TERM]",total_zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",total_one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629",total_many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C",alt_search:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u064A\u0639\u0631\u0636 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0644 [DIFFERENT_TERM] \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643",search_suggestion:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u062C\u0631\u0628 \u0623\u062D\u062F \u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0628\u062D\u062B \u0627\u0644\u062A\u0627\u0644\u064A\u0629:",searching:"\u064A\u0628\u062D\u062B \u0639\u0646 [SEARCH_TERM]...",results_label:"\u0646\u062A\u0627\u0626\u062C \u0627\u0644\u0628\u062D\u062B",keyboard_navigate:"\u062A\u0646\u0642\u0644",keyboard_select:"\u0627\u062E\u062A\u064A\u0627\u0631",keyboard_clear:"\u0627\u0645\u0633\u062D",keyboard_close:"\u0625\u063A\u0644\u0627\u0642",keyboard_search:"\u0628\u062D\u062B",error_search:"\u0641\u0634\u0644 \u0627\u0644\u0628\u062D\u062B",filter_selected_one:"[COUNT] \u0645\u062D\u062F\u062F",filter_selected_many:"[COUNT] \u0645\u062D\u062F\u062F",input_hint:"\u0633\u062A\u0638\u0647\u0631 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u0643\u062A\u0627\u0628\u0629",loading:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},Es={thanks_to:ms,comments:_s,direction:fs,strings:gs};var Ge={};h(Ge,{comments:()=>Ts,default:()=>vs,direction:()=>Cs,strings:()=>ys,thanks_to:()=>bs});var bs="Maruf Alom ",Ts="",Cs="ltr",ys={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09AF\u09BC\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u0997\u09BF\u09AF\u09BC\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u0997\u09BF\u09AF\u09BC\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",total_zero_results:"\u0995\u09CB\u09A8 \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A8\u09C7\u0987",total_one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2",total_many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09AF\u09BC\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09AF\u09BC\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]...",results_label:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8\u09C7\u09B0 \u09AB\u09B2\u09BE\u09AB\u09B2",keyboard_navigate:"\u09A8\u09C7\u09AD\u09BF\u0997\u09C7\u099F",keyboard_select:"\u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09A8",keyboard_clear:"\u09AE\u09C1\u099B\u09C1\u09A8",keyboard_close:"\u09AC\u09A8\u09CD\u09A7",keyboard_search:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8",error_search:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u09AC\u09CD\u09AF\u09B0\u09CD\u09A5",filter_selected_one:"[COUNT]-\u099F\u09BF \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4",filter_selected_many:"[COUNT]-\u099F\u09BF \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4",input_hint:"\u099F\u09BE\u0987\u09AA \u0995\u09B0\u09BE\u09B0 \u09B8\u09BE\u09A5\u09C7 \u09B8\u09BE\u09A5\u09C7 \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09BE \u09AF\u09BE\u09AC\u09C7",loading:"\u09B2\u09CB\u09A1 \u09B9\u099A\u09CD\u099B\u09C7"},vs={thanks_to:bs,comments:Ts,direction:Cs,strings:ys};var We={};h(We,{comments:()=>ks,default:()=>Ns,direction:()=>As,strings:()=>Ss,thanks_to:()=>Rs});var Rs="Pablo Villaverde ",ks="",As="ltr",Ss={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9s resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",total_zero_results:"Sense resultats",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultats",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]...",results_label:"Resultats de la cerca",keyboard_navigate:"navegar",keyboard_select:"triar",keyboard_clear:"netejar",keyboard_close:"tancar",keyboard_search:"cercar",error_search:"Error en la cerca",filter_selected_one:"[COUNT] seleccionat",filter_selected_many:"[COUNT] seleccionats",input_hint:"Els resultats apareixeran mentre escriviu",loading:"Carregant"},Ns={thanks_to:Rs,comments:ks,direction:As,strings:Ss};var Ye={};h(Ye,{comments:()=>Os,default:()=>ws,direction:()=>xs,strings:()=>Hs,thanks_to:()=>Ms});var Ms="Dalibor Hon ",Os="",xs="ltr",Hs={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",total_zero_results:"\u017D\xE1dn\xE9 v\xFDsledky",total_one_result:"[COUNT] v\xFDsledek",total_many_results:"[COUNT] v\xFDsledk\u016F",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]...",results_label:"V\xFDsledky hled\xE1n\xED",keyboard_navigate:"navigovat",keyboard_select:"vybrat",keyboard_clear:"smazat",keyboard_close:"zav\u0159\xEDt",keyboard_search:"hledat",error_search:"Hled\xE1n\xED selhalo",filter_selected_one:"[COUNT] vybran\xFD",filter_selected_many:"[COUNT] vybran\xFDch",input_hint:"V\xFDsledky se zobraz\xED b\u011Bhem psan\xED",loading:"Na\u010D\xEDt\xE1n\xED"},ws={thanks_to:Ms,comments:Os,direction:xs,strings:Hs};var Je={};h(Je,{comments:()=>Us,default:()=>Ps,direction:()=>Ls,strings:()=>Fs,thanks_to:()=>Is});var Is="Jonas Smedegaard ",Us="",Ls="ltr",Fs={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]...",results_label:"S\xF8geresultater",keyboard_navigate:"naviger",keyboard_select:"v\xE6lg",keyboard_clear:"ryd",keyboard_close:"luk",keyboard_search:"s\xF8g",error_search:"S\xF8gning mislykkedes",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Indl\xE6ser"},Ps={thanks_to:Is,comments:Us,direction:Ls,strings:Fs};var Ze={};h(Ze,{comments:()=>Ds,default:()=>Ks,direction:()=>js,strings:()=>Bs,thanks_to:()=>zs});var zs="Jan Claasen ",Ds="",js="ltr",Bs={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",total_zero_results:"Keine Ergebnisse",total_one_result:"[COUNT] Ergebnis",total_many_results:"[COUNT] Ergebnisse",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche nach [SEARCH_TERM]\u202F\u2026",results_label:"Suchergebnisse",keyboard_navigate:"navigieren",keyboard_select:"ausw\xE4hlen",keyboard_clear:"l\xF6schen",keyboard_close:"schlie\xDFen",keyboard_search:"suchen",error_search:"Suche fehlgeschlagen",filter_selected_one:"[COUNT] ausgew\xE4hlt",filter_selected_many:"[COUNT] ausgew\xE4hlt",input_hint:"Ergebnisse werden w\xE4hrend der Eingabe angezeigt",loading:"Wird geladen"},Ks={thanks_to:zs,comments:Ds,direction:js,strings:Bs};var Xe={};h(Xe,{comments:()=>Vs,default:()=>Ws,direction:()=>qs,strings:()=>Gs,thanks_to:()=>$s});var $s="George Papadopoulos",Vs="",qs="ltr",Gs={placeholder:"\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7",clear_search:"\u039A\u03B1\u03B8\u03B1\u03C1\u03B9\u03C3\u03BC\u03CC\u03C2",load_more:"\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7 \u03C0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03C9\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03B5\u03C3\u03BC\u03AC\u03C4\u03C9\u03BD",search_label:"\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7 \u03C3\u03B5 \u03B1\u03C5\u03C4\u03CC\u03BD \u03C4\u03BF\u03BD \u03B9\u03C3\u03C4\u03CC\u03C4\u03BF\u03C0\u03BF",filters_label:"\u03A6\u03AF\u03BB\u03C4\u03C1\u03B1",zero_results:"\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]",many_results:"[COUNT] \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]",one_result:"[COUNT] \u03B1\u03C0\u03BF\u03C4\u03AD\u03BB\u03B5\u03C3\u03BC\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]",total_zero_results:"\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1",total_one_result:"[COUNT] \u03B1\u03C0\u03BF\u03C4\u03AD\u03BB\u03B5\u03C3\u03BC\u03B1",total_many_results:"[COUNT] \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1",alt_search:"\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]. \u0395\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [DIFFERENT_TERM]",search_suggestion:"\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]. \u0394\u03BF\u03BA\u03B9\u03BC\u03AC\u03C3\u03C4\u03B5 \u03BC\u03AF\u03B1 \u03B1\u03C0\u03CC \u03C4\u03B9\u03C2 \u03C0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03B1\u03BD\u03B1\u03B6\u03B7\u03C4\u03AE\u03C3\u03B5\u03B9\u03C2:",searching:"\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7 \u03B3\u03B9\u03B1 [SEARCH_TERM]...",results_label:"\u0391\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B1\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7\u03C2",keyboard_navigate:"\u03C0\u03BB\u03BF\u03AE\u03B3\u03B7\u03C3\u03B7",keyboard_select:"\u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE",keyboard_clear:"\u03BA\u03B1\u03B8\u03B1\u03C1\u03B9\u03C3\u03BC\u03CC\u03C2",keyboard_close:"\u03BA\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",keyboard_search:"\u03B1\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7",error_search:"\u0397 \u03B1\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7 \u03B1\u03C0\u03AD\u03C4\u03C5\u03C7\u03B5",filter_selected_one:"[COUNT] \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03BF",filter_selected_many:"[COUNT] \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03B1",input_hint:"\u03A4\u03B1 \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03BA\u03B1\u03B8\u03CE\u03C2 \u03C0\u03BB\u03B7\u03BA\u03C4\u03C1\u03BF\u03BB\u03BF\u03B3\u03B5\u03AF\u03C4\u03B5",loading:"\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7"},Ws={thanks_to:$s,comments:Vs,direction:qs,strings:Gs};var Qe={};h(Qe,{comments:()=>Js,default:()=>Qs,direction:()=>Zs,strings:()=>Xs,thanks_to:()=>Ys});var Ys="Liam Bigelow ",Js="",Zs="ltr",Xs={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",total_zero_results:"No results",total_one_result:"[COUNT] result",total_many_results:"[COUNT] results",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]...",results_label:"Search results",keyboard_navigate:"navigate",keyboard_select:"select",keyboard_clear:"clear",keyboard_close:"close",keyboard_search:"search",error_search:"Search failed",filter_selected_one:"[COUNT] selected",filter_selected_many:"[COUNT] selected",input_hint:"Results will appear as you type",loading:"Loading"},Qs={thanks_to:Ys,comments:Js,direction:Zs,strings:Xs};var et={};h(et,{comments:()=>tr,default:()=>ir,direction:()=>sr,strings:()=>rr,thanks_to:()=>er});var er="Pablo Villaverde ",tr="",sr="ltr",rr={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",total_zero_results:"Sin resultados",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]...",results_label:"Resultados de b\xFAsqueda",keyboard_navigate:"navegar",keyboard_select:"elegir",keyboard_clear:"limpiar",keyboard_close:"cerrar",keyboard_search:"buscar",error_search:"Error en la b\xFAsqueda",filter_selected_one:"[COUNT] seleccionado",filter_selected_many:"[COUNT] seleccionados",input_hint:"Los resultados aparecer\xE1n mientras escribe",loading:"Cargando"},ir={thanks_to:er,comments:tr,direction:sr,strings:rr};var tt={};h(tt,{comments:()=>ar,default:()=>cr,direction:()=>lr,strings:()=>or,thanks_to:()=>nr});var nr="Mikel Larreategi ",ar="",lr="ltr",or={placeholder:"Bilatu",clear_search:"Garbitu",load_more:"Kargatu emaitza gehiagi",search_label:"Bilatu",filters_label:"Iragazkiak",zero_results:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat",many_results:"[COUNT] emaitza [SEARCH_TERM] bilaketarentzat",one_result:"Emaitza bat [COUNT] [SEARCH_TERM] bilaketarentzat",total_zero_results:"Emaitzarik ez",total_one_result:"[COUNT] emaitza",total_many_results:"[COUNT] emaitza",alt_search:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. [DIFFERENT_TERM] bilaketaren emaitzak erakusten",search_suggestion:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. Saiatu hauetako beste bateikin:",searching:"[SEARCH_TERM] bilatzen...",results_label:"Bilaketaren emaitzak",keyboard_navigate:"nabigatu",keyboard_select:"hautatu",keyboard_clear:"garbitu",keyboard_close:"itxi",keyboard_search:"bilatu",error_search:"Bilaketak huts egin du",filter_selected_one:"[COUNT] hautatuta",filter_selected_many:"[COUNT] hautatuta",input_hint:"Emaitzak idatzi ahala agertuko dira",loading:"Kargatzen"},cr={thanks_to:nr,comments:ar,direction:lr,strings:or};var st={};h(st,{comments:()=>dr,default:()=>mr,direction:()=>hr,strings:()=>pr,thanks_to:()=>ur});var ur="Ali Khaleqi Yekta ",dr="",hr="rtl",pr={placeholder:"\u062C\u0633\u062A\u062C\u0648",clear_search:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",load_more:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0646\u062A\u0627\u06CC\u062C \u0628\u06CC\u0634\u062A\u0631",search_label:"\u062C\u0633\u062A\u062C\u0648 \u062F\u0631 \u0633\u0627\u06CC\u062A",filters_label:"\u0641\u06CC\u0644\u062A\u0631\u0647\u0627",zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",total_zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",total_one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647",total_many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647",alt_search:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u062F\u0631 \u0639\u0648\u0636 \u0646\u062A\u0627\u06CC\u062C \u0628\u0631\u0627\u06CC [DIFFERENT_TERM] \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F",search_suggestion:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u062C\u0633\u062A\u062C\u0648\u0647\u0627\u06CC \u0632\u06CC\u0631 \u0631\u0627 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F:",searching:"\u062F\u0631 \u062D\u0627\u0644 \u062C\u0633\u062A\u062C\u0648\u06CC [SEARCH_TERM]...",results_label:"\u0646\u062A\u0627\u06CC\u062C \u062C\u0633\u062A\u062C\u0648",keyboard_navigate:"\u067E\u06CC\u0645\u0627\u06CC\u0634",keyboard_select:"\u0627\u0646\u062A\u062E\u0627\u0628",keyboard_clear:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",keyboard_close:"\u0628\u0633\u062A\u0646",keyboard_search:"\u062C\u0633\u062A\u062C\u0648",error_search:"\u062C\u0633\u062A\u062C\u0648 \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0648\u062F",filter_selected_one:"[COUNT] \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647",filter_selected_many:"[COUNT] \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647",input_hint:"\u0646\u062A\u0627\u06CC\u062C \u0647\u0646\u06AF\u0627\u0645 \u062A\u0627\u06CC\u067E \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F",loading:"\u062F\u0631 \u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC"},mr={thanks_to:ur,comments:dr,direction:hr,strings:pr};var rt={};h(rt,{comments:()=>fr,default:()=>br,direction:()=>gr,strings:()=>Er,thanks_to:()=>_r});var _r="Valtteri Laitinen ",fr="",gr="ltr",Er={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",total_zero_results:"Ei tuloksia",total_one_result:"[COUNT] tulos",total_many_results:"[COUNT] tulosta",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]...",results_label:"Hakutulokset",keyboard_navigate:"siirry",keyboard_select:"valitse",keyboard_clear:"tyhjenn\xE4",keyboard_close:"sulje",keyboard_search:"hae",error_search:"Haku ep\xE4onnistui",filter_selected_one:"[COUNT] valittu",filter_selected_many:"[COUNT] valittu",input_hint:"Tulokset n\xE4kyv\xE4t kirjoittaessasi",loading:"Ladataan"},br={thanks_to:_r,comments:fr,direction:gr,strings:Er};var it={};h(it,{comments:()=>Cr,default:()=>Rr,direction:()=>yr,strings:()=>vr,thanks_to:()=>Tr});var Tr="Nicolas Friedli ",Cr="",yr="ltr",vr={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",total_zero_results:"Pas de r\xE9sultat",total_one_result:"[COUNT] r\xE9sultat",total_many_results:"[COUNT] r\xE9sultats",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]...",results_label:"R\xE9sultats de recherche",keyboard_navigate:"naviguer",keyboard_select:"choisir",keyboard_clear:"effacer",keyboard_close:"fermer",keyboard_search:"rechercher",error_search:"\xC9chec de la recherche",filter_selected_one:"[COUNT] s\xE9lectionn\xE9",filter_selected_many:"[COUNT] s\xE9lectionn\xE9s",input_hint:"Les r\xE9sultats appara\xEEtront au fur et \xE0 mesure de la saisie",loading:"Chargement"},Rr={thanks_to:Tr,comments:Cr,direction:yr,strings:vr};var nt={};h(nt,{comments:()=>Ar,default:()=>Mr,direction:()=>Sr,strings:()=>Nr,thanks_to:()=>kr});var kr="Pablo Villaverde ",Ar="",Sr="ltr",Nr={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",total_zero_results:"Sen resultados",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]...",results_label:"Resultados da busca",keyboard_navigate:"navegar",keyboard_select:"escoller",keyboard_clear:"limpar",keyboard_close:"pechar",keyboard_search:"buscar",error_search:"Erro na busca",filter_selected_one:"[COUNT] seleccionado",filter_selected_many:"[COUNT] seleccionados",input_hint:"Os resultados aparecer\xE1n mentres escribe",loading:"Cargando"},Mr={thanks_to:kr,comments:Ar,direction:Sr,strings:Nr};var at={};h(at,{comments:()=>xr,default:()=>Ir,direction:()=>Hr,strings:()=>wr,thanks_to:()=>Or});var Or="Nir Tamir ",xr="",Hr="rtl",wr={placeholder:"\u05D7\u05D9\u05E4\u05D5\u05E9",clear_search:"\u05E0\u05D9\u05E7\u05D5\u05D9",load_more:"\u05E2\u05D5\u05D3 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",search_label:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D6\u05D4",filters_label:"\u05DE\u05E1\u05E0\u05E0\u05D9\u05DD",zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",many_results:"\u05E0\u05DE\u05E6\u05D0\u05D5 [COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",one_result:"\u05E0\u05DE\u05E6\u05D0\u05D4 \u05EA\u05D5\u05E6\u05D0\u05D4 \u05D0\u05D7\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",total_zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",total_one_result:"\u05EA\u05D5\u05E6\u05D0\u05D4 [COUNT]",total_many_results:"[COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",alt_search:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [DIFFERENT_TERM]",search_suggestion:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05E0\u05E1\u05D5 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9\u05D9\u05DD \u05D4\u05D1\u05D0\u05D9\u05DD:",searching:"\u05DE\u05D7\u05E4\u05E9 \u05D0\u05EA [SEARCH_TERM]...",results_label:"\u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05D7\u05D9\u05E4\u05D5\u05E9",keyboard_navigate:"\u05E0\u05D9\u05D5\u05D5\u05D8",keyboard_select:"\u05D1\u05D7\u05D9\u05E8\u05D4",keyboard_clear:"\u05E0\u05D9\u05E7\u05D5\u05D9",keyboard_close:"\u05E1\u05D2\u05D9\u05E8\u05D4",keyboard_search:"\u05D7\u05D9\u05E4\u05D5\u05E9",error_search:"\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9 \u05E0\u05DB\u05E9\u05DC",filter_selected_one:"[COUNT] \u05E0\u05D1\u05D7\u05E8",filter_selected_many:"[COUNT] \u05E0\u05D1\u05D7\u05E8\u05D5",input_hint:"\u05D4\u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05D9\u05D5\u05E4\u05D9\u05E2\u05D5 \u05EA\u05D5\u05DA \u05DB\u05D3\u05D9 \u05D4\u05E7\u05DC\u05D3\u05D4",loading:"\u05D8\u05D5\u05E2\u05DF"},Ir={thanks_to:Or,comments:xr,direction:Hr,strings:wr};var lt={};h(lt,{comments:()=>Lr,default:()=>zr,direction:()=>Fr,strings:()=>Pr,thanks_to:()=>Ur});var Ur="Amit Yadav ",Lr="",Fr="ltr",Pr={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",total_zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902",total_one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E",total_many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948...",results_label:"\u0916\u094B\u091C \u092A\u0930\u093F\u0923\u093E\u092E",keyboard_navigate:"\u0928\u0947\u0935\u093F\u0917\u0947\u091F",keyboard_select:"\u091A\u0941\u0928\u0947\u0902",keyboard_clear:"\u0938\u093E\u092B\u093C \u0915\u0930\u0947\u0902",keyboard_close:"\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",keyboard_search:"\u0916\u094B\u091C\u0947\u0902",error_search:"\u0916\u094B\u091C \u0935\u093F\u092B\u0932",filter_selected_one:"[COUNT] \u091A\u092F\u0928\u093F\u0924",filter_selected_many:"[COUNT] \u091A\u092F\u0928\u093F\u0924",input_hint:"\u091F\u093E\u0907\u092A \u0915\u0930\u0924\u0947 \u0938\u092E\u092F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E\u0908 \u0926\u0947\u0902\u0917\u0947",loading:"\u0932\u094B\u0921 \u0939\u094B \u0930\u0939\u093E \u0939\u0948"},zr={thanks_to:Ur,comments:Lr,direction:Fr,strings:Pr};var ot={};h(ot,{comments:()=>jr,default:()=>$r,direction:()=>Br,strings:()=>Kr,thanks_to:()=>Dr});var Dr="Diomed ",jr="",Br="ltr",Kr={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",total_zero_results:"Nema rezultata",total_one_result:"[COUNT] rezultat",total_many_results:"[COUNT] rezultata",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Poku\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]...",results_label:"Rezultati pretrage",keyboard_navigate:"navigiraj",keyboard_select:"odaberi",keyboard_clear:"o\u010Disti",keyboard_close:"zatvori",keyboard_search:"tra\u017Ei",error_search:"Pretraga nije uspjela",filter_selected_one:"[COUNT] odabran",filter_selected_many:"[COUNT] odabranih",input_hint:"Rezultati \u0107e se pojaviti dok tipkate",loading:"U\u010Ditavanje"},$r={thanks_to:Dr,comments:jr,direction:Br,strings:Kr};var ct={};h(ct,{comments:()=>qr,default:()=>Yr,direction:()=>Gr,strings:()=>Wr,thanks_to:()=>Vr});var Vr="Adam Laki ",qr="",Gr="ltr",Wr={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",total_zero_results:"Nincs tal\xE1lat",total_one_result:"[COUNT] tal\xE1lat",total_many_results:"[COUNT] tal\xE1lat",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre...",results_label:"Keres\xE9si tal\xE1latok",keyboard_navigate:"navig\xE1l\xE1s",keyboard_select:"kiv\xE1laszt\xE1s",keyboard_clear:"t\xF6rl\xE9s",keyboard_close:"bez\xE1r\xE1s",keyboard_search:"keres\xE9s",error_search:"A keres\xE9s sikertelen",filter_selected_one:"[COUNT] kiv\xE1lasztva",filter_selected_many:"[COUNT] kiv\xE1lasztva",input_hint:"A tal\xE1latok g\xE9pel\xE9s k\xF6zben jelennek meg",loading:"Bet\xF6lt\xE9s"},Yr={thanks_to:Vr,comments:qr,direction:Gr,strings:Wr};var ut={};h(ut,{comments:()=>Zr,default:()=>ei,direction:()=>Xr,strings:()=>Qr,thanks_to:()=>Jr});var Jr="Nixentric",Zr="",Xr="ltr",Qr={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",total_zero_results:"Tidak ada hasil",total_one_result:"[COUNT] hasil",total_many_results:"[COUNT] hasil",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]...",results_label:"Hasil pencarian",keyboard_navigate:"navigasi",keyboard_select:"pilih",keyboard_clear:"bersihkan",keyboard_close:"tutup",keyboard_search:"cari",error_search:"Pencarian gagal",filter_selected_one:"[COUNT] dipilih",filter_selected_many:"[COUNT] dipilih",input_hint:"Hasil akan muncul saat Anda mengetik",loading:"Memuat"},ei={thanks_to:Jr,comments:Zr,direction:Xr,strings:Qr};var dt={};h(dt,{comments:()=>si,default:()=>ni,direction:()=>ri,strings:()=>ii,thanks_to:()=>ti});var ti="Cosette Bruhns Alonso, Andrew Janco ",si="",ri="ltr",ii={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",total_zero_results:"Nessun risultato",total_one_result:"[COUNT] risultato",total_many_results:"[COUNT] risultati",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]...",results_label:"Risultati della ricerca",keyboard_navigate:"naviga",keyboard_select:"seleziona",keyboard_clear:"cancella",keyboard_close:"chiudi",keyboard_search:"cerca",error_search:"Ricerca fallita",filter_selected_one:"[COUNT] selezionato",filter_selected_many:"[COUNT] selezionati",input_hint:"I risultati appariranno durante la digitazione",loading:"Caricamento"},ni={thanks_to:ti,comments:si,direction:ri,strings:ii};var ht={};h(ht,{comments:()=>li,default:()=>ui,direction:()=>oi,strings:()=>ci,thanks_to:()=>ai});var ai="Tate",li="",oi="ltr",ci={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",total_zero_results:"\u7D50\u679C\u306A\u3057",total_one_result:"[COUNT]\u4EF6\u306E\u7D50\u679C",total_many_results:"[COUNT]\u4EF6\u306E\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059",results_label:"\u691C\u7D22\u7D50\u679C",keyboard_navigate:"\u79FB\u52D5",keyboard_select:"\u9078\u629E",keyboard_clear:"\u30AF\u30EA\u30A2",keyboard_close:"\u9589\u3058\u308B",keyboard_search:"\u691C\u7D22",error_search:"\u691C\u7D22\u306B\u5931\u6557\u3057\u307E\u3057\u305F",filter_selected_one:"[COUNT]\u4EF6\u9078\u629E\u4E2D",filter_selected_many:"[COUNT]\u4EF6\u9078\u629E\u4E2D",input_hint:"\u5165\u529B\u4E2D\u306B\u691C\u7D22\u7D50\u679C\u304C\u8868\u793A\u3055\u308C\u307E\u3059",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D"},ui={thanks_to:ai,comments:li,direction:oi,strings:ci};var pt={};h(pt,{comments:()=>hi,default:()=>_i,direction:()=>pi,strings:()=>mi,thanks_to:()=>di});var di="Seokho Son ",hi="",pi="ltr",mi={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",total_zero_results:"\uACB0\uACFC \uC5C6\uC74C",total_one_result:"\uACB0\uACFC [COUNT]\uAC74",total_many_results:"\uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911...",results_label:"\uAC80\uC0C9 \uACB0\uACFC",keyboard_navigate:"\uC774\uB3D9",keyboard_select:"\uC120\uD0DD",keyboard_clear:"\uBE44\uC6B0\uAE30",keyboard_close:"\uB2EB\uAE30",keyboard_search:"\uAC80\uC0C9",error_search:"\uAC80\uC0C9 \uC2E4\uD328",filter_selected_one:"[COUNT]\uAC1C \uC120\uD0DD\uB428",filter_selected_many:"[COUNT]\uAC1C \uC120\uD0DD\uB428",input_hint:"\uC785\uB825\uD558\uB294 \uB3D9\uC548 \uACB0\uACFC\uAC00 \uD45C\uC2DC\uB429\uB2C8\uB2E4",loading:"\uB85C\uB529 \uC911"},_i={thanks_to:di,comments:hi,direction:pi,strings:mi};var mt={};h(mt,{comments:()=>gi,default:()=>Ti,direction:()=>Ei,strings:()=>bi,thanks_to:()=>fi});var fi="",gi="",Ei="ltr",bi={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",total_zero_results:"K\u0101ore he otinga",total_one_result:"[COUNT] otinga",total_many_results:"[COUNT] ng\u0101 otinga",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga k\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]...",results_label:"Ng\u0101 otinga rapu",keyboard_navigate:"whakatere",keyboard_select:"t\u012Bpako",keyboard_clear:"whakakore",keyboard_close:"kati",keyboard_search:"rapu",error_search:"K\u0101ore i eke te rapu",filter_selected_one:"[COUNT] kua t\u012Bpakohia",filter_selected_many:"[COUNT] kua t\u012Bpakohia",input_hint:"Ka puta ng\u0101 otinga i a koe e patopato ana",loading:"E uta ana"},Ti={thanks_to:fi,comments:gi,direction:Ei,strings:bi};var _t={};h(_t,{comments:()=>yi,default:()=>ki,direction:()=>vi,strings:()=>Ri,thanks_to:()=>Ci});var Ci="Harry Min Khant ",yi="",vi="ltr",Ri={placeholder:"\u101B\u103E\u102C\u101B\u1014\u103A",clear_search:"\u101B\u103E\u102C\u1016\u103D\u1031\u1019\u103E\u102F\u1000\u102D\u102F \u101B\u103E\u1004\u103A\u1038\u101C\u1004\u103A\u1038\u1015\u102B\u104B",load_more:"\u1014\u1031\u102C\u1000\u103A\u1011\u1015\u103A\u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038\u1000\u102D\u102F \u1010\u1004\u103A\u1015\u102B\u104B",search_label:"\u1024\u1006\u102D\u102F\u1000\u103A\u1010\u103D\u1004\u103A\u101B\u103E\u102C\u1016\u103D\u1031\u1015\u102B\u104B",filters_label:"\u1005\u1005\u103A\u1011\u102F\u1010\u103A\u1019\u103E\u102F\u1019\u103B\u102C\u1038",zero_results:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038 \u1019\u101B\u103E\u102D\u1015\u102B",many_results:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A [COUNT] \u1001\u102F",one_result:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A [COUNT]",total_zero_results:"\u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038 \u1019\u101B\u103E\u102D\u1015\u102B",total_one_result:"\u101B\u101C\u1012\u103A [COUNT] \u1001\u102F",total_many_results:"\u101B\u101C\u1012\u103A [COUNT] \u1001\u102F",alt_search:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A\u1019\u101B\u103E\u102D\u1015\u102B\u104B \u104E\u1004\u103A\u1038\u1021\u1005\u102C\u1038 [DIFFERENT_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038\u1000\u102D\u102F \u1015\u103C\u101E\u101E\u100A\u103A\u104B",search_suggestion:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A\u1019\u101B\u103E\u102D\u1015\u102B\u104B \u1021\u1031\u102C\u1000\u103A\u1015\u102B\u101B\u103E\u102C\u1016\u103D\u1031\u1019\u103E\u102F\u1019\u103B\u102C\u1038\u1011\u1032\u1019\u103E \u1010\u1005\u103A\u1001\u102F\u1000\u102D\u102F \u1005\u1019\u103A\u1038\u1000\u103C\u100A\u1037\u103A\u1015\u102B:",searching:"[SEARCH_TERM] \u1000\u102D\u102F \u101B\u103E\u102C\u1016\u103D\u1031\u1014\u1031\u101E\u100A\u103A...",results_label:"\u101B\u103E\u102C\u1016\u103D\u1031\u1019\u103E\u102F \u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038",keyboard_navigate:"\u101C\u1019\u103A\u1038\u100A\u103D\u103E\u1014\u103A",keyboard_select:"\u101B\u103D\u1031\u1038\u1001\u103B\u101A\u103A",keyboard_clear:"\u101B\u103E\u1004\u103A\u1038\u101C\u1004\u103A\u1038",keyboard_close:"\u1015\u102D\u1010\u103A",keyboard_search:"\u101B\u103E\u102C\u101B\u1014\u103A",error_search:"\u101B\u103E\u102C\u1016\u103D\u1031\u1019\u103E\u102F \u1019\u1021\u1031\u102C\u1004\u103A\u1019\u103C\u1004\u103A\u1015\u102B",filter_selected_one:"[COUNT] \u1001\u102F \u101B\u103D\u1031\u1038\u1001\u103B\u101A\u103A\u1011\u102C\u1038\u101E\u100A\u103A",filter_selected_many:"[COUNT] \u1001\u102F \u101B\u103D\u1031\u1038\u1001\u103B\u101A\u103A\u1011\u102C\u1038\u101E\u100A\u103A",input_hint:"\u101B\u102D\u102F\u1000\u103A\u1014\u1031\u1005\u1009\u103A \u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038 \u1015\u1031\u102B\u103A\u101C\u102C\u1015\u102B\u1019\u100A\u103A",loading:"\u1010\u1004\u103A\u1014\u1031\u101E\u100A\u103A"},ki={thanks_to:Ci,comments:yi,direction:vi,strings:Ri};var ft={};h(ft,{comments:()=>Si,default:()=>Oi,direction:()=>Ni,strings:()=>Mi,thanks_to:()=>Ai});var Ai="Eirik Mikkelsen",Si="",Ni="ltr",Mi={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]",results_label:"S\xF8keresultater",keyboard_navigate:"naviger",keyboard_select:"velg",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"s\xF8k",error_search:"S\xF8k feilet",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Laster"},Oi={thanks_to:Ai,comments:Si,direction:Ni,strings:Mi};var gt={};h(gt,{comments:()=>Hi,default:()=>Ui,direction:()=>wi,strings:()=>Ii,thanks_to:()=>xi});var xi="Paul van Brouwershaven",Hi="",wi="ltr",Ii={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",total_zero_results:"Geen resultaten",total_one_result:"[COUNT] resultaat",total_many_results:"[COUNT] resultaten",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]...",results_label:"Zoekresultaten",keyboard_navigate:"navigeren",keyboard_select:"selecteren",keyboard_clear:"wissen",keyboard_close:"sluiten",keyboard_search:"zoeken",error_search:"Zoeken mislukt",filter_selected_one:"[COUNT] geselecteerd",filter_selected_many:"[COUNT] geselecteerd",input_hint:"Resultaten verschijnen terwijl u typt",loading:"Laden"},Ui={thanks_to:xi,comments:Hi,direction:wi,strings:Ii};var Et={};h(Et,{comments:()=>Fi,default:()=>Di,direction:()=>Pi,strings:()=>zi,thanks_to:()=>Li});var Li="Eirik Mikkelsen",Fi="",Pi="ltr",zi={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last fleire resultat",search_label:"S\xF8k p\xE5 denne sida",filters_label:"Filter",zero_results:"Ingen resultat for [SEARCH_TERM]",many_results:"[COUNT] resultat for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultat",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultat",alt_search:"Ingen resultat for [SEARCH_TERM]. Viser resultat for [DIFFERENT_TERM] i staden",search_suggestion:"Ingen resultat for [SEARCH_TERM]. Pr\xF8v eitt av desse s\xF8keorda i staden:",searching:"S\xF8ker etter [SEARCH_TERM]",results_label:"S\xF8keresultat",keyboard_navigate:"naviger",keyboard_select:"vel",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"s\xF8k",error_search:"S\xF8k feila",filter_selected_one:"[COUNT] vald",filter_selected_many:"[COUNT] valde",input_hint:"Resultat visast medan du skriv",loading:"Lastar"},Di={thanks_to:Li,comments:Fi,direction:Pi,strings:zi};var bt={};h(bt,{comments:()=>Bi,default:()=>Vi,direction:()=>Ki,strings:()=>$i,thanks_to:()=>ji});var ji="Christopher Wingate",Bi="",Ki="ltr",$i={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]",results_label:"S\xF8keresultater",keyboard_navigate:"naviger",keyboard_select:"velg",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"s\xF8k",error_search:"S\xF8k feilet",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Laster"},Vi={thanks_to:ji,comments:Bi,direction:Ki,strings:$i};var Tt={};h(Tt,{comments:()=>Gi,default:()=>Ji,direction:()=>Wi,strings:()=>Yi,thanks_to:()=>qi});var qi="",Gi="",Wi="ltr",Yi={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",total_zero_results:"Brak wynik\xF3w",total_one_result:"[COUNT] wynik",total_many_results:"[COUNT] wynik\xF3w",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]...",results_label:"Wyniki wyszukiwania",keyboard_navigate:"nawiguj",keyboard_select:"wybierz",keyboard_clear:"wyczy\u015B\u0107",keyboard_close:"zamknij",keyboard_search:"szukaj",error_search:"Wyszukiwanie nie powiod\u0142o si\u0119",filter_selected_one:"[COUNT] wybrany",filter_selected_many:"[COUNT] wybranych",input_hint:"Wyniki pojawi\u0105 si\u0119 podczas pisania",loading:"\u0141adowanie"},Ji={thanks_to:qi,comments:Gi,direction:Wi,strings:Yi};var Ct={};h(Ct,{comments:()=>Xi,default:()=>tn,direction:()=>Qi,strings:()=>en,thanks_to:()=>Zi});var Zi="Jonatah",Xi="",Qi="ltr",en={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",total_zero_results:"Nenhum resultado",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]...",results_label:"Resultados da pesquisa",keyboard_navigate:"navegar",keyboard_select:"selecionar",keyboard_clear:"limpar",keyboard_close:"fechar",keyboard_search:"pesquisar",error_search:"Falha na pesquisa",filter_selected_one:"[COUNT] selecionado",filter_selected_many:"[COUNT] selecionados",input_hint:"Os resultados aparecer\xE3o enquanto voc\xEA digita",loading:"Carregando"},tn={thanks_to:Zi,comments:Xi,direction:Qi,strings:en};var yt={};h(yt,{comments:()=>rn,default:()=>ln,direction:()=>nn,strings:()=>an,thanks_to:()=>sn});var sn="Bogdan Mateescu ",rn="",nn="ltr",an={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",total_zero_results:"Niciun rezultat",total_one_result:"[COUNT] rezultat",total_many_results:"[COUNT] rezultate",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afi\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]...",results_label:"Rezultatele c\u0103ut\u0103rii",keyboard_navigate:"navigare",keyboard_select:"selectare",keyboard_clear:"\u0219tergere",keyboard_close:"\xEEnchidere",keyboard_search:"c\u0103utare",error_search:"C\u0103utarea a e\u0219uat",filter_selected_one:"[COUNT] selectat",filter_selected_many:"[COUNT] selectate",input_hint:"Rezultatele vor ap\u0103rea pe m\u0103sur\u0103 ce tasta\u021Bi",loading:"Se \xEEncarc\u0103"},ln={thanks_to:sn,comments:rn,direction:nn,strings:an};var vt={};h(vt,{comments:()=>cn,default:()=>hn,direction:()=>un,strings:()=>dn,thanks_to:()=>on});var on="Aleksandr Gordeev",cn="",un="ltr",dn={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",total_zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",total_one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",total_many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",results_label:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E\u0438\u0441\u043A\u0430",keyboard_navigate:"\u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F",keyboard_select:"\u0432\u044B\u0431\u0440\u0430\u0442\u044C",keyboard_clear:"\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",keyboard_close:"\u0437\u0430\u043A\u0440\u044B\u0442\u044C",keyboard_search:"\u043F\u043E\u0438\u0441\u043A",error_search:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u043E\u0438\u0441\u043A\u0430",filter_selected_one:"[COUNT] \u0432\u044B\u0431\u0440\u0430\u043D",filter_selected_many:"[COUNT] \u0432\u044B\u0431\u0440\u0430\u043D\u043E",input_hint:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u0431\u0443\u0434\u0443\u0442 \u043F\u043E\u044F\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043F\u043E \u043C\u0435\u0440\u0435 \u0432\u0432\u043E\u0434\u0430",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430"},hn={thanks_to:on,comments:cn,direction:un,strings:dn};var Rt={};h(Rt,{comments:()=>mn,default:()=>gn,direction:()=>_n,strings:()=>fn,thanks_to:()=>pn});var pn="Andrija Sagicc",mn="",_n="ltr",fn={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",total_zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",total_one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442",total_many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]...",results_label:"\u0420\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0435",keyboard_navigate:"\u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0458\u0430",keyboard_select:"\u0438\u0437\u0430\u0431\u0435\u0440\u0438",keyboard_clear:"\u043E\u0431\u0440\u0438\u0448\u0438",keyboard_close:"\u0437\u0430\u0442\u0432\u043E\u0440\u0438",keyboard_search:"\u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",error_search:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u043D\u0438\u0458\u0435 \u0443\u0441\u043F\u0435\u043B\u0430",filter_selected_one:"[COUNT] \u0438\u0437\u0430\u0431\u0440\u0430\u043D",filter_selected_many:"[COUNT] \u0438\u0437\u0430\u0431\u0440\u0430\u043D\u0438\u0445",input_hint:"\u0420\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438 \u045B\u0435 \u0441\u0435 \u043F\u043E\u0458\u0430\u0432\u0459\u0438\u0432\u0430\u0442\u0438 \u0434\u043E\u043A \u043A\u0443\u0446\u0430\u0442\u0435",loading:"\u0423\u0447\u0438\u0442\u0430\u0432\u0430\u045A\u0435"},gn={thanks_to:pn,comments:mn,direction:_n,strings:fn};var kt={};h(kt,{comments:()=>bn,default:()=>yn,direction:()=>Tn,strings:()=>Cn,thanks_to:()=>En});var En="Montazar Al-Jaber ",bn="",Tn="ltr",Cn={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",total_zero_results:"Inga tr\xE4ffar",total_one_result:"[COUNT] tr\xE4ff",total_many_results:"[COUNT] tr\xE4ffar",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]...",results_label:"S\xF6kresultat",keyboard_navigate:"navigera",keyboard_select:"v\xE4lj",keyboard_clear:"rensa",keyboard_close:"st\xE4ng",keyboard_search:"s\xF6k",error_search:"S\xF6kningen misslyckades",filter_selected_one:"[COUNT] vald",filter_selected_many:"[COUNT] valda",input_hint:"Resultat visas medan du skriver",loading:"L\xE4ser in"},yn={thanks_to:En,comments:bn,direction:Tn,strings:Cn};var At={};h(At,{comments:()=>Rn,default:()=>Sn,direction:()=>kn,strings:()=>An,thanks_to:()=>vn});var vn="Anonymous",Rn="",kn="ltr",An={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",total_zero_results:"Hakuna matokeo",total_one_result:"Tokeo [COUNT]",total_many_results:"Matokeo [COUNT]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]...",results_label:"Matokeo ya utafutaji",keyboard_navigate:"sogeza",keyboard_select:"chagua",keyboard_clear:"futa",keyboard_close:"funga",keyboard_search:"tafuta",error_search:"Utafutaji umeshindwa",filter_selected_one:"[COUNT] imechaguliwa",filter_selected_many:"[COUNT] zimechaguliwa",input_hint:"Matokeo yataonekana unapoandika",loading:"Inapakia"},Sn={thanks_to:vn,comments:Rn,direction:kn,strings:An};var St={};h(St,{comments:()=>Mn,default:()=>Hn,direction:()=>On,strings:()=>xn,thanks_to:()=>Nn});var Nn="",Mn="",On="ltr",xn={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",total_zero_results:"\u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",total_one_result:"[COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",total_many_results:"[COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1",results_label:"\u0BA4\u0BC7\u0B9F\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",keyboard_navigate:"\u0BB5\u0BB4\u0BBF\u0BA8\u0B9F\u0BA4\u0BCD\u0BA4\u0BC1",keyboard_select:"\u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1",keyboard_clear:"\u0B85\u0BB4\u0BBF",keyboard_close:"\u0BAE\u0BC2\u0B9F\u0BC1",keyboard_search:"\u0BA4\u0BC7\u0B9F\u0BC1",error_search:"\u0BA4\u0BC7\u0B9F\u0BB2\u0BCD \u0BA4\u0BCB\u0BB2\u0BCD\u0BB5\u0BBF",filter_selected_one:"[COUNT] \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",filter_selected_many:"[COUNT] \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA9",input_hint:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0B9F\u0BCD\u0B9F\u0B9A\u0BCD\u0B9A\u0BC1 \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BC1\u0BAE\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0BA4\u0BCB\u0BA9\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD",loading:"\u0B8F\u0BB1\u0BCD\u0BB1\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1"},Hn={thanks_to:Nn,comments:Mn,direction:On,strings:xn};var Nt={};h(Nt,{comments:()=>In,default:()=>Fn,direction:()=>Un,strings:()=>Ln,thanks_to:()=>wn});var wn="Patiphon Loetsuthakun ",In="",Un="ltr",Ln={placeholder:"\u0E04\u0E49\u0E19\u0E2B\u0E32",clear_search:"\u0E25\u0E49\u0E32\u0E07",load_more:"\u0E42\u0E2B\u0E25\u0E14\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21",search_label:"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E0B\u0E15\u0E4C",filters_label:"\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07",zero_results:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM]",many_results:"\u0E1E\u0E1A [COUNT] \u0E1C\u0E25\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM]",one_result:"\u0E1E\u0E1A [COUNT] \u0E1C\u0E25\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM]",total_zero_results:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C",total_one_result:"[COUNT] \u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C",total_many_results:"[COUNT] \u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C",alt_search:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM] \u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E08\u0E32\u0E01\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32 [DIFFERENT_TERM] \u0E41\u0E17\u0E19",search_suggestion:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM] \u0E25\u0E2D\u0E07\u0E04\u0E33\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E40\u0E2B\u0E25\u0E48\u0E32\u0E19\u0E35\u0E49\u0E41\u0E17\u0E19:",searching:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E04\u0E49\u0E19\u0E2B\u0E32 [SEARCH_TERM]...",results_label:"\u0E1C\u0E25\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32",keyboard_navigate:"\u0E19\u0E33\u0E17\u0E32\u0E07",keyboard_select:"\u0E40\u0E25\u0E37\u0E2D\u0E01",keyboard_clear:"\u0E25\u0E49\u0E32\u0E07",keyboard_close:"\u0E1B\u0E34\u0E14",keyboard_search:"\u0E04\u0E49\u0E19\u0E2B\u0E32",error_search:"\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27",filter_selected_one:"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 [COUNT] \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",filter_selected_many:"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 [COUNT] \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",input_hint:"\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E08\u0E30\u0E1B\u0E23\u0E32\u0E01\u0E0F\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E1E\u0E34\u0E21\u0E1E\u0E4C",loading:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14"},Fn={thanks_to:wn,comments:In,direction:Un,strings:Ln};var Mt={};h(Mt,{comments:()=>zn,default:()=>Bn,direction:()=>Dn,strings:()=>jn,thanks_to:()=>Pn});var Pn="Taylan \xD6zg\xFCr Bildik",zn="",Dn="ltr",jn={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",total_zero_results:"Sonu\xE7 yok",total_one_result:"[COUNT] sonu\xE7",total_many_results:"[COUNT] sonu\xE7",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor...",results_label:"Arama sonu\xE7lar\u0131",keyboard_navigate:"gezin",keyboard_select:"se\xE7",keyboard_clear:"temizle",keyboard_close:"kapat",keyboard_search:"ara",error_search:"Arama ba\u015Far\u0131s\u0131z",filter_selected_one:"[COUNT] se\xE7ili",filter_selected_many:"[COUNT] se\xE7ili",input_hint:"Sonu\xE7lar siz yazarken g\xF6r\xFCnecektir",loading:"Y\xFCkleniyor"},Bn={thanks_to:Pn,comments:zn,direction:Dn,strings:jn};var Ot={};h(Ot,{comments:()=>$n,default:()=>Gn,direction:()=>Vn,strings:()=>qn,thanks_to:()=>Kn});var Kn="Vladyslav Lyshenko ",$n="",Vn="ltr",qn={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",total_zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E",total_one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",total_many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",results_label:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043F\u043E\u0448\u0443\u043A\u0443",keyboard_navigate:"\u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F",keyboard_select:"\u0432\u0438\u0431\u0440\u0430\u0442\u0438",keyboard_clear:"\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u0438",keyboard_close:"\u0437\u0430\u043A\u0440\u0438\u0442\u0438",keyboard_search:"\u043F\u043E\u0448\u0443\u043A",error_search:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u043E\u0448\u0443\u043A\u0443",filter_selected_one:"[COUNT] \u0432\u0438\u0431\u0440\u0430\u043D\u043E",filter_selected_many:"[COUNT] \u0432\u0438\u0431\u0440\u0430\u043D\u043E",input_hint:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u0437'\u044F\u0432\u043B\u044F\u0442\u0438\u043C\u0443\u0442\u044C\u0441\u044F \u043F\u0456\u0434 \u0447\u0430\u0441 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F",loading:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F"},Gn={thanks_to:Kn,comments:$n,direction:Vn,strings:qn};var xt={};h(xt,{comments:()=>Yn,default:()=>Xn,direction:()=>Jn,strings:()=>Zn,thanks_to:()=>Wn});var Wn="Long Nhat Nguyen",Yn="",Jn="ltr",Zn={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",total_zero_results:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",total_one_result:"[COUNT] k\u1EBFt qu\u1EA3",total_many_results:"[COUNT] k\u1EBFt qu\u1EA3",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]...",results_label:"K\u1EBFt qu\u1EA3 t\xECm ki\u1EBFm",keyboard_navigate:"chuy\u1EC3n",keyboard_select:"ch\u1ECDn",keyboard_clear:"x\xF3a",keyboard_close:"\u0111\xF3ng",keyboard_search:"t\xECm ki\u1EBFm",error_search:"T\xECm ki\u1EBFm th\u1EA5t b\u1EA1i",filter_selected_one:"\u0110\xE3 ch\u1ECDn [COUNT]",filter_selected_many:"\u0110\xE3 ch\u1ECDn [COUNT]",input_hint:"K\u1EBFt qu\u1EA3 s\u1EBD xu\u1EA5t hi\u1EC7n khi b\u1EA1n nh\u1EADp",loading:"\u0110ang t\u1EA3i"},Xn={thanks_to:Wn,comments:Yn,direction:Jn,strings:Zn};var Ht={};h(Ht,{comments:()=>ea,default:()=>ra,direction:()=>ta,strings:()=>sa,thanks_to:()=>Qn});var Qn="Amber Song",ea="",ta="ltr",sa={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",total_zero_results:"\u65E0\u7ED3\u679C",total_one_result:"[COUNT] \u4E2A\u7ED3\u679C",total_many_results:"[COUNT] \u4E2A\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]...",results_label:"\u641C\u7D22\u7ED3\u679C",keyboard_navigate:"\u5BFC\u822A",keyboard_select:"\u9009\u62E9",keyboard_clear:"\u6E05\u9664",keyboard_close:"\u5173\u95ED",keyboard_search:"\u641C\u7D22",error_search:"\u641C\u7D22\u5931\u8D25",filter_selected_one:"\u5DF2\u9009\u62E9 [COUNT] \u4E2A",filter_selected_many:"\u5DF2\u9009\u62E9 [COUNT] \u4E2A",input_hint:"\u8F93\u5165\u65F6\u5C06\u663E\u793A\u7ED3\u679C",loading:"\u52A0\u8F7D\u4E2D"},ra={thanks_to:Qn,comments:ea,direction:ta,strings:sa};var wt={};h(wt,{comments:()=>na,default:()=>oa,direction:()=>aa,strings:()=>la,thanks_to:()=>ia});var ia="Amber Song",na="",aa="ltr",la={placeholder:"\u641C\u5C0B",clear_search:"\u6E05\u9664",load_more:"\u8F09\u5165\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u5C0B",filters_label:"\u7BE9\u9078",zero_results:"\u627E\u4E0D\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",total_zero_results:"\u7121\u7D50\u679C",total_one_result:"[COUNT] \u500B\u7D50\u679C",total_many_results:"[COUNT] \u500B\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u627E\u4E0D\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u7684\u5EFA\u8B70\u4E4B\u4E00\u3002",searching:"\u6B63\u5728\u641C\u5C0B[SEARCH_TERM]...",results_label:"\u641C\u5C0B\u7D50\u679C",keyboard_navigate:"\u5C0E\u89BD",keyboard_select:"\u9078\u64C7",keyboard_clear:"\u6E05\u9664",keyboard_close:"\u95DC\u9589",keyboard_search:"\u641C\u5C0B",error_search:"\u641C\u5C0B\u5931\u6557",filter_selected_one:"\u5DF2\u9078\u64C7 [COUNT] \u500B",filter_selected_many:"\u5DF2\u9078\u64C7 [COUNT] \u500B",input_hint:"\u8F38\u5165\u6642\u5C07\u986F\u793A\u7D50\u679C",loading:"\u8F09\u5165\u4E2D"},oa={thanks_to:ia,comments:na,direction:aa,strings:la};var It={};h(It,{comments:()=>ua,default:()=>pa,direction:()=>da,strings:()=>ha,thanks_to:()=>ca});var ca="Amber Song",ua="",da="ltr",ha={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",total_zero_results:"\u65E0\u7ED3\u679C",total_one_result:"[COUNT] \u4E2A\u7ED3\u679C",total_many_results:"[COUNT] \u4E2A\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]...",results_label:"\u641C\u7D22\u7ED3\u679C",keyboard_navigate:"\u5BFC\u822A",keyboard_select:"\u9009\u62E9",keyboard_clear:"\u6E05\u9664",keyboard_close:"\u5173\u95ED",keyboard_search:"\u641C\u7D22",error_search:"\u641C\u7D22\u5931\u8D25",filter_selected_one:"\u5DF2\u9009\u62E9 [COUNT] \u4E2A",filter_selected_many:"\u5DF2\u9009\u62E9 [COUNT] \u4E2A",input_hint:"\u8F93\u5165\u65F6\u5C06\u663E\u793A\u7ED3\u679C",loading:"\u52A0\u8F7D\u4E2D"},pa={thanks_to:ca,comments:ua,direction:da,strings:ha};var ma=[Ve,qe,Ge,We,Ye,Je,Ze,Xe,Qe,et,tt,st,rt,it,nt,at,lt,ot,ct,ut,dt,ht,pt,mt,_t,ft,gt,Et,bt,Tt,Ct,yt,vt,Rt,kt,At,St,Nt,Mt,Ot,xt,Ht,wt,It],Vt=ma,qt=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/el.json","../../translations/en.json","../../translations/es.json","../../translations/eu.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/my.json","../../translations/nb.json","../../translations/nl.json","../../translations/nn.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/th.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function b(n){let s=typeof n=="string"?n.charCodeAt(0):n;return s>=97&&s<=122||s>=65&&s<=90}function A(n){let s=typeof n=="string"?n.charCodeAt(0):n;return s>=48&&s<=57}function k(n){return b(n)||A(n)}var Gt=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var Ut={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var fa={}.hasOwnProperty;function ze(n,s={}){let e=Wt(),t=String(n),r=t.toLowerCase(),i=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(fa.call(Ut,r)){let l=Ut[r];return(s.normalize===void 0||s.normalize===null||s.normalize)&&typeof l=="string"?ze(l):(e[Gt.includes(r)?"regular":"irregular"]=t,e)}for(;b(r.charCodeAt(i))&&i<9;)i++;if(i>1&&i<9){if(e.language=t.slice(0,i),i<4){let l=0;for(;r.charCodeAt(i)===45&&b(r.charCodeAt(i+1))&&b(r.charCodeAt(i+2))&&b(r.charCodeAt(i+3))&&!b(r.charCodeAt(i+4));){if(l>2)return a(i,3,"Too many extended language subtags, expected at most 3 subtags");e.extendedLanguageSubtags.push(t.slice(i+1,i+4)),i+=4,l++}}for(r.charCodeAt(i)===45&&b(r.charCodeAt(i+1))&&b(r.charCodeAt(i+2))&&b(r.charCodeAt(i+3))&&b(r.charCodeAt(i+4))&&!b(r.charCodeAt(i+5))&&(e.script=t.slice(i+1,i+5),i+=5),r.charCodeAt(i)===45&&(b(r.charCodeAt(i+1))&&b(r.charCodeAt(i+2))&&!b(r.charCodeAt(i+3))?(e.region=t.slice(i+1,i+3),i+=3):A(r.charCodeAt(i+1))&&A(r.charCodeAt(i+2))&&A(r.charCodeAt(i+3))&&!A(r.charCodeAt(i+4))&&(e.region=t.slice(i+1,i+4),i+=4));r.charCodeAt(i)===45;){let l=i+1,o=l;for(;k(r.charCodeAt(o));){if(o-l>7)return a(o,1,"Too long variant, expected at most 8 characters");o++}if(o-l>4||o-l>3&&A(r.charCodeAt(l)))e.variants.push(t.slice(l,o)),i=o;else break}for(;r.charCodeAt(i)===45&&!(r.charCodeAt(i+1)===120||!k(r.charCodeAt(i+1))||r.charCodeAt(i+2)!==45||!k(r.charCodeAt(i+3)));){let l=i+2,o=0;for(;r.charCodeAt(l)===45&&k(r.charCodeAt(l+1))&&k(r.charCodeAt(l+2));){let c=l+1;for(l=c+2,o++;k(r.charCodeAt(l));){if(l-c>7)return a(l,2,"Too long extension, expected at most 8 characters");l++}}if(!o)return a(l,4,"Empty extension, extensions must have at least 2 characters of content");e.extensions.push({singleton:t.charAt(i+1),extensions:t.slice(i+3,l).split("-")}),i=l}}else i=0;if(i===0&&r.charCodeAt(i)===120||r.charCodeAt(i)===45&&r.charCodeAt(i+1)===120){i=i?i+2:1;let l=i;for(;r.charCodeAt(l)===45&&k(r.charCodeAt(l+1));){let o=i+1;for(l=o;k(r.charCodeAt(l));){if(l-o>7)return a(l,5,"Too long private-use area, expected at most 8 characters");l++}e.privateuse.push(t.slice(i+1,l)),i=l}}if(i!==t.length)return a(i,6,"Found superfluous content after tag");return e;function a(l,o,c){return s.warning&&s.warning(c,o,l),s.forgiving?e:Wt()}}function Wt(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}var be={},Yt=qt,Jt=Vt;for(let n=0;n"u")return;let s=document.createElement("div");s.id=this.containerId,s.setAttribute("data-pagefind-announcer","");let e=t=>{let r=[];for(let i=0;i<2;i++){let a=document.createElement("div");a.id=this.idGenerator(`pf-${t}-region`),a.setAttribute("role","status"),a.setAttribute("aria-live",t),a.setAttribute("aria-atomic","true"),a.setAttribute("data-pf-sr-hidden",""),s.appendChild(a),r.push(a)}return r};this.regions={polite:e("polite"),assertive:e("assertive")},document.body.appendChild(s)}announce(s,e="polite"){if(!this.regions||!s)return;this.clearTimeoutId&&(clearTimeout(this.clearTimeoutId),this.clearTimeoutId=null);let t=e==="polite"?this.politeIndex:this.assertiveIndex,r=this.regions[e][t];e==="polite"?this.politeIndex=t===0?1:0:this.assertiveIndex=t===0?1:0;let i=e==="polite"?this.politeIndex:this.assertiveIndex;this.regions[e][i].textContent="",setTimeout(()=>{r.textContent=s,this.clearTimeoutId=setTimeout(()=>{r.textContent="",this.clearTimeoutId=null},350)},100)}clear(){if(this.regions){this.clearTimeoutId&&(clearTimeout(this.clearTimeoutId),this.clearTimeoutId=null);for(let s of["polite","assertive"])for(let e of this.regions[s])e.textContent=""}}destroy(){if(this.clear(),typeof document<"u"){let s=document.getElementById(this.containerId);s&&s.remove()}this.regions=null}};var Lt;try{if(document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"){let n=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind[-_])?component[-_]?ui.js.*$/);n&&(Lt=n[1])}}catch{Lt="/pagefind/"}var Te=class{constructor(s,e={}){this.__pagefind__=null;this.__loadPromise__=null;this.__searchID__=0;this._translations=null;this._userTranslations={};this._direction="ltr";this._languageSet=!1;this.components=[];this.componentsByType={};this.searchTerm="";this.searchFilters={};this.searchResult={results:[]};this.availableFilters=null;this.totalFilters=null;this.activeShortcuts=[];this.faceted=!1;this.generatedIds=new Set;this.name=s,this.__hooks__={search:[],filters:[],loading:[],results:[],error:[],translations:[]},this.options={bundlePath:e.bundlePath??Lt??"/pagefind/",mergeIndex:e.mergeIndex??[]};let t={...e};delete t.bundlePath,delete t.mergeIndex,this.pagefindOptions=t,this._announcer=new De(this.generateId.bind(this))}generateId(s,e=2){let t="abcdef",r=(o=3)=>{let c="";for(let u=0;ur()).join("-"),l=`${s}-${i}${a}`;return this.generatedIds.has(l)||document.getElementById(l)?this.generateId(s,e+1):(this.generatedIds.add(l),l)}add(s){s?.register?.(this),this.components.push(s)}registerInput(s,e={}){this._registerComponent(s,"input",null,e)}registerResults(s,e={}){this._registerComponent(s,"results",null,e)}registerSummary(s,e={}){this._registerComponent(s,"summary",null,e)}registerFilter(s,e={}){this._registerComponent(s,"filter",null,e)}registerSort(s,e={}){this._registerComponent(s,"sort",null,e)}registerUtility(s,e=null,t={}){this._registerComponent(s,"utility",e,t)}_registerComponent(s,e,t=null,r={}){if(this.componentsByType[e]||(this.componentsByType[e]=[]),this._languageSet||this.setLanguage(),this.components.includes(s)){s.capabilities=r,this.reconcileAria();return}s.componentType=e,s.componentSubtype=t,s.capabilities=r,this.componentsByType[e].push(s),this.components.push(s),this.reconcileAria()}getInputs(s=null){let e=this.componentsByType.input||[];return s?e.filter(t=>t.capabilities?.[s]):e}getResults(s=null){let e=this.componentsByType.results||[];return s?e.filter(t=>t.capabilities?.[s]):e}getSummaries(s=null){let e=this.componentsByType.summary||[];return s?e.filter(t=>t.capabilities?.[s]):e}getFilters(s=null){let e=this.componentsByType.filter||[];return s?e.filter(t=>t.capabilities?.[s]):e}getSorts(s=null){let e=this.componentsByType.sort||[];return s?e.filter(t=>t.capabilities?.[s]):e}getUtilities(s=null,e=null){let t=this.componentsByType.utility||[];return s!==null&&(t=t.filter(r=>r.componentSubtype===s)),e&&(t=t.filter(r=>r.capabilities?.[e])),t}hasAnnouncementCapability(){return this.components.some(s=>s.capabilities?.announcements===!0)}registerShortcut(s,e){let t={...s,owner:e};this.activeShortcuts.push(t),this.notifyShortcutsChanged()}deregisterShortcut(s,e){this.activeShortcuts=this.activeShortcuts.filter(t=>!(t.label===s&&t.owner===e)),this.notifyShortcutsChanged()}deregisterAllShortcuts(s){this.activeShortcuts=this.activeShortcuts.filter(e=>e.owner!==s),this.notifyShortcutsChanged()}getActiveShortcuts(){return this.activeShortcuts}notifyShortcutsChanged(){this.getUtilities("keyboard-hints").forEach(e=>e.render?.())}focusNextResults(s){let e=this.getResults("keyboardNavigation"),t=$t(s,e);if(!t)return!1;let r=t.querySelector("a");return r?(r.focus(),!0):!1}focusPreviousInput(s){let e=this.getInputs("keyboardNavigation"),t=Pe(s,e);if(!t)return!1;if(t.focus)return t.focus(),!0;let r=t.querySelector("input");return r?(r.focus(),!0):!1}focusInputAndType(s,e){let t=this.getInputs("keyboardNavigation"),r=Pe(s,t),i=r?.inputEl||r?.querySelector("input");i&&(i.value+=e,i.focus(),i.dispatchEvent(new Event("input",{bubbles:!0})))}focusInputAndDelete(s){let e=this.getInputs("keyboardNavigation"),t=Pe(s,e),r=t?.inputEl||t?.querySelector("input");r&&(r.value=r.value.slice(0,-1),r.focus(),r.dispatchEvent(new Event("input",{bubbles:!0})))}reconcileAria(){this.components.forEach(s=>s.reconcileAria?.())}get direction(){return this._direction}setLanguage(s){s||(s=document?.documentElement?.lang||"en"),this._translations=Zt(s),this._direction=this._translations.direction||"ltr",this._languageSet=!0,this.__dispatch__("translations",this._translations,this._direction)}setTranslations(s){this._userTranslations={...this._userTranslations,...s},this.__dispatch__("translations",this._translations,this._direction)}translate(s,e={}){let t=this._userTranslations[s]??this._translations?.[s];return Xt(typeof t=="string"?t:void 0,e,this._translations?.language)}announce(s,e={},t="polite"){let r=this.translate(s,e);r&&this._announcer.announce(r,t)}announceRaw(s,e="polite"){this._announcer.announce(s,e)}clearAnnouncements(){this._announcer.clear()}on(s,e,t=null){if(!this.__hooks__[s]){let r=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Component UI]: Unknown event type ${s}. Supported events: [${r}]`);return}if(typeof e!="function"){console.error(`[Pagefind Component UI]: Expected callback to be a function, received ${typeof e}`);return}if(t){let r=this.__hooks__[s].findIndex(i=>typeof i=="object"&&i.owner===t);if(r!==-1){this.__hooks__[s][r]={callback:e,owner:t};return}this.__hooks__[s].push({callback:e,owner:t})}else this.__hooks__[s].push(e)}triggerLoad(){return this.__load__()}triggerSearch(s){this.searchTerm=s,this.__dispatch__("search",s,this.searchFilters),this.__search__(s,this.searchFilters)}triggerSearchWithFilters(s,e){this.searchTerm=s,this.searchFilters=e,this.__dispatch__("search",s,e),this.__search__(s,e)}triggerFilters(s){this.searchFilters=s,this.__dispatch__("search",this.searchTerm,s),this.__search__(this.searchTerm,s)}triggerFilter(s,e){this.searchFilters=this.searchFilters||{},this.searchFilters[s]=e,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(s,...e){this.__hooks__[s]?.forEach(t=>{typeof t=="function"?t(...e):t?.callback&&t.callback(...e)})}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.__pagefind__&&(this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters}))}async __search__(s,e){this.__dispatch__("loading"),await this.__load__();let t=++this.__searchID__;if((!s||!s.length)&&!this.faceted)return this.__clear__();if(!this.__pagefind__)return;let r=s&&s.length?s:null,i=await this.__pagefind__.search(r,{filters:e});if(i&&this.__searchID__===t&&(i.filters&&Object.keys(i.filters)?.length&&(this.availableFilters=i.filters,this.totalFilters=i.totalFilters??null,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=i,this.__dispatch__("results",this.searchResult),!this.hasAnnouncementCapability()&&s)){let a=i.results?.length??0,l=a===0?"zero_results":a===1?"one_result":"many_results",o=a===0?"assertive":"polite";this.announce(l,{SEARCH_TERM:s,COUNT:a},o)}}async __load__(){if(!this.__pagefind__){if(this.__loadPromise__)return this.__loadPromise__;this.__loadPromise__=this.__doLoad__();try{await this.__loadPromise__}finally{this.__loadPromise__=null}}}async __doLoad__(){if(this.__pagefind__)return;let s;try{s=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to the Pagefind Component UI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript?.src??"bad script location"}]`):console.error("no known script location"),this.__dispatch__("error",{type:"bundle_load_failed",message:"Could not load search bundle",bundlePath:this.options.bundlePath,error:t}),this.hasAnnouncementCapability()||this.announce("error_search",{},"assertive");return}let e=s.createInstance(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let{bundlePath:r,...i}=t;await e.mergeIndex(r,i)}this.__pagefind__=e,this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters}),this.faceted&&this.__searchID__===0&&this.triggerSearch("")}thinSubResults(s,e=3){if(s.length<=e)return s;let t=[...s].sort((r,i)=>(i.locations?.length??0)-(r.locations?.length??0)).slice(0,e).map(r=>r.url);return s.filter(r=>t.includes(r.url))}getDisplaySubResults(s,e=3){if(!Array.isArray(s.sub_results))return[];let r=s.sub_results[0]?.url===(s.meta?.url||s.url)?s.sub_results.slice(1):s.sub_results;return this.thinSubResults(r,e)}};var Pt=class{constructor(){this.instances=new Map;this.defaultOptions={bundlePath:this.detectBundlePath()}}detectBundlePath(){try{if(document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"){let s=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind[-_])?.*\.js.*$/);if(s)return s[1]}}catch{}return"/pagefind/"}getInstance(s="default",e={}){let t=this.instances.get(s);if(t)return t;let r={...this.defaultOptions,...e},i=new Te(s,r);return this.instances.set(s,i),i}hasInstance(s){return this.instances.has(s)}removeInstance(s){this.instances.delete(s)}getInstanceNames(){return Array.from(this.instances.keys())}},Ft=null;function Ce(){return Ft||(Ft=new Pt),Ft}function Qt(n,s){let e=Ce();return e.hasInstance(n)?(console.warn(`[Pagefind Component UI]: Instance "${n}" already exists, configuration ignored`),e.getInstance(n)):e.getInstance(n,s)}var ye=n=>!(n==null||n===!1||n===0||n===""||Number.isNaN(n)||Array.isArray(n)&&n.length===0||typeof n=="object"&&n!==null&&!Array.isArray(n)&&Object.keys(n).length===0),T=(n,s,e)=>n.lengthT(s,2,"eq")??m(s[0],n)===m(s[1],n),ne:(n,...s)=>T(s,2,"ne")??m(s[0],n)!==m(s[1],n),gt:(n,...s)=>T(s,2,"gt")??Number(m(s[0],n))>Number(m(s[1],n)),lt:(n,...s)=>T(s,2,"lt")??Number(m(s[0],n))T(s,2,"gte")??Number(m(s[0],n))>=Number(m(s[1],n)),lte:(n,...s)=>T(s,2,"lte")??Number(m(s[0],n))<=Number(m(s[1],n)),and:(n,...s)=>{let e=!0;for(let t of s)if(e=m(t,n),!ye(e))return e;return e},or:(n,...s)=>{let e=!1;for(let t of s)if(e=m(t,n),ye(e))return e;return e},not:(n,...s)=>T(s,1,"not")??!ye(m(s[0],n)),lowercase:(n,...s)=>String(m(s[0],n)).toLowerCase(),uppercase:(n,...s)=>String(m(s[0],n)).toUpperCase(),trim:(n,...s)=>String(m(s[0],n)).trim(),truncate:(n,...s)=>{let e=T(s,2,"truncate");if(e)return e;let t=String(m(s[0],n)),r=Number(m(s[1],n)),i=s[2]?String(m(s[2],n)):"...";return t.length>r?t.slice(0,r)+i:t},replace:(n,...s)=>T(s,3,"replace")??String(m(s[0],n)).split(String(m(s[1],n))).join(String(m(s[2],n))),limit:(n,...s)=>{let e=T(s,2,"limit");if(e)return e;let t=m(s[0],n),r=m(s[1],n);return Array.isArray(t)?t.slice(0,r<0?0:r):t},first:(n,...s)=>{let e=T(s,1,"first");if(e)return e;let t=m(s[0],n);return Array.isArray(t)?t[0]:t},last:(n,...s)=>{let e=T(s,1,"last");if(e)return e;let t=m(s[0],n);return Array.isArray(t)?t[t.length-1]:t},length:(n,...s)=>{let e=T(s,1,"length");if(e)return e;let t=m(s[0],n);return Array.isArray(t)?t.length:String(t).length},join:(n,...s)=>T(s,2,"join")??(e=>Array.isArray(e)?e.join(String(m(s[1],n))):String(e))(m(s[0],n)),default:(n,...s)=>{let e=T(s,2,"default");if(e)return e;let t=m(s[0],n);return ye(t)?t:m(s[1],n)},safeUrl:(n,...s)=>{let e=String(m(s[0],n)??"").trim();return e&&/^(?:\.{0,2}\/|[#?]|(?:https?|ftp):\/\/|(?:mailto|tel):)/i.test(e)?e:""}},m=(n,s)=>{if(!n)return;if(n.t==="L")return n.val;if(n.t==="V"){let t=(i,a)=>Object.prototype.hasOwnProperty.call(i,a),r=s;for(let i of n.path){if(r==null||!t(r,i))return;r=r[i]}return r}let e=es[n.fn];return e?n.t==="C"?e(s,...n.args):e(s,n.left,...n.args):`[Error: unknown ${n.fn}()]`},ga=n=>n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),ve=(n,s)=>{let e="";for(let t of n){if(t.t==="T"){e+=t.val;continue}if(t.t==="I"){let r=m(t.expr,s);if(Array.isArray(r))e+="[Error: use #each for arrays]";else if(typeof r=="object"&&r!==null)e+="[Error: cannot render object]";else{let i=String(r??"");e+=t.raw?i:ga(i)}continue}if(t.t==="F"){let r=!1;for(let i of t.branches)if(ye(m(i.cond,s))){e+=ve(i.body,s),r=!0;break}!r&&t.else&&(e+=ve(t.else,s));continue}if(t.t==="E"){let r=m(t.arr,s);if(!Array.isArray(r)){e+="[Error: #each needs array]";continue}if(!r.length&&t.else)e+=ve(t.else,s);else for(let i=0;i{let s=n,e=0,t=()=>{for(;es.slice(e,e+u.length)===u,i=u=>{r(u)&&(e+=u.length)},a=()=>{let u="";for(;e{t();let u=e,d,_=s[e];if(_==='"'||_==="'"){let p=s[e++],g="";for(;e{let d=[];e:for(;eve(c,u)};var ts=(n,s)=>{es[n]=(e,...t)=>s(...t.map(r=>m(r,e)))};var f=class extends HTMLElement{constructor(){super();this.instance=null;this._initialized=!1}connectedCallback(){if(this._initialized)return;this._initialized=!0;let e=this.getAttribute("instance")||"default",t=Ce();this.instance=t.getInstance(e),this.init(),this.register&&typeof this.register=="function"&&this.register(this.instance)}disconnectedCallback(){this.cleanup&&typeof this.cleanup=="function"&&this.cleanup(),this._initialized=!1}attributeChangedCallback(e,t,r){if(!this._initialized||t===r)return;let i=this.kebabToCamel(e);r==="false"?this[i]=!1:r==="true"?this[i]=!0:r==null?this[i]=!1:this[i]=r,this.update&&typeof this.update=="function"&&this.update()}kebabToCamel(e){return e.replace(/-([a-z])/g,t=>t[1].toUpperCase())}ensureId(e="pagefind"){return!this.id&&this.instance&&(this.id=this.instance.generateId(e)),this.id}init(){}reconcileAria(){}register(e){}cleanup(){}update(){}showError(e){let t=document.createElement("div");t.className="pf-error",t.innerHTML=` + Pagefind Error: ${this.escapeHtml(e.message||"Unknown error")} + ${e.details?`
    ${this.escapeHtml(e.details)}`:""} + `,this.appendChild(t),this.dispatchEvent(new CustomEvent("pagefind-error",{detail:e,bubbles:!0,composed:!0}))}escapeHtml(e){let t=document.createElement("div");return t.textContent=e,t.innerHTML}};var Re=class extends f{init(){this.setAttribute("hidden","")}register(s){s.registerUtility(this);let e=this.getAttribute("bundle-path");e&&(s.options.bundlePath=e);let t=this.getAttribute("base-url");t&&(s.pagefindOptions.baseUrl=t);let r=this.getAttribute("excerpt-length");r&&(s.pagefindOptions.excerptLength=parseInt(r,10));let i=this.getAttribute("lang");i&&s.setLanguage(i);let a=this.getAttribute("meta-cache-tag");a&&(s.pagefindOptions.metaCacheTag=a);let l=this.getAttribute("highlight-param");l&&(s.pagefindOptions.highlightParam=l),this.hasAttribute("exact-diacritics")&&(s.pagefindOptions.exactDiacritics=!0),this.hasAttribute("no-worker")&&(s.pagefindOptions.noWorker=!0),this.hasAttribute("faceted")&&(s.faceted=!0),this.hasAttribute("preload")&&s.triggerLoad()}};customElements.get("pagefind-config")||customElements.define("pagefind-config",Re);var Ea=(n=100)=>new Promise(s=>setTimeout(s,n)),ke=class extends f{constructor(){super();this.inputEl=null;this.clearEl=null;this.searchID=0;this.placeholder="";this.debounce=300;this.autofocus=!1}static get observedAttributes(){return["placeholder","debounce","autofocus"]}readAttributes(){this.hasAttribute("placeholder")&&(this.placeholder=this.getAttribute("placeholder")||""),this.hasAttribute("debounce")&&(this.debounce=parseInt(this.getAttribute("debounce")||"300",10)||300),this.hasAttribute("autofocus")&&(this.autofocus=this.hasAttribute("autofocus"))}init(){this.readAttributes(),this.render()}render(){this.innerHTML="";let e=this.instance.generateId("pfmod-input"),t=this.instance?.translate("search_label")||"Search this site",r=this.instance?.translate("clear_search")||"Clear",i=this.placeholder||this.instance?.translate("placeholder")||"Search";this.instance?.direction==="rtl"?this.setAttribute("dir","rtl"):this.removeAttribute("dir");let a=document.createElement("search");a.className="pf-input-wrapper",a.setAttribute("role","search"),a.setAttribute("aria-label",t);let l=document.createElement("label");l.setAttribute("for",e),l.setAttribute("data-pf-sr-hidden","true"),l.textContent=t,a.appendChild(l),this.inputEl=document.createElement("input"),this.inputEl.id=e,this.inputEl.className="pf-input",this.inputEl.setAttribute("type","search"),this.inputEl.setAttribute("autocomplete","off"),this.inputEl.setAttribute("autocapitalize","none"),this.inputEl.setAttribute("enterkeyhint","search"),this.inputEl.setAttribute("placeholder",i),this.autofocus&&this.inputEl.setAttribute("autofocus","autofocus");let o=this.instance.generateId("pf-input-hint"),c=this.instance?.translate("input_hint")||"Results will appear as you type",u=document.createElement("span");u.id=o,u.setAttribute("data-pf-sr-hidden","true"),u.textContent=c,this.inputEl.setAttribute("aria-describedby",o),a.appendChild(this.inputEl),a.appendChild(u),this.clearEl=document.createElement("button"),this.clearEl.className="pf-input-clear",this.clearEl.setAttribute("type","button"),this.clearEl.setAttribute("data-pf-suppressed","true"),this.clearEl.textContent=r,a.appendChild(this.clearEl),this.appendChild(a),this.setupEventHandlers()}setupEventHandlers(){!this.inputEl||!this.clearEl||(this.inputEl.addEventListener("input",async e=>{let t=e.target;if(this.instance&&typeof t?.value=="string"){this.updateState(t.value);let r=++this.searchID;if(await Ea(this.debounce),r!==this.searchID)return;this.instance?.triggerSearch(t.value)}}),this.inputEl.addEventListener("keydown",e=>{e.key==="Escape"&&(++this.searchID,this.inputEl&&(this.inputEl.value=""),this.instance?.triggerSearch(""),this.updateState("")),e.key==="ArrowDown"&&(e.preventDefault(),this.inputEl&&this.instance?.focusNextResults(this.inputEl))}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad();let e=this.instance?.translate("keyboard_navigate")||"navigate",t=this.instance?.translate("keyboard_clear")||"clear";this.instance?.registerShortcut({label:"\u2193",description:e},this),this.instance?.registerShortcut({label:"esc",description:t},this)}),this.inputEl.addEventListener("blur",()=>{this.instance?.deregisterAllShortcuts(this)}),this.clearEl.addEventListener("click",()=>{this.inputEl&&(this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState(""),this.inputEl.focus())}))}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pf-suppressed"):this.clearEl.setAttribute("data-pf-suppressed","true"))}register(e){e.registerInput(this,{keyboardNavigation:!0}),e.on("search",t=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))},this),e.on("error",t=>{let r=t;this.showError({message:r.message||"Search initialization failed",details:r.bundlePath?`Bundle path: ${r.bundlePath}`:void 0})},this),e.on("translations",()=>{let t=this.inputEl?.value||"";this.render(),this.inputEl&&t&&(this.inputEl.value=t,this.updateState(t))},this)}update(){this.render()}focus(){this.inputEl&&this.inputEl.focus()}};customElements.get("pagefind-input")||customElements.define("pagefind-input",ke);var Ae=class extends f{constructor(){super();this.containerEl=null;this.term="";this.defaultMessage=""}static get observedAttributes(){return["default-message"]}init(){this.hasAttribute("default-message")&&(this.defaultMessage=this.getAttribute("default-message")||""),this.render()}render(){this.innerHTML="",this.instance?.direction==="rtl"?this.setAttribute("dir","rtl"):this.removeAttribute("dir"),this.containerEl=document.createElement("div"),this.containerEl.className="pf-summary",this.containerEl.textContent=this.defaultMessage,this.appendChild(this.containerEl)}reconcileAria(){}register(e){e.registerSummary(this),e.on("search",t=>{this.term=t},this),e.on("results",t=>{if(!this.containerEl||!t)return;let i=t?.results?.length??0;if(!this.term){if(e.faceted){let o=i===0?"total_zero_results":i===1?"total_one_result":"total_many_results",c=e.translate(o,{COUNT:i});this.containerEl.textContent=c||`${i} result${i===1?"":"s"}`}else this.containerEl.textContent=this.defaultMessage;return}let a=i===0?"zero_results":i===1?"one_result":"many_results",l=e.translate(a,{SEARCH_TERM:this.term,COUNT:i});this.containerEl.textContent=l||`${i} result${i===1?"":"s"} for ${this.term}`},this),e.on("loading",()=>{if(!this.containerEl)return;let t=e.translate("searching",{SEARCH_TERM:this.term});this.containerEl.textContent=t||`Searching for ${this.term}...`},this),e.on("error",t=>{if(!this.containerEl)return;let r=t,i=e.translate("error_search")||"Search failed";this.containerEl.textContent=`Error: ${r.message||i}`},this),e.on("translations",()=>{this.render()},this)}update(){this.hasAttribute("default-message")&&(this.defaultMessage=this.getAttribute("default-message")||"",!this.term&&this.containerEl&&(this.containerEl.textContent=this.defaultMessage))}};customElements.get("pagefind-summary")||customElements.define("pagefind-summary",Ae);var ss=n=>{if(n instanceof Element)return[n];if(Array.isArray(n)&&n.every(s=>s instanceof Element))return n;if(typeof n=="string"||n instanceof String){let s=document.createElement("div");return s.innerHTML=n,[...s.childNodes]}return console.error(`[Pagefind Results]: Expected template to return HTML element or string, got ${typeof n}`),[]},ba=`

    `,Ta=``,Ca=R(ba),ya=R(Ta),rs=(n,s)=>{for(let e of n)if(e instanceof Element){e.setAttribute("data-pf-result-index",String(s));break}},zt=n=>{if(!(n instanceof HTMLElement))return null;let s=window.getComputedStyle(n).overflowY;return s!=="visible"&&s!=="hidden"?n:zt(n.parentNode)},Dt=class{constructor(s){this.result=null;this.loading=!1;this.observer=null;this.rawResult=s.result,this.index=s.index,this.placeholderNodes=s.placeholderNodes,this.resultFn=s.resultFn,this.intersectionEl=s.intersectionEl,this.showImages=s.showImages,this.showSubResults=s.showSubResults,this.maxSubResults=s.maxSubResults,this.linkTarget=s.linkTarget,this.onLoad=s.onLoad,this.setupObserver()}setupObserver(){if(this.result!==null||this.observer!==null||!this.placeholderNodes?.length)return;let s={root:this.intersectionEl,rootMargin:"50px",threshold:.01};this.observer=new IntersectionObserver((e,t)=>{this.result===null&&e?.[0]?.isIntersecting&&(this.load(),t.disconnect(),this.observer=null)},s),this.observer.observe(this.placeholderNodes[0])}async load(){if(this.placeholderNodes?.length&&!(this.result!==null||this.loading)){this.loading=!0;try{this.result=await this.rawResult.data();let s=this.resultFn(this.result,{showImages:this.showImages,showSubResults:this.showSubResults,maxSubResults:this.maxSubResults,linkTarget:this.linkTarget}),e=ss(s);for(rs(e,this.index);this.placeholderNodes.length>1;){let r=this.placeholderNodes.pop();r instanceof Element&&r.remove()}let t=this.placeholderNodes[0];t instanceof Element&&t.replaceWith(...e)}catch{this.loading=!1}this.onLoad?.()}}cleanup(){this.observer&&(this.observer.disconnect(),this.observer=null)}},Se=class extends f{constructor(){super();this.containerEl=null;this.intersectionEl=document.body;this.results=[];this.showImages=!1;this.hideSubResults=!1;this.maxSubResults=3;this.maxResults=0;this.linkTarget=null;this.resultTemplate=null;this.compiledResultTemplate=null;this.compiledPlaceholderTemplate=null;this.selectedIndex=-1;this.selectedAnchor=null;this.loadingAnnouncementTimeout=null}static get observedAttributes(){return["show-images","hide-sub-results","max-sub-results","max-results","link-target"]}init(){this.hasAttribute("show-images")&&(this.showImages=this.getAttribute("show-images")!=="false"),this.hasAttribute("hide-sub-results")&&(this.hideSubResults=this.getAttribute("hide-sub-results")!=="false"),this.hasAttribute("max-sub-results")&&(this.maxSubResults=parseInt(this.getAttribute("max-sub-results")||"3",10)||3),this.hasAttribute("max-results")&&(this.maxResults=parseInt(this.getAttribute("max-results")||"0",10)),this.hasAttribute("link-target")&&(this.linkTarget=this.getAttribute("link-target")),this.checkForTemplates(),this.render()}checkForTemplates(){let e=this.querySelector('script[type="text/pagefind-template"]:not([data-template]), script[type="text/pagefind-template"][data-template="result"]');e&&(this.compiledResultTemplate=R((e.textContent||"").trim()));let t=this.querySelector('script[type="text/pagefind-template"][data-template="placeholder"]');t&&(this.compiledPlaceholderTemplate=R((t.textContent||"").trim()))}buildTemplateData(e,t){let r=t.showSubResults?this.instance.getDisplaySubResults(e,t.maxSubResults):[];return{meta:e.meta||{},excerpt:e.excerpt||"",url:e.url||"",sub_results:r.map(i=>({title:i.title,url:i.url,excerpt:i.excerpt})),options:{link_target:t.linkTarget,show_images:t.showImages}}}getResultRenderer(){if(this.resultTemplate){let e=this.resultTemplate;return(t,r)=>e(t)}if(this.compiledResultTemplate){let e=this.compiledResultTemplate;return(t,r)=>{let i=this.buildTemplateData(t,r);return e(i)}}return(e,t)=>{let r=this.buildTemplateData(e,t);return Ca(r)}}getPlaceholder(){return this.compiledPlaceholderTemplate?this.compiledPlaceholderTemplate({}):ya({})}render(){let e=[];this.querySelectorAll('script[type="text/pagefind-template"]').forEach(r=>{e.push(r)}),this.innerHTML="",e.forEach(r=>this.appendChild(r));let t=this.instance?.translate("results_label")||"Search results";this.instance?.direction==="rtl"?this.setAttribute("dir","rtl"):this.removeAttribute("dir"),this.containerEl=document.createElement("ul"),this.containerEl.className="pf-results",this.containerEl.setAttribute("aria-label",t),this.containerEl.setAttribute("aria-busy","false"),this.appendChild(this.containerEl),this.setupKeyboardHandlers()}appendResults(e){if(this.containerEl)for(let t of e)this.containerEl.appendChild(t)}register(e){e.registerResults(this,{keyboardNavigation:!0,announcements:!0}),e.on("results",t=>{if(!this.containerEl)return;let r=t;for(let c of this.results)c.cleanup();this.containerEl.innerHTML="",this.containerEl.setAttribute("aria-busy","false"),this.intersectionEl=zt(this.containerEl),this.selectedIndex=-1,this.selectedAnchor=null;let i=this.maxResults>0?r.results.slice(0,this.maxResults):r.results,a=i.length,l=e.searchTerm;if(l){let c=a===0?"zero_results":a===1?"one_result":"many_results",u=a===0?"assertive":"polite";e.announce(c,{SEARCH_TERM:l,COUNT:a},u)}else if(e.faceted){let c=a===0?"total_zero_results":a===1?"total_one_result":"total_many_results",u=a===0?"assertive":"polite";e.announce(c,{COUNT:a},u)}let o=this.getResultRenderer();this.results=i.map((c,u)=>{let d=ss(this.getPlaceholder());rs(d,u),this.appendResults(d);let _=new Dt({result:c,index:u,placeholderNodes:d,resultFn:o,intersectionEl:this.intersectionEl,showImages:this.showImages,showSubResults:!this.hideSubResults,maxSubResults:this.maxSubResults,linkTarget:this.linkTarget,onLoad:()=>{_.result&&this.clearLoadingAnnouncement()}});return _})},this),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="",this.containerEl.setAttribute("aria-busy","true"),this.selectedIndex=-1,this.selectedAnchor=null)},this),e.on("error",t=>{let r=t;this.containerEl&&this.containerEl.setAttribute("aria-busy","false"),e.announce("error_search",{},"assertive"),this.showError({message:r.message||e.translate("error_search")||"Failed to load search results",details:r.bundlePath?`Bundle path: ${r.bundlePath}`:void 0})},this),e.on("translations",()=>{this.render()},this)}findNeighborAnchor(e,t){if(!this.containerEl)return null;let r=document.createTreeWalker(this.containerEl,NodeFilter.SHOW_ELEMENT,{acceptNode:l=>l.tagName==="A"?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});r.currentNode=e;let i=t>0?r.nextNode():r.previousNode();if(!i||!(i instanceof HTMLAnchorElement))return null;let a=this.resultIndexForNode(i);return{anchor:i,resultIndex:a}}resultIndexForNode(e){if(!this.containerEl)return-1;let t=e;for(;t&&t.parentNode!==this.containerEl;)t=t.parentNode;if(!t||!(t instanceof Element))return-1;let r=t.getAttribute("data-pf-result-index");if(r===null)return-1;let i=parseInt(r,10);return Number.isNaN(i)?-1:i}setupKeyboardHandlers(){this.containerEl&&(this.containerEl.addEventListener("keydown",e=>{let t=e.target.closest("a");if(t)if(e.key==="ArrowDown"){e.preventDefault();let r=this.findNeighborAnchor(t,1);if(r)r.anchor.focus(),this.scrollToCenter(r.anchor,e.repeat),r.resultIndex!==-1&&this.preloadAhead(r.resultIndex,1);else{let a=this.resultIndexForNode(t)+1;if(a>0&&a{let t=e.target.closest("a");if(!t)return;this.clearSelection(),t.setAttribute("data-pf-selected",""),this.selectedAnchor=t;let r=this.instance?.translate("keyboard_navigate")||"navigate",i=this.instance?.translate("keyboard_select")||"select",a=this.instance?.translate("keyboard_search")||"search";this.instance?.registerShortcut({label:"\u2191\u2193",description:r},this),this.instance?.registerShortcut({label:"\u21B5",description:i},this),this.instance?.registerShortcut({label:"/",description:a},this)}),this.containerEl.addEventListener("focusout",e=>{let t=e;this.containerEl?.contains(t.relatedTarget)||(this.clearSelection(),this.instance?.deregisterAllShortcuts(this))}))}scrollToCenter(e,t=!1){let r=this.intersectionEl||zt(e);if(!r||!(r instanceof HTMLElement)||r===document.body||r===document.documentElement)return;let i=e.getBoundingClientRect(),a=r.getBoundingClientRect(),o=i.top-a.top+r.scrollTop-r.clientHeight/2+e.offsetHeight/2;r.scrollTo({top:o,behavior:t?"instant":"smooth"})}preloadAhead(e,t){let r=t>0?1:-1;for(let i=1;i<=3;i++){let a=e+r*i;if(a>=0&&a{this.loadingAnnouncementTimeout=null,this.instance?.announce("loading",{},"polite")},800))}clearLoadingAnnouncement(){this.loadingAnnouncementTimeout&&(clearTimeout(this.loadingAnnouncementTimeout),this.loadingAnnouncementTimeout=null)}clearSelection(){this.selectedAnchor&&(this.selectedAnchor.removeAttribute("data-pf-selected"),this.selectedAnchor=null)}cleanup(){this.clearLoadingAnnouncement();for(let e of this.results)e.cleanup();this.results=[],this.selectedAnchor=null}update(){this.render()}};customElements.get("pagefind-results")||customElements.define("pagefind-results",Se);var Ne=class extends f{constructor(){super();this.containerEl=null;this.showEmpty=!1;this.expanded=!1;this.openFilters=[];this.sortOption="default";this.autoOpenThreshold=6;this.selectedFilters={};this.availableFilters=null;this.totalFilters=null;this.filterElements=new Map;this.groupElements=new Map;this.groupVisibleCounts=new Map;this.isRendered=!1}static get observedAttributes(){return["show-empty","expanded","open","sort","auto-open-threshold"]}init(){if(this.hasAttribute("show-empty")&&(this.showEmpty=this.getAttribute("show-empty")!=="false"),this.hasAttribute("expanded")&&(this.expanded=this.getAttribute("expanded")!=="false"),this.hasAttribute("open")&&(this.openFilters=(this.getAttribute("open")||"").split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0)),this.hasAttribute("sort")){let e=this.getAttribute("sort");["default","alphabetical","count-desc","count-asc"].includes(e)&&(this.sortOption=e)}this.hasAttribute("auto-open-threshold")&&(this.autoOpenThreshold=parseInt(this.getAttribute("auto-open-threshold")||"6",10)),this.render()}sortValues(e,t){if(this.sortOption==="default")return e;let r=[...e];switch(this.sortOption){case"alphabetical":r.sort((i,a)=>i[0].localeCompare(a[0]));break;case"count-desc":r.sort((i,a)=>{let l=t[i[0]]??i[1];return(t[a[0]]??a[1])-l});break;case"count-asc":r.sort((i,a)=>{let l=t[i[0]]??i[1],o=t[a[0]]??a[1];return l-o});break}return r}render(){this.innerHTML="",this.instance?.direction==="rtl"?this.setAttribute("dir","rtl"):this.removeAttribute("dir"),this.containerEl=document.createElement("div"),this.containerEl.className="pf-filter-pane",this.appendChild(this.containerEl)}getSelectedText(e){return String(e)}shouldGroupStartOpen(e,t,r){return this.openFilters.length>0?this.openFilters.includes(e.toLowerCase()):this.autoOpenThreshold>0&&r===1&&t<=this.autoOpenThreshold}hasStructureChanged(){if(!this.totalFilters)return!1;let e=new Set(Object.keys(this.totalFilters)),t=new Set(this.groupElements.keys());if(e.size!==t.size)return!0;for(let r of e)if(!t.has(r))return!0;for(let[r,i]of Object.entries(this.totalFilters)){let a=new Set(Object.keys(i));for(let l of a)if(!this.filterElements.has(`${r}:${l}`))return!0}return!1}handleFiltersUpdate(){if(!this.containerEl||!this.totalFilters)return;if(Object.keys(this.totalFilters).length===0){this.containerEl.setAttribute("data-pf-hidden","true");return}this.containerEl.removeAttribute("data-pf-hidden"),!this.isRendered||this.hasStructureChanged()?this.renderFilters():this.updateFilters()}renderFilters(){if(!this.containerEl||!this.totalFilters)return;this.containerEl.innerHTML="",this.filterElements.clear(),this.groupElements.clear(),this.groupVisibleCounts.clear();let e=Object.keys(this.totalFilters);for(let t of e){let r=this.totalFilters[t],i=this.availableFilters?.[t]||{},a=this.renderFilterGroup(t,r,i,e.length);a&&this.containerEl.appendChild(a)}this.isRendered=!0}updateFilters(){for(let[e,t]of this.filterElements){let r=e.indexOf(":"),i=e.slice(0,r),a=e.slice(r+1),l=this.availableFilters?.[i]?.[a]??0,o=this.totalFilters?.[i]?.[a]??0,c=this.selectedFilters[i]?.has(a),u=c?o:l;t.countSpan.textContent=String(u);let d=this.showEmpty||l>0||c,_=t.label.hasAttribute("data-pf-hidden");t.label.toggleAttribute("data-pf-hidden",!d),d&&_?this.groupVisibleCounts.set(i,(this.groupVisibleCounts.get(i)??0)+1):!d&&!_&&this.groupVisibleCounts.set(i,(this.groupVisibleCounts.get(i)??1)-1),t.checkbox.checked=c||!1}for(let[e,t]of this.groupElements){let r=this.selectedFilters[e]?.size||0;t.selectedCountSpan&&(r>0?(t.selectedCountSpan.textContent=this.getSelectedText(r),t.selectedCountSpan.removeAttribute("data-pf-hidden")):t.selectedCountSpan.setAttribute("data-pf-hidden","true"));let i=this.groupVisibleCounts.get(e)??0;t.group.toggleAttribute("data-pf-hidden",i===0)}}renderFilterGroup(e,t,r,i){let a=Object.entries(t);if(a.length===0)return null;let l=this.sortValues(a,r),o=e.charAt(0).toUpperCase()+e.slice(1),c=this.selectedFilters[e]?.size||0,u=this.expanded||this.shouldGroupStartOpen(e,l.length,i),d,_,p=null;if(this.expanded){d=document.createElement("fieldset"),d.className="pf-filter-group";let E=document.createElement("legend");E.className="pf-filter-group-title";let C=document.createElement("span");C.className="pf-filter-group-name",C.textContent=o,E.appendChild(C),d.appendChild(E),_=document.createElement("div"),_.className="pf-filter-options",d.appendChild(_)}else{d=document.createElement("details"),d.className="pf-filter-group",d.dataset.filterName=e,u&&(d.open=!0);let E=document.createElement("summary");E.className="pf-filter-group-title";let C=document.createElement("span");C.className="pf-filter-group-name",C.textContent=o,E.appendChild(C),p=document.createElement("span"),p.className="pf-filter-group-count",p.setAttribute("aria-hidden","true"),c>0?p.textContent=this.getSelectedText(c):p.setAttribute("data-pf-hidden","true"),E.appendChild(p),d.appendChild(E);let y=document.createElement("fieldset");y.className="pf-filter-fieldset";let v=document.createElement("legend");v.setAttribute("data-pf-sr-hidden",""),v.textContent=o,y.appendChild(v),_=document.createElement("div"),_.className="pf-filter-options",y.appendChild(_),d.appendChild(y)}this.groupElements.set(e,{group:d,optionsContainer:_,selectedCountSpan:p});let g=0;for(let[E,C]of l){let y=r[E]??0,v=this.selectedFilters[e]?.has(E)||!1,$e=v?C:y,N=this.showEmpty||y>0||v;N&&g++,this.renderCheckbox(_,e,E,$e,v,N)}return this.groupVisibleCounts.set(e,g),d}renderCheckbox(e,t,r,i,a,l){let o=this.instance.generateId(`pf-filter-${t}-${r}`),c=document.createElement("label");c.className="pf-filter-checkbox",c.setAttribute("for",o),l||c.setAttribute("data-pf-hidden","true");let u=document.createElement("input");u.type="checkbox",u.className="pf-checkbox-input",u.id=o,u.name=t,u.value=r,u.checked=a,u.addEventListener("change",p=>{this.handleCheckboxChange(t,r,p.target.checked)}),c.appendChild(u);let d=document.createTextNode(r);c.appendChild(d);let _=document.createElement("span");_.className="pf-filter-checkbox-count",_.textContent=String(i),c.appendChild(_),e.appendChild(c),this.filterElements.set(`${t}:${r}`,{label:c,countSpan:_,checkbox:u})}handleCheckboxChange(e,t,r){this.selectedFilters[e]||(this.selectedFilters[e]=new Set),r?this.selectedFilters[e].add(t):this.selectedFilters[e].delete(t);let i=this.groupElements.get(e);if(i?.selectedCountSpan){let l=this.selectedFilters[e].size;l>0?(i.selectedCountSpan.textContent=this.getSelectedText(l),i.selectedCountSpan.removeAttribute("data-pf-hidden")):i.selectedCountSpan.setAttribute("data-pf-hidden","true")}let a=Array.from(this.selectedFilters[e]);if(a.length===0){delete this.selectedFilters[e];let l={};for(let[o,c]of Object.entries(this.selectedFilters))l[o]=Array.from(c);this.instance?.triggerFilters(l)}else this.instance?.triggerFilter(e,a)}register(e){e.registerFilter(this),e.on("filters",t=>{let r=t;this.availableFilters=r.available,this.totalFilters=r.total,this.handleFiltersUpdate()},this),e.on("search",(t,r)=>{this.selectedFilters={};let i=r;if(i)for(let[a,l]of Object.entries(i))Array.isArray(l)&&l.length>0&&(this.selectedFilters[a]=new Set(l));this.isRendered&&this.updateFilters()},this),e.on("error",t=>{let r=t;this.showError({message:r.message||"Failed to load filters",details:r.bundlePath?`Bundle path: ${r.bundlePath}`:void 0})},this),e.on("translations",()=>{this.render(),this.isRendered=!1,this.handleFiltersUpdate()},this)}update(){this.hasAttribute("show-empty")&&(this.showEmpty=this.getAttribute("show-empty")!=="false"),this.hasAttribute("expanded")&&(this.expanded=this.getAttribute("expanded")!=="false"),this.hasAttribute("open")&&(this.openFilters=(this.getAttribute("open")||"").split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0)),this.isRendered&&(this.isRendered=!1,this.handleFiltersUpdate())}};customElements.get("pagefind-filter-pane")||customElements.define("pagefind-filter-pane",Ne);var Me=class extends f{constructor(){super();this.isOpen=!1;this.activeIndex=-1;this.selectedValues=new Set;this.isRendered=!1;this.filtersLoaded=!1;this.filterName=null;this.availableFilters={};this.totalFilters={};this.singleSelect=!1;this.showEmpty=!1;this.wrapLabels=!1;this.hideClear=!1;this.sortOption="default";this.wrapperEl=null;this.triggerEl=null;this.menuEl=null;this.optionsEl=null;this.clearEl=null;this.badgeEl=null;this.optionElements=[];this.focusedOptionEl=null;this.typeAheadBuffer="";this.typeAheadTimeout=null;this._handleClickOutside=this._handleClickOutside.bind(this)}static get observedAttributes(){return["filter","label","single-select","show-empty","wrap","sort","hide-clear"]}init(){if(this.filterName=this.getAttribute("filter"),!this.filterName){this.showError({message:"filter attribute is required on "});return}if(this.singleSelect=this.hasAttribute("single-select"),this.showEmpty=this.hasAttribute("show-empty"),this.wrapLabels=this.hasAttribute("wrap"),this.hideClear=this.hasAttribute("hide-clear"),this.hasAttribute("sort")){let e=this.getAttribute("sort");["default","alphabetical","count-desc","count-asc"].includes(e)&&(this.sortOption=e)}this.render()}sortValues(e){if(this.sortOption==="default")return e;let t=[...e];switch(this.sortOption){case"alphabetical":t.sort((r,i)=>r.localeCompare(i));break;case"count-desc":t.sort((r,i)=>{let a=this.availableFilters[r]??this.totalFilters[r]??0;return(this.availableFilters[i]??this.totalFilters[i]??0)-a});break;case"count-asc":t.sort((r,i)=>{let a=this.availableFilters[r]??this.totalFilters[r]??0,l=this.availableFilters[i]??this.totalFilters[i]??0;return a-l});break}return t}render(){this.innerHTML="";let e=this.ensureId("pf-dropdown"),t=`${e}-trigger`,r=`${e}-menu`;this.wrapperEl=document.createElement("div"),this.wrapperEl.className="pf-dropdown-wrapper",this.triggerEl=document.createElement("button"),this.triggerEl.type="button",this.triggerEl.id=t,this.triggerEl.className="pf-dropdown-trigger",this.wrapLabels&&this.triggerEl.classList.add("wrap"),this.triggerEl.setAttribute("role","combobox"),this.triggerEl.setAttribute("aria-haspopup","listbox"),this.triggerEl.setAttribute("aria-expanded","false"),this.triggerEl.setAttribute("aria-controls",r);let i=document.createElement("span");i.className="pf-dropdown-trigger-label",this.wrapLabels&&i.classList.add("wrap"),i.textContent=this.getAttribute("label")||this.filterName||"",this.triggerEl.appendChild(i),this.badgeEl=document.createElement("span"),this.badgeEl.className="pf-dropdown-selected-badge",this.badgeEl.setAttribute("data-pf-hidden","true"),this.badgeEl.setAttribute("aria-hidden","true"),this.badgeEl.textContent="0",this.triggerEl.appendChild(this.badgeEl);let a=document.createElement("span");a.className="pf-dropdown-arrow",a.setAttribute("aria-hidden","true"),this.triggerEl.appendChild(a),this.wrapperEl.appendChild(this.triggerEl),this.menuEl=document.createElement("div"),this.menuEl.id=r,this.menuEl.className="pf-dropdown-menu",this.menuEl.hidden=!0,this.optionsEl=document.createElement("div"),this.optionsEl.className="pf-dropdown-options",this.optionsEl.setAttribute("role","listbox"),this.optionsEl.setAttribute("aria-multiselectable",this.singleSelect?"false":"true"),this.optionsEl.setAttribute("aria-labelledby",t),this.menuEl.appendChild(this.optionsEl),this.wrapperEl.appendChild(this.menuEl),this.hideClear||(this.clearEl=document.createElement("button"),this.clearEl.type="button",this.clearEl.className="pf-dropdown-clear",this.clearEl.setAttribute("aria-disabled","true"),this.clearEl.setAttribute("aria-label",(this.instance?.translate("clear_search")||"Clear")+" "+(this.getAttribute("label")||this.filterName||"")),this.clearEl.textContent=this.instance?.translate("clear_search")||"Clear",this.wrapperEl.appendChild(this.clearEl),this.clearEl.addEventListener("click",()=>this.clearAll())),this.appendChild(this.wrapperEl),this.triggerEl.addEventListener("click",()=>this.toggle()),this.triggerEl.addEventListener("focus",()=>this.instance?.triggerLoad()),this.triggerEl.addEventListener("keydown",l=>{this.isOpen?this.handleMenuKeydown(l):this.handleTriggerKeydown(l)}),this.isRendered=!0}toggle(){this.isOpen?this.close():this.open()}open(){if(this.instance?.triggerLoad(),this.isOpen||!this.menuEl||!this.triggerEl||!this.optionsEl)return;if(this.isOpen=!0,this.filtersLoaded||this.showLoadingState(),this.menuEl.hidden=!1,this.triggerEl.setAttribute("aria-expanded","true"),this.triggerEl.classList.add("open"),this.optionElements.length>0){let i=this.activeIndex>=0?this.activeIndex:0;this.setActiveIndex(i)}let e=this.instance?.translate("keyboard_navigate")||"navigate",t=this.instance?.translate("keyboard_select")||"select",r=this.instance?.translate("keyboard_close")||"close";this.instance?.registerShortcut({label:"\u2191\u2193",description:e},this),this.instance?.registerShortcut({label:"\u21B5",description:t},this),this.instance?.registerShortcut({label:"esc",description:r},this),setTimeout(()=>{document.addEventListener("click",this._handleClickOutside)},0)}close(e=!0){!this.isOpen||!this.menuEl||!this.triggerEl||!this.optionsEl||(this.isOpen=!1,this.menuEl.hidden=!0,this.triggerEl.setAttribute("aria-expanded","false"),this.triggerEl.classList.remove("open"),this.triggerEl?.removeAttribute("aria-activedescendant"),this.focusedOptionEl&&(this.focusedOptionEl.classList.remove("pf-dropdown-option-focused"),this.focusedOptionEl=null),this.instance?.deregisterAllShortcuts(this),document.removeEventListener("click",this._handleClickOutside),e&&this.triggerEl.focus())}_handleClickOutside(e){this.wrapperEl&&!this.wrapperEl.contains(e.target)&&this.close(!1)}handleTriggerKeydown(e){switch(e.key){case"Enter":case" ":e.preventDefault(),this.open();break;case"ArrowDown":e.preventDefault(),this.open(),this.setActiveIndex(0);break;case"ArrowUp":e.preventDefault(),this.open(),this.setActiveIndex(this.optionElements.length-1);break}}handleMenuKeydown(e){switch(e.key){case"ArrowDown":e.preventDefault(),this.moveActiveIndex(1);break;case"ArrowUp":e.preventDefault(),this.moveActiveIndex(-1);break;case"Home":e.preventDefault(),this.setActiveIndex(0);break;case"End":e.preventDefault(),this.setActiveIndex(this.optionElements.length-1);break;case"Enter":case" ":if(e.preventDefault(),this.activeIndex>=0&&this.activeIndex=this.optionElements.length||!this.optionsEl)return;this.focusedOptionEl&&this.focusedOptionEl.classList.remove("pf-dropdown-option-focused"),this.activeIndex=e;let t=this.optionElements[e];t.el.classList.add("pf-dropdown-option-focused"),this.focusedOptionEl=t.el,this.triggerEl?.setAttribute("aria-activedescendant",t.el.id),this.scrollToCenter(t.el)}scrollToCenter(e){if(!this.optionsEl)return;let t=this.optionsEl,r=e.offsetTop,i=e.offsetHeight,a=t.clientHeight,l=r-a/2+i/2;t.scrollTo({top:l,behavior:"smooth"})}moveActiveIndex(e){let t=this.activeIndex+e;t<0?t=this.optionElements.length-1:t>=this.optionElements.length&&(t=0),this.setActiveIndex(t)}handleTypeAhead(e){this.typeAheadBuffer+=e.toLowerCase(),this.typeAheadTimeout&&clearTimeout(this.typeAheadTimeout);let t=this.optionElements.findIndex(({value:r})=>r.toLowerCase().startsWith(this.typeAheadBuffer));t>=0&&this.setActiveIndex(t),this.typeAheadTimeout=setTimeout(()=>{this.typeAheadBuffer=""},500)}showLoadingState(){if(!this.optionsEl)return;this.optionsEl.innerHTML="",this.optionsEl.setAttribute("aria-busy","true");let e=document.createElement("div");e.setAttribute("data-pf-sr-hidden","true"),e.textContent="Loading filter options...",this.optionsEl.appendChild(e);for(let t=0;t<3;t++){let r=document.createElement("div");r.className="pf-dropdown-option pf-dropdown-option-loading",r.setAttribute("aria-hidden","true");let i=document.createElement("span");i.className="pf-dropdown-checkbox pf-skeleton",r.appendChild(i);let a=document.createElement("span");a.className="pf-dropdown-option-label pf-skeleton",a.style.width=`${60+t*15}%`,a.innerHTML=" ",r.appendChild(a),this.optionsEl.appendChild(r)}}updateOptions(){if(!this.optionsEl)return;this.filtersLoaded=!0,this.optionsEl.removeAttribute("aria-busy");let e=Object.keys(this.totalFilters||{}),t=this.sortValues(e);if(e.length===0){this.optionsEl.innerHTML="";let i=document.createElement("div");i.className="pf-dropdown-error",i.setAttribute("role","alert"),i.textContent=`No filter "${this.filterName}" found`,this.optionsEl.appendChild(i),this.optionElements=[],this.focusedOptionEl=null;return}this.wrapperEl?.removeAttribute("data-pf-hidden"),this.optionsEl.innerHTML="",this.optionElements=[],this.focusedOptionEl=null;let r=this.id||this.ensureId("pf-dropdown");t.forEach((i,a)=>{let l=this.availableFilters?.[i]??0,o=this.totalFilters[i]??0,c=this.selectedValues.has(i);if(!(this.showEmpty||l>0||c))return;let d=c?o:l,_=`${r}-option-${a}`,p=this.createOption(_,i,d,c);this.optionsEl.appendChild(p),this.optionElements.push({el:p,value:i})}),this.isOpen&&this.optionElements.length>0&&(this.activeIndex>=this.optionElements.length?this.setActiveIndex(this.optionElements.length-1):this.activeIndex<0?this.setActiveIndex(0):this.setActiveIndex(this.activeIndex)),this.updateBadge()}createOption(e,t,r,i){let a=document.createElement("div");a.id=e,a.className="pf-dropdown-option",this.wrapLabels&&a.classList.add("wrap"),a.setAttribute("role","option"),a.setAttribute("aria-selected",String(i)),a.dataset.value=t;let l=document.createElement("span");l.className="pf-dropdown-checkbox",l.setAttribute("aria-hidden","true"),a.appendChild(l);let o=document.createElement("span");o.className="pf-dropdown-option-label",this.wrapLabels&&o.classList.add("wrap"),o.textContent=t,a.appendChild(o);let c=document.createElement("span");c.className="pf-dropdown-option-count",c.setAttribute("aria-hidden","true"),c.textContent=String(r),a.appendChild(c);let u=r===1?"result":"results";return a.setAttribute("aria-label",`${t}, ${r} ${u}`),a.addEventListener("click",d=>{d.stopPropagation(),this.toggleOption(t)}),a}toggleOption(e){let t=this.selectedValues.has(e);this.singleSelect?(this.selectedValues.has(e)?this.selectedValues.clear():(this.selectedValues.clear(),this.selectedValues.add(e)),this.close()):this.selectedValues.has(e)?this.selectedValues.delete(e):this.selectedValues.add(e);let r=this.selectedValues.has(e);if(r!==t){let i=r?"selected":"deselected";this.instance?.announceRaw(`${e} ${i}`)}this.updateOptionStates(),this.updateBadge(),this.dispatchFilterChange()}clearAll(){this.selectedValues.size!==0&&(this.selectedValues.clear(),this.updateOptionStates(),this.updateBadge(),this.dispatchFilterChange())}dispatchFilterChange(){if(!this.filterName)return;let e=Array.from(this.selectedValues);e.length===0?this.instance?.triggerFilter(this.filterName,[]):this.instance?.triggerFilter(this.filterName,e)}updateBadge(){if(!this.badgeEl||!this.triggerEl)return;let e=this.selectedValues.size;if(e>0){this.badgeEl.textContent=String(e),this.badgeEl.removeAttribute("data-pf-hidden");let t=this.getAttribute("label")||this.filterName||"",r=e===1?"filter":"filters";this.triggerEl.setAttribute("aria-label",`${t}, ${e} ${r} selected`),this.clearEl&&this.clearEl.removeAttribute("aria-disabled")}else this.badgeEl.setAttribute("data-pf-hidden","true"),this.triggerEl.removeAttribute("aria-label"),this.clearEl&&this.clearEl.setAttribute("aria-disabled","true")}updateOptionStates(){for(let{el:e,value:t}of this.optionElements){let r=this.selectedValues.has(t);e.setAttribute("aria-selected",String(r))}}register(e){this.filterName&&(e.registerFilter(this),e.on("filters",t=>{let r=t;this.availableFilters=r.available?.[this.filterName]||{},this.totalFilters=r.total?.[this.filterName]||{},this.isRendered&&this.updateOptions()},this),e.on("search",(t,r)=>{let a=r?.[this.filterName]||[];this.selectedValues=new Set(a),this.isRendered&&(this.updateOptionStates(),this.updateBadge())},this),e.on("error",t=>{let r=t;this.showError({message:r.message||"Failed to load filters",details:r.bundlePath?`Bundle path: ${r.bundlePath}`:void 0})},this))}update(){let e=this.getAttribute("filter");if(e!==this.filterName&&(this.filterName=e,this.selectedValues.clear(),this.updateOptions()),this.singleSelect=this.hasAttribute("single-select"),this.showEmpty=this.hasAttribute("show-empty"),this.wrapLabels=this.hasAttribute("wrap"),this.hideClear=this.hasAttribute("hide-clear"),this.hasAttribute("sort")){let r=this.getAttribute("sort");["default","alphabetical","count-desc","count-asc"].includes(r)&&(this.sortOption=r)}else this.sortOption="default";this.optionsEl&&this.optionsEl.setAttribute("aria-multiselectable",this.singleSelect?"false":"true");let t=this.triggerEl?.querySelector(".pf-dropdown-trigger-label");t&&(t.textContent=this.getAttribute("label")||this.filterName||""),this.updateOptions()}cleanup(){document.removeEventListener("click",this._handleClickOutside),this.instance?.deregisterAllShortcuts(this),this.focusedOptionEl=null,this.typeAheadTimeout&&clearTimeout(this.typeAheadTimeout)}};customElements.get("pagefind-filter-dropdown")||customElements.define("pagefind-filter-dropdown",Me);var Oe=class extends f{constructor(){super();this.dialogEl=null;this.resetOnClose=!1;this._isOpen=!1;this._closeHandler=null}static get observedAttributes(){return["reset-on-close"]}init(){this.hasAttribute("reset-on-close")&&(this.resetOnClose=this.getAttribute("reset-on-close")!=="false"),this.render()}render(){let e=this.children.length>0,t=e?Array.from(this.children):null;this.innerHTML="";let r=this.id||this.instance.generateId("pagefind-modal"),i=this.instance?.translate("keyboard_search")||"search";if(this.instance?.direction==="rtl"?this.setAttribute("dir","rtl"):this.removeAttribute("dir"),this.dialogEl=document.createElement("dialog"),this.dialogEl.className="pf-modal",this.dialogEl.id=r,this.dialogEl.setAttribute("aria-label",i),e&&t)t.forEach(a=>this.dialogEl.appendChild(a));else{let a=this.getAttribute("instance"),l=document.createElement("pagefind-modal-header"),o=document.createElement("pagefind-input");a&&o.setAttribute("instance",a),l.appendChild(o);let c=document.createElement("pagefind-modal-body"),u=document.createElement("pagefind-summary"),d=document.createElement("pagefind-results");a&&(u.setAttribute("instance",a),d.setAttribute("instance",a)),c.append(u,d);let _=document.createElement("pagefind-modal-footer"),p=document.createElement("pagefind-keyboard-hints");a&&p.setAttribute("instance",a),_.appendChild(p),this.dialogEl.append(l,c,_)}this.appendChild(this.dialogEl),this.setupEventHandlers()}setupEventHandlers(){this.dialogEl&&(this._closeHandler=()=>{this._isOpen=!1,this.handleClose()},this.dialogEl.addEventListener("close",this._closeHandler),this.dialogEl.addEventListener("keydown",e=>{e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),this.close())},!0),this.dialogEl.addEventListener("click",e=>{e.target===this.dialogEl&&this.close()}))}open(){if(this._isOpen||!this.dialogEl)return;this._isOpen=!0,this.dialogEl.showModal();let e=this.instance?.translate("keyboard_close")||"close";this.instance?.registerShortcut({label:"esc",description:e},this),requestAnimationFrame(()=>{let r=this.querySelector("pagefind-input");if(r&&typeof r.focus=="function")r.focus();else{let i=this.querySelector("input");i&&i.focus()}}),(this.instance?.getUtilities("modal-trigger")||[]).forEach(r=>r.buttonEl?.setAttribute("aria-expanded","true"))}close(){!this._isOpen||!this.dialogEl||this.dialogEl.close()}handleClose(){this.instance?.deregisterAllShortcuts(this),this.resetOnClose&&this.instance&&this.instance.triggerSearch("");let t=(this.instance?.getUtilities("modal-trigger")||[])[0];t&&typeof t.handleModalClose=="function"&&t.handleModalClose()}get isOpen(){return this._isOpen}register(e){e.registerUtility(this,"modal"),e.on("translations",()=>{let t=this._isOpen;this.render(),t&&this.open()},this)}reconcileAria(){(this.instance?.getUtilities("modal-trigger")||[]).forEach(t=>{t.buttonEl&&this.dialogEl?.id&&t.buttonEl.setAttribute("aria-controls",this.dialogEl.id)})}cleanup(){this.dialogEl&&this._closeHandler&&this.dialogEl.removeEventListener("close",this._closeHandler),this.instance?.deregisterAllShortcuts(this)}update(){this.hasAttribute("reset-on-close")&&(this.resetOnClose=this.getAttribute("reset-on-close")!=="false")}};customElements.get("pagefind-modal")||customElements.define("pagefind-modal",Oe);var S=null;function is(){if(S!==null)return S;try{let n=navigator.userAgentData;if(n?.platform)return S=n.platform.toLowerCase().includes("mac"),S}catch{}return S=/mac/i.test(navigator.userAgent),S}function je(n){let s=n.toLowerCase().split("+"),e={mod:!1,ctrl:!1,shift:!1,alt:!1,meta:!1,key:""};for(let t of s)switch(t){case"mod":e.mod=!0;break;case"ctrl":e.ctrl=!0;break;case"shift":e.shift=!0;break;case"alt":e.alt=!0;break;case"meta":case"cmd":case"command":e.meta=!0;break;default:e.key=t}return e}function Be(n,s){let e=is(),t=s.key.toLowerCase()===n.key,r=n.mod?!e:n.ctrl,i=n.mod?e:n.meta,a=r?s.ctrlKey:!s.ctrlKey,l=i?s.metaKey:!s.metaKey,o=n.shift?s.shiftKey:!s.shiftKey,c=n.alt?s.altKey:!s.altKey;return t&&a&&l&&o&&c}function xe(n){let s=is(),e=[],t=[];return n.mod&&(e.push(s?"\u2318":"Ctrl"),t.push(s?"Meta":"Control")),n.meta&&(e.push(s?"\u2318":"Win"),t.push("Meta")),n.ctrl&&(e.push("Ctrl"),t.push("Control")),n.shift&&(e.push("Shift"),t.push("Shift")),n.alt&&(e.push("Alt"),t.push("Alt")),e.push(n.key.toUpperCase()),t.push(n.key),{keys:e,aria:t.join("+")}}var He=class extends f{constructor(){super();this.buttonEl=null;this._userPlaceholder=null;this.shortcut="mod+k";this.hideShortcut=!1;this.compact=!1;this._keydownHandler=null;this._keyBinding=null}static get observedAttributes(){return["placeholder","shortcut","hide-shortcut","compact"]}get placeholder(){return this._userPlaceholder||this.instance?.translate("keyboard_search")||"Search"}init(){this.readAttributes(),this.render(),this.setupKeyboardShortcut()}readAttributes(){this.hasAttribute("placeholder")&&(this._userPlaceholder=this.getAttribute("placeholder")),this.hasAttribute("shortcut")&&(this.shortcut=this.getAttribute("shortcut")||"mod+k"),this.hasAttribute("hide-shortcut")&&(this.hideShortcut=this.getAttribute("hide-shortcut")!=="false"),this.hasAttribute("compact")&&(this.compact=this.getAttribute("compact")!=="false"),this._keyBinding=je(this.shortcut)}render(){if(this.innerHTML="",this.instance?.direction==="rtl"?this.setAttribute("dir","rtl"):this.removeAttribute("dir"),this.buttonEl=document.createElement("button"),this.buttonEl.className="pf-trigger-btn",this.buttonEl.type="button",this.buttonEl.setAttribute("aria-haspopup","dialog"),this.buttonEl.setAttribute("aria-expanded","false"),this.buttonEl.setAttribute("aria-label",this.placeholder||"Search"),this._keyBinding){let t=xe(this._keyBinding);this.buttonEl.setAttribute("aria-keyshortcuts",t.aria)}let e=document.createElement("span");if(e.className="pf-trigger-icon",e.setAttribute("aria-hidden","true"),this.buttonEl.appendChild(e),!this.compact){let t=document.createElement("span");t.className="pf-trigger-text",t.textContent=this.placeholder,this.buttonEl.appendChild(t)}if(!this.hideShortcut&&this._keyBinding){let t=document.createElement("span");t.className="pf-trigger-shortcut",t.setAttribute("aria-hidden","true");let r=xe(this._keyBinding);for(let i of r.keys){let a=document.createElement("span");a.className="pf-trigger-key",a.textContent=i,t.appendChild(a)}this.buttonEl.appendChild(t)}this.appendChild(this.buttonEl),this.buttonEl.addEventListener("click",()=>{this.openModal()})}setupKeyboardShortcut(){this._keydownHandler=e=>{if(!this._keyBinding||!Be(this._keyBinding,e))return;let t=document.activeElement;t&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable)||(e.preventDefault(),this.openModal())},document.addEventListener("keydown",this._keydownHandler)}openModal(){let t=(this.instance?.getUtilities("modal")||[])[0];t&&typeof t.open=="function"&&(t.open(),this.buttonEl&&this.buttonEl.setAttribute("aria-expanded","true"))}handleModalClose(){this.buttonEl&&(this.buttonEl.setAttribute("aria-expanded","false"),this.buttonEl.focus())}register(e){e.registerUtility(this,"modal-trigger"),e.on("translations",()=>{this.render()},this)}reconcileAria(){let t=(this.instance?.getUtilities("modal")||[])[0];t?.dialogEl?.id&&this.buttonEl&&this.buttonEl.setAttribute("aria-controls",t.dialogEl.id)}cleanup(){this._keydownHandler&&(document.removeEventListener("keydown",this._keydownHandler),this._keydownHandler=null)}update(){this.readAttributes(),this.render()}};customElements.get("pagefind-modal-trigger")||customElements.define("pagefind-modal-trigger",He);var we=class extends f{constructor(){super(...arguments);this.closeBtn=null}init(){this.classList.add("pf-modal-header");let e=document.createElement("div");for(e.className="pf-modal-header-content";this.firstChild;)e.appendChild(this.firstChild);this.closeBtn=document.createElement("button"),this.closeBtn.type="button",this.closeBtn.className="pf-modal-close",this.closeBtn.setAttribute("aria-label",this.instance?.translate("keyboard_close")||"Close"),this.closeBtn.innerHTML='',this.closeBtn.addEventListener("click",()=>{let t=this.closest("pagefind-modal");t&&typeof t.close=="function"&&t.close()}),this.append(e,this.closeBtn)}register(e){e.registerUtility(this,"modal-header"),e.on("translations",()=>{this.closeBtn&&this.closeBtn.setAttribute("aria-label",e.translate("keyboard_close")||"Close")},this)}};customElements.get("pagefind-modal-header")||customElements.define("pagefind-modal-header",we);var Ie=class extends f{init(){this.classList.add("pf-modal-body"),this.setAttribute("tabindex","-1")}register(s){}};customElements.get("pagefind-modal-body")||customElements.define("pagefind-modal-body",Ie);var Ue=class extends f{init(){this.classList.add("pf-modal-footer")}register(s){}};customElements.get("pagefind-modal-footer")||customElements.define("pagefind-modal-footer",Ue);var Le=class extends f{init(){this.classList.add("pf-keyboard-hints"),this.setAttribute("aria-hidden","true")}render(){this.innerHTML="",this.instance?.direction==="rtl"?this.setAttribute("dir","rtl"):this.removeAttribute("dir");let s=this.instance?.getActiveShortcuts()||[];if(s.length===0)return;let e=new Set;for(let t of s){if(e.has(t.label))continue;e.add(t.label);let r=document.createElement("div");r.className="pf-keyboard-hint";let i=document.createElement("kbd");i.className="pf-keyboard-key",i.textContent=t.label,r.appendChild(i),r.appendChild(document.createTextNode(` ${t.description}`)),this.appendChild(r)}}register(s){s.registerUtility(this,"keyboard-hints"),this.render(),s.on("translations",()=>{this.render()},this)}};customElements.get("pagefind-keyboard-hints")||customElements.define("pagefind-keyboard-hints",Le);var va=(n=100)=>new Promise(s=>setTimeout(s,n)),as=(n,s)=>{let e=n.getAttribute("role")==="option"?[n]:Array.from(n.querySelectorAll('[role="option"]'));for(let t=0;t{if(n instanceof Element)return[n];if(Array.isArray(n)&&n.every(s=>s instanceof Element))return n;if(typeof n=="string"||n instanceof String){let s=document.createElement("div");return s.innerHTML=n,[...s.childNodes]}return console.error(`[Pagefind Searchbox]: Expected template to return HTML element or string, got ${typeof n}`),[]},Ra=`{{#if and(options.show_sub_results, sub_results)}}{{/if}}`,ns=R(Ra),ka=``,Aa=R(ka),jt=class{constructor(s){this.data=null;this.cachedOptions=null;this.loading=!1;this.retryDelay=0;this.observer=null;this.rawResult=s.rawResult,this.placeholderEl=s.placeholderEl,this.renderFn=s.renderFn,this.intersectionRoot=s.intersectionRoot,this.index=s.index,this.onLoad=s.onLoad,this.setupObserver()}setupObserver(){if(this.data!==null||this.observer!==null)return;let s={root:this.intersectionRoot,rootMargin:"50px",threshold:.01};this.observer=new IntersectionObserver((e,t)=>{this.data===null&&e?.[0]?.isIntersecting&&(this.load(),t.disconnect(),this.observer=null)},s),this.observer.observe(this.placeholderEl)}async load(){if(!(this.data!==null||this.loading)){this.loading=!0;try{this.data=await this.rawResult.data();let s=this.renderFn(this.data),e=Ke(s);if(e.length>0&&this.placeholderEl.parentNode){let t=e.find(r=>r instanceof Element);this.placeholderEl.replaceWith(...e),t instanceof Element&&(this.placeholderEl=t,as(t,this.index),this.cacheOptions())}}catch{await new Promise(s=>setTimeout(s,this.retryDelay||100)),this.retryDelay=Math.min((this.retryDelay||100)*2,1e4),this.loading=!1}this.onLoad?.()}}cacheOptions(){if(!this.data||!this.placeholderEl){this.cachedOptions=null;return}this.placeholderEl.getAttribute("role")==="group"?this.cachedOptions=Array.from(this.placeholderEl.querySelectorAll('[role="option"]')):this.placeholderEl.getAttribute("role")==="option"?this.cachedOptions=[this.placeholderEl]:this.cachedOptions=[]}cleanup(){this.observer&&(this.observer.disconnect(),this.observer=null),this.cachedOptions=null}},Fe=class extends f{constructor(){super();this.containerEl=null;this.inputEl=null;this.dropdownEl=null;this.resultsEl=null;this.statusEl=null;this.footerEl=null;this.isOpen=!1;this.isLoading=!1;this.results=[];this.activeIndex=-1;this.activeOptionOffset=0;this.searchID=0;this.searchTerm="";this.pendingNavigation=0;this.loadingAnnouncementTimeout=null;this.selectedEl=null;this._userPlaceholder=null;this.debounce=150;this.autofocus=!1;this.showSubResults=!1;this.maxResults=0;this.showKeyboardHints=!0;this.shortcut="mod+k";this.hideShortcut=!1;this.resultTemplate=null;this.compiledResultTemplate=null;this.compiledPlaceholderTemplate=null;this._documentClickHandler=null;this._shortcutKeyHandler=null;this._keyBinding=null;this._shortcutEl=null}static get observedAttributes(){return["placeholder","debounce","autofocus","show-sub-results","max-results","show-keyboard-hints","shortcut","hide-shortcut"]}get placeholder(){return this._userPlaceholder||this.instance?.translate("placeholder")||"Search..."}readAttributes(){this.hasAttribute("placeholder")&&(this._userPlaceholder=this.getAttribute("placeholder")),this.hasAttribute("debounce")&&(this.debounce=parseInt(this.getAttribute("debounce")||"150",10)||150),this.hasAttribute("autofocus")&&(this.autofocus=this.hasAttribute("autofocus")),this.hasAttribute("show-sub-results")&&(this.showSubResults=this.getAttribute("show-sub-results")!=="false"),this.hasAttribute("max-results")&&(this.maxResults=parseInt(this.getAttribute("max-results")||"0",10)),this.hasAttribute("show-keyboard-hints")&&(this.showKeyboardHints=this.getAttribute("show-keyboard-hints")!=="false"),this.hasAttribute("shortcut")&&(this.shortcut=this.getAttribute("shortcut")||"mod+k"),this.hasAttribute("hide-shortcut")&&(this.hideShortcut=this.getAttribute("hide-shortcut")!=="false"),this._keyBinding=je(this.shortcut)}init(){this.readAttributes(),this.checkForTemplates(),this.render(),this.setupOutsideClickHandler(),this.setupShortcutHandler()}checkForTemplates(){let e=this.querySelector('script[type="text/pagefind-template"]:not([data-template]), script[type="text/pagefind-template"][data-template="result"]');e&&(this.compiledResultTemplate=R((e.textContent||"").trim()));let t=this.querySelector('script[type="text/pagefind-template"][data-template="placeholder"]');t&&(this.compiledPlaceholderTemplate=R((t.textContent||"").trim()))}getPlaceholder(){return this.compiledPlaceholderTemplate?this.compiledPlaceholderTemplate({}):Aa({})}render(){let e=[];this.querySelectorAll('script[type="text/pagefind-template"]').forEach(l=>{e.push(l)}),this.innerHTML="",e.forEach(l=>this.appendChild(l));let t=this.instance.generateId("pf-sb-input"),r=this.instance.generateId("pf-sb-results");this.containerEl=document.createElement("div"),this.containerEl.className="pf-searchbox",this.appendChild(this.containerEl);let i=document.createElement("div");if(i.className="pf-searchbox-input-wrapper",this.containerEl.appendChild(i),this.inputEl=document.createElement("input"),this.inputEl.id=t,this.inputEl.className="pf-searchbox-input",this.inputEl.type="text",this.inputEl.setAttribute("role","combobox"),this.inputEl.setAttribute("aria-autocomplete","list"),this.inputEl.setAttribute("aria-controls",r),this.inputEl.setAttribute("aria-expanded","false"),this.inputEl.setAttribute("autocomplete","off"),this.inputEl.setAttribute("autocapitalize","none"),this.inputEl.placeholder=this.placeholder,this.autofocus&&this.inputEl.setAttribute("autofocus","autofocus"),i.appendChild(this.inputEl),!this.hideShortcut&&this._keyBinding){this._shortcutEl=document.createElement("span"),this._shortcutEl.className="pf-trigger-shortcut",this._shortcutEl.setAttribute("aria-hidden","true");let l=xe(this._keyBinding);for(let o of l.keys){let c=document.createElement("span");c.className="pf-trigger-key",c.textContent=o,this._shortcutEl.appendChild(c)}i.appendChild(this._shortcutEl),this.inputEl.setAttribute("aria-keyshortcuts",l.aria)}this.dropdownEl=document.createElement("div"),this.dropdownEl.className="pf-searchbox-dropdown",this.containerEl.appendChild(this.dropdownEl);let a=this.instance?.translate("results_label")||"Search results";this.instance?.direction==="rtl"?this.setAttribute("dir","rtl"):this.removeAttribute("dir"),this.resultsEl=document.createElement("div"),this.resultsEl.id=r,this.resultsEl.className="pf-searchbox-results",this.resultsEl.setAttribute("role","listbox"),this.resultsEl.setAttribute("aria-label",a),this.dropdownEl.appendChild(this.resultsEl),this.statusEl=document.createElement("div"),this.statusEl.className="pf-searchbox-status",this.statusEl.hidden=!0,this.dropdownEl.appendChild(this.statusEl),this.showKeyboardHints&&(this.footerEl=document.createElement("div"),this.footerEl.className="pf-searchbox-footer",this.footerEl.setAttribute("aria-hidden","true"),this.dropdownEl.appendChild(this.footerEl),this.renderFooterHints()),this.setupEventHandlers()}renderFooterHints(){if(!this.footerEl)return;this.footerEl.innerHTML="";let e=this.instance?.translate("keyboard_navigate")||"navigate",t=this.instance?.translate("keyboard_select")||"select",r=this.instance?.translate("keyboard_close")||"close",i=document.createElement("div");i.className="pf-searchbox-footer-hint";let a=document.createElement("span");a.className="pf-searchbox-footer-key",a.textContent="\u2191",i.appendChild(a);let l=document.createElement("span");l.className="pf-searchbox-footer-key",l.textContent="\u2193",i.appendChild(l),i.appendChild(document.createTextNode(` ${e}`)),this.footerEl.appendChild(i);let o=document.createElement("div");o.className="pf-searchbox-footer-hint";let c=document.createElement("span");c.className="pf-searchbox-footer-key",c.textContent="\u21B5",o.appendChild(c),o.appendChild(document.createTextNode(` ${t}`)),this.footerEl.appendChild(o);let u=document.createElement("div");u.className="pf-searchbox-footer-hint";let d=document.createElement("span");d.className="pf-searchbox-footer-key",d.textContent="esc",u.appendChild(d),u.appendChild(document.createTextNode(` ${r}`)),this.footerEl.appendChild(u)}setupEventHandlers(){!this.inputEl||!this.resultsEl||(this.inputEl.addEventListener("input",async e=>{let t=e.target.value;if(this.searchTerm=t,!t||!t.trim()){this.closeDropdown(),this.results=[],this.instance?.triggerSearch("");return}this.openDropdown(),this.showLoadingState();let r=++this.searchID;await va(this.debounce),r===this.searchID&&this.instance?.triggerSearch(t)}),this.inputEl.addEventListener("keydown",e=>{switch(e.key){case"ArrowDown":e.preventDefault(),!this.isOpen&&this.inputEl?.value.trim()&&this.openDropdown(),this.isOpen&&this.results.length>0&&this.moveSelection(1);break;case"ArrowUp":e.preventDefault(),this.isOpen&&this.results.length>0&&this.moveSelection(-1);break;case"Enter":this.isOpen&&this.activeIndex>=0?(e.preventDefault(),this.activateCurrentSelection(e)):!this.isOpen&&this.inputEl?.value.trim()&&(e.preventDefault(),this.openDropdown(),this.results.length>0?(this.rerenderLoadedResults(),this.activeIndex=0,this.activeOptionOffset=0,this.updateSelectionUI()):this.instance?.triggerSearch(this.inputEl.value));break;case"Escape":this.pendingNavigation=0,this.clearLoadingAnnouncement(),this.isOpen&&(e.preventDefault(),this.closeDropdown());break;case"Tab":this.pendingNavigation=0,this.clearLoadingAnnouncement(),this.isOpen&&this.closeDropdown();break}}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()}),this.resultsEl.addEventListener("click",e=>{e.target.closest("a")&&this.closeDropdown()}),this.resultsEl.addEventListener("mousemove",e=>{let t=e.target.closest("a");if(t){let r=this.getResultAndOffsetFromElement(t);r&&(r.resultIndex!==this.activeIndex||r.optionOffset!==this.activeOptionOffset)&&(this.activeIndex=r.resultIndex,this.activeOptionOffset=r.optionOffset,this.updateSelectionUI(!1))}}))}setupOutsideClickHandler(){this._documentClickHandler=e=>{this.isOpen&&!this.contains(e.target)&&this.closeDropdown()},document.addEventListener("click",this._documentClickHandler)}setupShortcutHandler(){this._keyBinding&&(this._shortcutKeyHandler=e=>{if(!this._keyBinding||!Be(this._keyBinding,e))return;let t=document.activeElement;t&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable)||(e.preventDefault(),this.inputEl?.focus())},document.addEventListener("keydown",this._shortcutKeyHandler))}openDropdown(){this.isOpen||!this.containerEl||!this.inputEl||(this.isOpen=!0,this.containerEl.classList.add("open"),this.inputEl.setAttribute("aria-expanded","true"))}closeDropdown(){!this.isOpen||!this.containerEl||!this.inputEl||(this.isOpen=!1,this.pendingNavigation=0,this.clearLoadingAnnouncement(),this.containerEl.classList.remove("open"),this.inputEl.setAttribute("aria-expanded","false"),this.inputEl.removeAttribute("aria-activedescendant"),this.activeIndex=-1,this.activeOptionOffset=0,this.selectedEl=null)}showLoadingState(){if(!this.resultsEl||!this.statusEl)return;this.isLoading=!0,this.resultsEl.innerHTML="",this.selectedEl=null,this.resultsEl.setAttribute("aria-busy","true");let e=this.instance?.translate("searching",{SEARCH_TERM:this.searchTerm})||"Searching...";this.statusEl.textContent=e,this.statusEl.className="pf-searchbox-status pf-searchbox-loading",this.statusEl.hidden=!1}showEmptyState(){if(!this.resultsEl||!this.statusEl)return;this.resultsEl.innerHTML="",this.selectedEl=null,this.resultsEl.removeAttribute("aria-busy");let e=this.instance?.translate("zero_results",{SEARCH_TERM:this.searchTerm})||`No results for "${this.searchTerm}"`;this.statusEl.textContent=e,this.statusEl.className="pf-searchbox-status pf-searchbox-empty",this.statusEl.hidden=!1,this.instance?.announce("zero_results",{SEARCH_TERM:this.searchTerm},"assertive")}getOptionsForResult(e){return e.cachedOptions!==null?e.cachedOptions:!e.data||!e.placeholderEl?[]:e.placeholderEl.getAttribute("role")==="group"?Array.from(e.placeholderEl.querySelectorAll('[role="option"]')):e.placeholderEl.getAttribute("role")==="option"?[e.placeholderEl]:[]}moveSelection(e){let t=this.results.length;if(t===0)return;if(e<0){if(this.activeIndex===-1)return;if(this.activeOptionOffset>0){this.activeOptionOffset--,this.pendingNavigation=0,this.clearLoadingAnnouncement(),this.updateSelectionUI(!0);return}let o=this.activeIndex-1;if(o<0){this.pendingNavigation=0,this.clearLoadingAnnouncement(),this.activeIndex=-1,this.activeOptionOffset=0,this.updateSelectionUI(!0);return}let c=this.results[o];if(!c||!c.data)return;let u=this.getOptionsForResult(c);this.activeIndex=o,this.activeOptionOffset=Math.max(0,u.length-1),this.pendingNavigation=0,this.clearLoadingAnnouncement(),this.updateSelectionUI(!0),this.preloadAhead(o,e);return}if(this.activeIndex===-1){if(this.results[0]&&!this.results[0].data){this.pendingNavigation+=e,this.results[0].load(),this.scheduleLoadingAnnouncement(),this.preloadAhead(0,e);return}this.activeIndex=0,this.activeOptionOffset=0,this.pendingNavigation=0,this.clearLoadingAnnouncement(),this.updateSelectionUI(!0),this.preloadAhead(0,e);return}let r=this.results[this.activeIndex];if(!r?.data){r&&(this.pendingNavigation+=e,r.load(),this.scheduleLoadingAnnouncement(),this.preloadAhead(this.activeIndex,e));return}let i=this.getOptionsForResult(r);if(this.activeOptionOffset=t)return;let l=this.results[a];if(l&&!l.data){this.pendingNavigation+=e,l.load(),this.scheduleLoadingAnnouncement(),this.preloadAhead(a,e);return}this.activeIndex=a,this.activeOptionOffset=0,this.pendingNavigation=0,this.clearLoadingAnnouncement(),this.updateSelectionUI(!0),this.preloadAhead(a,e)}preloadAhead(e,t){let r=t>0?1:-1,i=Math.abs(this.pendingNavigation)+3;for(let a=1;a<=i;a++){let l=e+r*a;if(l>=0&&l{this.loadingAnnouncementTimeout=null,this.instance?.announce("loading",{},"polite")},800))}clearLoadingAnnouncement(){this.loadingAnnouncementTimeout&&(clearTimeout(this.loadingAnnouncementTimeout),this.loadingAnnouncementTimeout=null)}handleResultLoaded(){if(this.clearLoadingAnnouncement(),this.pendingNavigation===0){this.updateSelectionUI();return}let e=this.pendingNavigation>0?1:-1,t=this.activeIndex,r=this.activeOptionOffset;for(;this.pendingNavigation!==0;)if(e>0){let i=this.results[t];if(i?.data){let o=this.getOptionsForResult(i);if(r=this.results.length){this.pendingNavigation=0;break}let l=this.results[a];if(l?.data)t=a,r=0,this.pendingNavigation--;else{l&&(l.load(),this.scheduleLoadingAnnouncement(),this.preloadAhead(a,e));break}}else{if(r>0){r--,this.pendingNavigation++;continue}let i=t-1;if(i<0){this.pendingNavigation=0;break}let a=this.results[i];if(a?.data){let l=this.getOptionsForResult(a);t=i,r=Math.max(0,l.length-1),this.pendingNavigation++}else break}(t!==this.activeIndex||r!==this.activeOptionOffset)&&(this.activeIndex=t,this.activeOptionOffset=r,this.updateSelectionUI(!0))}updateSelectionUI(e=!1){if(!this.resultsEl||!this.inputEl)return;this.selectedEl&&(this.selectedEl.removeAttribute("data-pf-selected"),this.selectedEl.setAttribute("aria-selected","false"),this.selectedEl=null);let t=this.activeIndex>=0?this.results[this.activeIndex]:null,i=(t?this.getOptionsForResult(t):[])[this.activeOptionOffset];i?(i.setAttribute("data-pf-selected",""),i.setAttribute("aria-selected","true"),this.selectedEl=i,this.inputEl.setAttribute("aria-activedescendant",i.id),e&&this.scrollToCenter(i)):this.inputEl.removeAttribute("aria-activedescendant")}scrollToCenter(e){if(!this.resultsEl)return;let t=this.resultsEl,r=e.offsetTop,i=e.offsetHeight,a=t.clientHeight,l=r-a/2+i/2;t.scrollTo({top:l,behavior:"smooth"})}getResultAndOffsetFromElement(e){let t=e.closest("[data-pf-result-index]");if(!t)return null;let r=parseInt(t.getAttribute("data-pf-result-index"),10),i=parseInt(t.getAttribute("data-pf-option-offset")||"0",10);return Number.isNaN(r)||Number.isNaN(i)?null:{resultIndex:r,optionOffset:i}}activateCurrentSelection(e){if(this.activeIndex<0||this.activeIndex>=this.results.length)return;let t=this.results[this.activeIndex];if(!t||!t.data)return;let i=this.getOptionsForResult(t)[this.activeOptionOffset];!i||!i.href||(e.metaKey||e.ctrlKey||e.shiftKey?window.open(i.href,"_blank"):window.location.href=i.href,this.closeDropdown())}handleResults(e){this.isLoading=!1,this.resultsEl&&this.resultsEl.removeAttribute("aria-busy"),this.statusEl&&(this.statusEl.hidden=!0);for(let i of this.results)i.cleanup();if(this.pendingNavigation=0,this.clearLoadingAnnouncement(),!e.results||e.results.length===0){this.results=[],this.showEmptyState();return}let t=this.maxResults>0?e.results.slice(0,this.maxResults):e.results;this.resultsEl&&(this.resultsEl.innerHTML="",this.selectedEl=null);let r=this.getResultRenderer();this.results=t.map((i,a)=>{let l=this.getPlaceholder(),c=Ke(l)[0];this.resultsEl&&c&&this.resultsEl.appendChild(c);let u=new jt({rawResult:i,placeholderEl:c,renderFn:r,intersectionRoot:this.resultsEl,index:a,onLoad:()=>{this.results[a]===u&&this.handleResultLoaded()}});return u}),this.activeIndex=0,this.activeOptionOffset=0,this.updateSelectionUI(),this.announceResults()}buildTemplateData(e){let t=this.showSubResults?this.instance.getDisplaySubResults(e):[],r=this.instance.generateId("pf-sb-result");return{meta:e.meta||{},excerpt:e.excerpt||"",url:e.url||"",sub_results:t.map(i=>{let a=this.instance.generateId("pf-sb-result");return{title:i.title,url:i.url,excerpt:i.excerpt,aria:{result_id:a,title_id:`${a}-title`,excerpt_id:`${a}-excerpt`}}}),options:{show_sub_results:this.showSubResults},aria:{result_id:r,title_id:`${r}-title`,excerpt_id:`${r}-excerpt`}}}getResultRenderer(){if(this.resultTemplate)return this.resultTemplate;if(this.compiledResultTemplate){let e=this.compiledResultTemplate;return t=>{let r=this.buildTemplateData(t);return e(r)}}return e=>{let t=this.buildTemplateData(e);return ns(t)}}rerenderLoadedResults(){if(this.resultsEl){this.resultsEl.innerHTML="",this.selectedEl=null;for(let e=0;e{this.searchTerm&&this.searchTerm.trim()&&(this.openDropdown(),this.showLoadingState())},this),e.on("results",t=>{this.handleResults(t)},this),e.on("error",t=>{let r=t;this.isLoading=!1;let i=e.translate("error_search")||"Search failed";this.showError({message:r.message||i,details:r.bundlePath?`Bundle path: ${r.bundlePath}`:void 0}),e.announce("error_search",{},"assertive")},this),e.on("search",t=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.searchTerm=t)},this),e.on("translations",()=>{let t=this.inputEl?.value||"",r=this.isOpen;this.render(),this.inputEl&&t&&(this.inputEl.value=t),r&&(this.openDropdown(),this.results.length>0&&(this.rerenderLoadedResults(),this.updateSelectionUI()))},this)}cleanup(){this.clearLoadingAnnouncement();for(let e of this.results)e.cleanup();this.results=[],this.selectedEl=null,this._documentClickHandler&&(document.removeEventListener("click",this._documentClickHandler),this._documentClickHandler=null),this._shortcutKeyHandler&&(document.removeEventListener("keydown",this._shortcutKeyHandler),this._shortcutKeyHandler=null)}update(){this.readAttributes(),this._documentClickHandler&&(document.removeEventListener("click",this._documentClickHandler),this._documentClickHandler=null),this._shortcutKeyHandler&&(document.removeEventListener("keydown",this._shortcutKeyHandler),this._shortcutKeyHandler=null),this.render(),this.setupOutsideClickHandler(),this.setupShortcutHandler()}focus(){this.inputEl&&this.inputEl.focus()}};customElements.get("pagefind-searchbox")||customElements.define("pagefind-searchbox",Fe);ts("resolveUrl",(n,s)=>{let e=String(n??"");if(!e||/^[a-z][a-z0-9+.-]*:/i.test(e)||/^\/\//.test(e)||e.startsWith("/"))return e;try{return new URL(e,new URL(String(s??"/"),"https://p")).pathname}catch{return e}});typeof window<"u"&&(window.PagefindComponents=Bt);})(); diff --git a/pagefind/pagefind-entry.json b/pagefind/pagefind-entry.json new file mode 100644 index 0000000..20caafb --- /dev/null +++ b/pagefind/pagefind-entry.json @@ -0,0 +1 @@ +{"version":"1.5.2","languages":{"en":{"hash":"en_3bda61df65","wasm":"en","page_count":13}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]} \ No newline at end of file diff --git a/pagefind/pagefind-highlight.js b/pagefind/pagefind-highlight.js new file mode 100644 index 0000000..0e538a5 --- /dev/null +++ b/pagefind/pagefind-highlight.js @@ -0,0 +1,1070 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + +// node_modules/mark.js/dist/mark.js +var require_mark = __commonJS({ + "node_modules/mark.js/dist/mark.js"(exports, module) { + (function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.Mark = factory(); + })(exports, (function() { + "use strict"; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + var classCallCheck = function(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + var createClass = /* @__PURE__ */ (function() { + function 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); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + })(); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + var DOMIterator = (function() { + function DOMIterator2(ctx) { + var iframes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + var exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5e3; + classCallCheck(this, DOMIterator2); + this.ctx = ctx; + this.iframes = iframes; + this.exclude = exclude; + this.iframesTimeout = iframesTimeout; + } + createClass(DOMIterator2, [{ + key: "getContexts", + value: function getContexts() { + var ctx = void 0, filteredCtx = []; + if (typeof this.ctx === "undefined" || !this.ctx) { + ctx = []; + } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { + ctx = Array.prototype.slice.call(this.ctx); + } else if (Array.isArray(this.ctx)) { + ctx = this.ctx; + } else if (typeof this.ctx === "string") { + ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx)); + } else { + ctx = [this.ctx]; + } + ctx.forEach(function(ctx2) { + var isDescendant = filteredCtx.filter(function(contexts) { + return contexts.contains(ctx2); + }).length > 0; + if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) { + filteredCtx.push(ctx2); + } + }); + return filteredCtx; + } + }, { + key: "getIframeContents", + value: function getIframeContents(ifr, successFn) { + var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() { + }; + var doc = void 0; + try { + var ifrWin = ifr.contentWindow; + doc = ifrWin.document; + if (!ifrWin || !doc) { + throw new Error("iframe inaccessible"); + } + } catch (e) { + errorFn(); + } + if (doc) { + successFn(doc); + } + } + }, { + key: "isIframeBlank", + value: function isIframeBlank(ifr) { + var bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href; + return href === bl && src !== bl && src; + } + }, { + key: "observeIframeLoad", + value: function observeIframeLoad(ifr, successFn, errorFn) { + var _this = this; + var called = false, tout = null; + var listener = function listener2() { + if (called) { + return; + } + called = true; + clearTimeout(tout); + try { + if (!_this.isIframeBlank(ifr)) { + ifr.removeEventListener("load", listener2); + _this.getIframeContents(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + }; + ifr.addEventListener("load", listener); + tout = setTimeout(listener, this.iframesTimeout); + } + }, { + key: "onIframeReady", + value: function onIframeReady(ifr, successFn, errorFn) { + try { + if (ifr.contentWindow.document.readyState === "complete") { + if (this.isIframeBlank(ifr)) { + this.observeIframeLoad(ifr, successFn, errorFn); + } else { + this.getIframeContents(ifr, successFn, errorFn); + } + } else { + this.observeIframeLoad(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + } + }, { + key: "waitForIframes", + value: function waitForIframes(ctx, done) { + var _this2 = this; + var eachCalled = 0; + this.forEachIframe(ctx, function() { + return true; + }, function(ifr) { + eachCalled++; + _this2.waitForIframes(ifr.querySelector("html"), function() { + if (!--eachCalled) { + done(); + } + }); + }, function(handled) { + if (!handled) { + done(); + } + }); + } + }, { + key: "forEachIframe", + value: function forEachIframe(ctx, filter, each) { + var _this3 = this; + var end = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0; + ifr = Array.prototype.slice.call(ifr); + var checkEnd = function checkEnd2() { + if (--open <= 0) { + end(handled); + } + }; + if (!open) { + checkEnd(); + } + ifr.forEach(function(ifr2) { + if (DOMIterator2.matches(ifr2, _this3.exclude)) { + checkEnd(); + } else { + _this3.onIframeReady(ifr2, function(con) { + if (filter(ifr2)) { + handled++; + each(con); + } + checkEnd(); + }, checkEnd); + } + }); + } + }, { + key: "createIterator", + value: function createIterator(ctx, whatToShow, filter) { + return document.createNodeIterator(ctx, whatToShow, filter, false); + } + }, { + key: "createInstanceOnIframe", + value: function createInstanceOnIframe(contents) { + return new DOMIterator2(contents.querySelector("html"), this.iframes); + } + }, { + key: "compareNodeIframe", + value: function compareNodeIframe(node, prevNode, ifr) { + var compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING; + if (compCurr & prev) { + if (prevNode !== null) { + var compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING; + if (compPrev & after) { + return true; + } + } else { + return true; + } + } + return false; + } + }, { + key: "getIteratorNode", + value: function getIteratorNode(itr) { + var prevNode = itr.previousNode(); + var node = void 0; + if (prevNode === null) { + node = itr.nextNode(); + } else { + node = itr.nextNode() && itr.nextNode(); + } + return { + prevNode, + node + }; + } + }, { + key: "checkIframeFilter", + value: function checkIframeFilter(node, prevNode, currIfr, ifr) { + var key = false, handled = false; + ifr.forEach(function(ifrDict, i) { + if (ifrDict.val === currIfr) { + key = i; + handled = ifrDict.handled; + } + }); + if (this.compareNodeIframe(node, prevNode, currIfr)) { + if (key === false && !handled) { + ifr.push({ + val: currIfr, + handled: true + }); + } else if (key !== false && !handled) { + ifr[key].handled = true; + } + return true; + } + if (key === false) { + ifr.push({ + val: currIfr, + handled: false + }); + } + return false; + } + }, { + key: "handleOpenIframes", + value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) { + var _this4 = this; + ifr.forEach(function(ifrDict) { + if (!ifrDict.handled) { + _this4.getIframeContents(ifrDict.val, function(con) { + _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb); + }); + } + }); + } + }, { + key: "iterateThroughNodes", + value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { + var _this5 = this; + var itr = this.createIterator(ctx, whatToShow, filterCb); + var ifr = [], elements = [], node = void 0, prevNode = void 0, retrieveNodes = function retrieveNodes2() { + var _getIteratorNode = _this5.getIteratorNode(itr); + prevNode = _getIteratorNode.prevNode; + node = _getIteratorNode.node; + return node; + }; + while (retrieveNodes()) { + if (this.iframes) { + this.forEachIframe(ctx, function(currIfr) { + return _this5.checkIframeFilter(node, prevNode, currIfr, ifr); + }, function(con) { + _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function(ifrNode) { + return elements.push(ifrNode); + }, filterCb); + }); + } + elements.push(node); + } + elements.forEach(function(node2) { + eachCb(node2); + }); + if (this.iframes) { + this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); + } + doneCb(); + } + }, { + key: "forEachNode", + value: function forEachNode(whatToShow, each, filter) { + var _this6 = this; + var done = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var contexts = this.getContexts(); + var open = contexts.length; + if (!open) { + done(); + } + contexts.forEach(function(ctx) { + var ready = function ready2() { + _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function() { + if (--open <= 0) { + done(); + } + }); + }; + if (_this6.iframes) { + _this6.waitForIframes(ctx, ready); + } else { + ready(); + } + }); + } + }], [{ + key: "matches", + value: function matches(element, selector) { + var selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; + if (fn) { + var match = false; + selectors.every(function(sel) { + if (fn.call(element, sel)) { + match = true; + return false; + } + return true; + }); + return match; + } else { + return false; + } + } + }]); + return DOMIterator2; + })(); + var Mark$1 = (function() { + function Mark3(ctx) { + classCallCheck(this, Mark3); + this.ctx = ctx; + this.ie = false; + var ua = window.navigator.userAgent; + if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { + this.ie = true; + } + } + createClass(Mark3, [{ + key: "log", + value: function log(msg) { + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "debug"; + var log2 = this.opt.log; + if (!this.opt.debug) { + return; + } + if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) === "object" && typeof log2[level] === "function") { + log2[level]("mark.js: " + msg); + } + } + }, { + key: "escapeStr", + value: function escapeStr(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + }, { + key: "createRegExp", + value: function createRegExp(str) { + if (this.opt.wildcards !== "disabled") { + str = this.setupWildcardsRegExp(str); + } + str = this.escapeStr(str); + if (Object.keys(this.opt.synonyms).length) { + str = this.createSynonymsRegExp(str); + } + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + if (this.opt.diacritics) { + str = this.createDiacriticsRegExp(str); + } + str = this.createMergedBlanksRegExp(str); + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.createJoinersRegExp(str); + } + if (this.opt.wildcards !== "disabled") { + str = this.createWildcardsRegExp(str); + } + str = this.createAccuracyRegExp(str); + return str; + } + }, { + key: "createSynonymsRegExp", + value: function createSynonymsRegExp(str) { + var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; + for (var index in syn) { + if (syn.hasOwnProperty(index)) { + var value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value); + if (k1 !== "" && k2 !== "") { + str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" + this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + joinerPlaceholder); + } + } + } + return str; + } + }, { + key: "processSynomyms", + value: function processSynomyms(str) { + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + return str; + } + }, { + key: "setupWildcardsRegExp", + value: function setupWildcardsRegExp(str) { + str = str.replace(/(?:\\)*\?/g, function(val) { + return val.charAt(0) === "\\" ? "?" : ""; + }); + return str.replace(/(?:\\)*\*/g, function(val) { + return val.charAt(0) === "\\" ? "*" : ""; + }); + } + }, { + key: "createWildcardsRegExp", + value: function createWildcardsRegExp(str) { + var spaces = this.opt.wildcards === "withSpaces"; + return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*"); + } + }, { + key: "setupIgnoreJoinersRegExp", + value: function setupIgnoreJoinersRegExp(str) { + return str.replace(/[^(|)\\]/g, function(val, indx, original) { + var nextChar = original.charAt(indx + 1); + if (/[(|)\\]/.test(nextChar) || nextChar === "") { + return val; + } else { + return val + "\0"; + } + }); + } + }, { + key: "createJoinersRegExp", + value: function createJoinersRegExp(str) { + var joiner = []; + var ignorePunctuation = this.opt.ignorePunctuation; + if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { + joiner.push(this.escapeStr(ignorePunctuation.join(""))); + } + if (this.opt.ignoreJoiners) { + joiner.push("\\u00ad\\u200b\\u200c\\u200d"); + } + return joiner.length ? str.split(/\u0000+/).join("[" + joiner.join("") + "]*") : str; + } + }, { + key: "createDiacriticsRegExp", + value: function createDiacriticsRegExp(str) { + var sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105", "A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119", "E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B", "I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142", "L\u0141", "n\xF1\u0148\u0144", "N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D", "O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159", "R\u0158", "s\u0161\u015B\u0219\u015F", "S\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163", "T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B", "U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF", "Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017A", "Z\u017D\u017B\u0179"] : ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010DC\xC7\u0106\u010C", "d\u0111\u010FD\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142L\u0141", "n\xF1\u0148\u0144N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159R\u0158", "s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017AZ\u017D\u017B\u0179"]; + var handled = []; + str.split("").forEach(function(ch) { + dct.every(function(dct2) { + if (dct2.indexOf(ch) !== -1) { + if (handled.indexOf(dct2) > -1) { + return false; + } + str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), "[" + dct2 + "]"); + handled.push(dct2); + } + return true; + }); + }); + return str; + } + }, { + key: "createMergedBlanksRegExp", + value: function createMergedBlanksRegExp(str) { + return str.replace(/[\s]+/gmi, "[\\s]+"); + } + }, { + key: "createAccuracyRegExp", + value: function createAccuracyRegExp(str) { + var _this = this; + var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF"; + var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = ""; + ls.forEach(function(limiter) { + lsJoin += "|" + _this.escapeStr(limiter); + }); + switch (val) { + case "partially": + default: + return "()(" + str + ")"; + case "complementary": + lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars)); + return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)"; + case "exactly": + return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + ")"; + } + } + }, { + key: "getSeparatedKeywords", + value: function getSeparatedKeywords(sv) { + var _this2 = this; + var stack = []; + sv.forEach(function(kw) { + if (!_this2.opt.separateWordSearch) { + if (kw.trim() && stack.indexOf(kw) === -1) { + stack.push(kw); + } + } else { + kw.split(" ").forEach(function(kwSplitted) { + if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { + stack.push(kwSplitted); + } + }); + } + }); + return { + "keywords": stack.sort(function(a, b) { + return b.length - a.length; + }), + "length": stack.length + }; + } + }, { + key: "isNumeric", + value: function isNumeric(value) { + return Number(parseFloat(value)) == value; + } + }, { + key: "checkRanges", + value: function checkRanges(array) { + var _this3 = this; + if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") { + this.log("markRanges() will only accept an array of objects"); + this.opt.noMatch(array); + return []; + } + var stack = []; + var last = 0; + array.sort(function(a, b) { + return a.start - b.start; + }).forEach(function(item) { + var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), start = _callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = _callNoMatchOnInvalid.valid; + if (valid) { + item.start = start; + item.length = end - start; + stack.push(item); + last = end; + } + }); + return stack; + } + }, { + key: "callNoMatchOnInvalidRanges", + value: function callNoMatchOnInvalidRanges(range, last) { + var start = void 0, end = void 0, valid = false; + if (range && typeof range.start !== "undefined") { + start = parseInt(range.start, 10); + end = start + parseInt(range.length, 10); + if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) { + valid = true; + } else { + this.log("Ignoring invalid or overlapping range: " + ("" + JSON.stringify(range))); + this.opt.noMatch(range); + } + } else { + this.log("Ignoring invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "checkWhitespaceRanges", + value: function checkWhitespaceRanges(range, originalLength, string) { + var end = void 0, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset; + start = start > max ? max : start; + end = start + parseInt(range.length, 10); + if (end > max) { + end = max; + this.log("End range automatically set to the max value of " + max); + } + if (start < 0 || end - start < 0 || start > max || end > max) { + valid = false; + this.log("Invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } else if (string.substring(start, end).replace(/\s+/g, "") === "") { + valid = false; + this.log("Skipping whitespace only range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "getTextNodes", + value: function getTextNodes(cb) { + var _this4 = this; + var val = "", nodes = []; + this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) { + nodes.push({ + start: val.length, + end: (val += node.textContent).length, + node + }); + }, function(node) { + if (_this4.matchesExclude(node.parentNode)) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, function() { + cb({ + value: val, + nodes + }); + }); + } + }, { + key: "matchesExclude", + value: function matchesExclude(el) { + return DOMIterator.matches(el, this.opt.exclude.concat(["script", "style", "title", "head", "html"])); + } + }, { + key: "wrapRangeInTextNode", + value: function wrapRangeInTextNode(node, start, end) { + var hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start); + var repl = document.createElement(hEl); + repl.setAttribute("data-markjs", "true"); + if (this.opt.className) { + repl.setAttribute("class", this.opt.className); + } + repl.textContent = startNode.textContent; + startNode.parentNode.replaceChild(repl, startNode); + return ret; + } + }, { + key: "wrapRangeInMappedTextNode", + value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { + var _this5 = this; + dict.nodes.every(function(n, i) { + var sibl = dict.nodes[i + 1]; + if (typeof sibl === "undefined" || sibl.start > start) { + if (!filterCb(n.node)) { + return false; + } + var s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start); + n.node = _this5.wrapRangeInTextNode(n.node, s, e); + dict.value = startStr + endStr; + dict.nodes.forEach(function(k, j) { + if (j >= i) { + if (dict.nodes[j].start > 0 && j !== i) { + dict.nodes[j].start -= e; + } + dict.nodes[j].end -= e; + } + }); + end -= e; + eachCb(n.node.previousSibling, n.start); + if (end > n.end) { + start = n.end; + } else { + return false; + } + } + return true; + }); + } + }, { + key: "wrapMatches", + value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this6 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + dict.nodes.forEach(function(node) { + node = node.node; + var match = void 0; + while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") { + if (!filterCb(match[matchIdx], node)) { + continue; + } + var pos = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + pos += match[i].length; + } + } + node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length); + eachCb(node.previousSibling); + regex.lastIndex = 0; + } + }); + endCb(); + }); + } + }, { + key: "wrapMatchesAcrossElements", + value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this7 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + var match = void 0; + while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") { + var start = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + start += match[i].length; + } + } + var end = start + match[matchIdx].length; + _this7.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(match[matchIdx], node); + }, function(node, lastIndex) { + regex.lastIndex = lastIndex; + eachCb(node); + }); + } + endCb(); + }); + } + }, { + key: "wrapRangeFromIndex", + value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { + var _this8 = this; + this.getTextNodes(function(dict) { + var originalLength = dict.value.length; + ranges.forEach(function(range, counter) { + var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), start = _checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = _checkWhitespaceRange.valid; + if (valid) { + _this8.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(node, range, dict.value.substring(start, end), counter); + }, function(node) { + eachCb(node, range); + }); + } + }); + endCb(); + }); + } + }, { + key: "unwrapMatches", + value: function unwrapMatches(node) { + var parent = node.parentNode; + var docFrag = document.createDocumentFragment(); + while (node.firstChild) { + docFrag.appendChild(node.removeChild(node.firstChild)); + } + parent.replaceChild(docFrag, node); + if (!this.ie) { + parent.normalize(); + } else { + this.normalizeTextNode(parent); + } + } + }, { + key: "normalizeTextNode", + value: function normalizeTextNode(node) { + if (!node) { + return; + } + if (node.nodeType === 3) { + while (node.nextSibling && node.nextSibling.nodeType === 3) { + node.nodeValue += node.nextSibling.nodeValue; + node.parentNode.removeChild(node.nextSibling); + } + } else { + this.normalizeTextNode(node.firstChild); + } + this.normalizeTextNode(node.nextSibling); + } + }, { + key: "markRegExp", + value: function markRegExp(regexp, opt) { + var _this9 = this; + this.opt = opt; + this.log('Searching with expression "' + regexp + '"'); + var totalMatches = 0, fn = "wrapMatches"; + var eachCb = function eachCb2(element) { + totalMatches++; + _this9.opt.each(element); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + this[fn](regexp, this.opt.ignoreGroups, function(match, node) { + return _this9.opt.filter(node, match, totalMatches); + }, eachCb, function() { + if (totalMatches === 0) { + _this9.opt.noMatch(regexp); + } + _this9.opt.done(totalMatches); + }); + } + }, { + key: "mark", + value: function mark(sv, opt) { + var _this10 = this; + this.opt = opt; + var totalMatches = 0, fn = "wrapMatches"; + var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = _getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler = function handler2(kw) { + var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), matches = 0; + _this10.log('Searching with expression "' + regex + '"'); + _this10[fn](regex, 1, function(term, node) { + return _this10.opt.filter(node, kw, totalMatches, matches); + }, function(element) { + matches++; + totalMatches++; + _this10.opt.each(element); + }, function() { + if (matches === 0) { + _this10.opt.noMatch(kw); + } + if (kwArr[kwArrLen - 1] === kw) { + _this10.opt.done(totalMatches); + } else { + handler2(kwArr[kwArr.indexOf(kw) + 1]); + } + }); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + if (kwArrLen === 0) { + this.opt.done(totalMatches); + } else { + handler(kwArr[0]); + } + } + }, { + key: "markRanges", + value: function markRanges(rawRanges, opt) { + var _this11 = this; + this.opt = opt; + var totalMatches = 0, ranges = this.checkRanges(rawRanges); + if (ranges && ranges.length) { + this.log("Starting to mark with the following ranges: " + JSON.stringify(ranges)); + this.wrapRangeFromIndex(ranges, function(node, range, match, counter) { + return _this11.opt.filter(node, range, match, counter); + }, function(element, range) { + totalMatches++; + _this11.opt.each(element, range); + }, function() { + _this11.opt.done(totalMatches); + }); + } else { + this.opt.done(totalMatches); + } + } + }, { + key: "unmark", + value: function unmark(opt) { + var _this12 = this; + this.opt = opt; + var sel = this.opt.element ? this.opt.element : "*"; + sel += "[data-markjs]"; + if (this.opt.className) { + sel += "." + this.opt.className; + } + this.log('Removal selector "' + sel + '"'); + this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) { + _this12.unwrapMatches(node); + }, function(node) { + var matchesSel = DOMIterator.matches(node, sel), matchesExclude = _this12.matchesExclude(node); + if (!matchesSel || matchesExclude) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, this.opt.done); + } + }, { + key: "opt", + set: function set$$1(val) { + this._opt = _extends({}, { + "element": "", + "className": "", + "exclude": [], + "iframes": false, + "iframesTimeout": 5e3, + "separateWordSearch": true, + "diacritics": true, + "synonyms": {}, + "accuracy": "partially", + "acrossElements": false, + "caseSensitive": false, + "ignoreJoiners": false, + "ignoreGroups": 0, + "ignorePunctuation": [], + "wildcards": "disabled", + "each": function each() { + }, + "noMatch": function noMatch() { + }, + "filter": function filter() { + return true; + }, + "done": function done() { + }, + "debug": false, + "log": window.console + }, val); + }, + get: function get$$1() { + return this._opt; + } + }, { + key: "iterator", + get: function get$$1() { + return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout); + } + }]); + return Mark3; + })(); + function Mark2(ctx) { + var _this = this; + var instance = new Mark$1(ctx); + this.mark = function(sv, opt) { + instance.mark(sv, opt); + return _this; + }; + this.markRegExp = function(sv, opt) { + instance.markRegExp(sv, opt); + return _this; + }; + this.markRanges = function(sv, opt) { + instance.markRanges(sv, opt); + return _this; + }; + this.unmark = function(opt) { + instance.unmark(opt); + return _this; + }; + return this; + } + return Mark2; + })); + } +}); + +// lib/highlight.ts +var import_mark = __toESM(require_mark(), 1); +var PagefindHighlight = class { + constructor(options = { + markContext: null, + highlightParam: "pagefind-highlight", + markOptions: { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }, + addStyles: true + }) { + __publicField(this, "highlightParam"); + __publicField(this, "markContext"); + __publicField(this, "markOptions"); + __publicField(this, "addStyles"); + var _a, _b; + const { highlightParam, markContext, markOptions, addStyles } = options; + this.highlightParam = highlightParam ?? "pagefind-highlight"; + this.addStyles = addStyles ?? true; + this.markContext = markContext !== void 0 ? markContext : null; + this.markOptions = markOptions !== void 0 ? markOptions : { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }; + (_a = this.markOptions).className ?? (_a.className = "pagefind__highlight"); + (_b = this.markOptions).exclude ?? (_b.exclude = [ + "[data-pagefind-ignore]", + "[data-pagefind-ignore] *" + ]); + this.markOptions.separateWordSearch = false; + this.highlight(); + } + getHighlightParams(paramName) { + const urlParams = new URLSearchParams(window.location.search); + return urlParams.getAll(paramName); + } + // Inline styles might be too hard to override + addHighlightStyles(className) { + if (!className) return; + const styleElement = document.createElement("style"); + styleElement.innerText = `:where(.${className}) { background-color: yellow; color: black; }`; + document.head.appendChild(styleElement); + } + createMarkInstance() { + if (this.markContext) { + return new import_mark.default(this.markContext); + } + const pagefindBody = document.querySelectorAll("[data-pagefind-body]"); + if (pagefindBody.length !== 0) { + return new import_mark.default(pagefindBody); + } else { + return new import_mark.default(document.body); + } + } + markText(instance, text) { + instance.mark(text, this.markOptions); + } + highlight() { + const params = this.getHighlightParams(this.highlightParam); + if (!params || params.length === 0) return; + this.addStyles && this.addHighlightStyles(this.markOptions.className); + const markInstance = this.createMarkInstance(); + this.markText(markInstance, params); + } +}; +window.PagefindHighlight = PagefindHighlight; +export { + PagefindHighlight as default +}; +/*! Bundled license information: + +mark.js/dist/mark.js: + (*!*************************************************** + * mark.js v8.11.1 + * https://markjs.io/ + * Copyright (c) 2014–2018, Julian Kühnel + * Released under the MIT license https://git.io/vwTVl + *****************************************************) +*/ diff --git a/pagefind/pagefind-modular-ui.css b/pagefind/pagefind-modular-ui.css new file mode 100644 index 0000000..9c6793e --- /dev/null +++ b/pagefind/pagefind-modular-ui.css @@ -0,0 +1,214 @@ +:root { + --pagefind-ui-scale: 0.8; + --pagefind-ui-primary: #034AD8; + --pagefind-ui-fade: #707070; + --pagefind-ui-text: #393939; + --pagefind-ui-background: #ffffff; + --pagefind-ui-border: #eeeeee; + --pagefind-ui-tag: #eeeeee; + --pagefind-ui-border-width: 2px; + --pagefind-ui-border-radius: 8px; + --pagefind-ui-image-border-radius: 8px; + --pagefind-ui-image-box-ratio: 3 / 2; + --pagefind-ui-font: system, -apple-system, ".SFNSText-Regular", + "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", + "Lucida Grande", sans-serif; +} + +[data-pfmod-hidden] { + display: none !important; +} + +[data-pfmod-suppressed] { + opacity: 0 !important; + pointer-events: none !important; +} + +[data-pfmod-sr-hidden] { + -webkit-clip: rect(0 0 0 0) !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + height: 1px !important; + overflow: hidden !important; + overflow: clip !important; + position: absolute !important; + white-space: nowrap !important; + width: 1px !important; +} + +[data-pfmod-loading] { + color: var(--pagefind-ui-text); + background-color: var(--pagefind-ui-text); + border-radius: var(--pagefind-ui-border-radius); + opacity: 0.1; + pointer-events: none; +} + +/* Input */ + +.pagefind-modular-input-wrapper { + position: relative; +} + +.pagefind-modular-input-wrapper::before { + background-color: var(--pagefind-ui-text); + width: calc(18px * var(--pagefind-ui-scale)); + height: calc(18px * var(--pagefind-ui-scale)); + top: calc(23px * var(--pagefind-ui-scale)); + left: calc(20px * var(--pagefind-ui-scale)); + content: ""; + position: absolute; + display: block; + opacity: 0.7; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + -webkit-mask-size: 100%; + mask-size: 100%; + z-index: 9; + pointer-events: none; +} + +.pagefind-modular-input { + height: calc(64px * var(--pagefind-ui-scale)); + padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: var(--pagefind-ui-border-radius); + font-size: calc(21px * var(--pagefind-ui-scale)); + position: relative; + appearance: none; + -webkit-appearance: none; + display: flex; + width: 100%; + box-sizing: border-box; + font-weight: 700; +} + +.pagefind-modular-input::placeholder { + opacity: 0.2; +} + +.pagefind-modular-input-clear { + position: absolute; + top: calc(2px * var(--pagefind-ui-scale)); + right: calc(2px * var(--pagefind-ui-scale)); + height: calc(60px * var(--pagefind-ui-scale)); + border-radius: var(--pagefind-ui-border-radius); + padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale)); + color: var(--pagefind-ui-text); + font-size: calc(14px * var(--pagefind-ui-scale)); + cursor: pointer; + background-color: var(--pagefind-ui-background); + border: none; + appearance: none; +} + +/* ResultList */ + +.pagefind-modular-list-result { + list-style-type: none; + display: flex; + align-items: flex-start; + gap: min(calc(40px * var(--pagefind-ui-scale)), 3%); + padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale)); + border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-result:last-of-type { + border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-thumb { + width: min(30%, + calc((30% - (100px * var(--pagefind-ui-scale))) * 100000)); + max-width: calc(120px * var(--pagefind-ui-scale)); + margin-top: calc(10px * var(--pagefind-ui-scale)); + aspect-ratio: var(--pagefind-ui-image-box-ratio); + position: relative; +} + +.pagefind-modular-list-image { + display: block; + position: absolute; + left: 50%; + transform: translateX(-50%); + font-size: 0; + width: auto; + height: auto; + max-width: 100%; + max-height: 100%; + border-radius: var(--pagefind-ui-image-border-radius); +} + +.pagefind-modular-list-inner { + flex: 1; + display: flex; + flex-direction: column; + align-items: flex-start; + margin-top: calc(10px * var(--pagefind-ui-scale)); +} + +.pagefind-modular-list-title { + display: inline-block; + font-weight: 700; + font-size: calc(21px * var(--pagefind-ui-scale)); + margin-top: 0; + margin-bottom: 0; +} + +.pagefind-modular-list-link { + color: var(--pagefind-ui-text); + text-decoration: none; +} + +.pagefind-modular-list-link:hover { + text-decoration: underline; +} + +.pagefind-modular-list-excerpt { + display: inline-block; + font-weight: 400; + font-size: calc(16px * var(--pagefind-ui-scale)); + margin-top: calc(4px * var(--pagefind-ui-scale)); + margin-bottom: 0; + min-width: calc(250px * var(--pagefind-ui-scale)); +} + +/* FilterPills */ + +.pagefind-modular-filter-pills-wrapper { + overflow-x: scroll; + padding: 15px 0; +} + +.pagefind-modular-filter-pills { + display: flex; + gap: 6px; +} + +.pagefind-modular-filter-pill { + display: flex; + justify-content: center; + align-items: center; + border: none; + appearance: none; + padding: 0 calc(24px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + color: var(--pagefind-ui-fade); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: calc(25px * var(--pagefind-ui-scale)); + font-size: calc(18px * var(--pagefind-ui-scale)); + height: calc(50px * var(--pagefind-ui-scale)); + cursor: pointer; + white-space: nowrap; +} + +.pagefind-modular-filter-pill:hover { + border-color: var(--pagefind-ui-primary); +} + +.pagefind-modular-filter-pill[aria-pressed="true"] { + border-color: var(--pagefind-ui-primary); + color: var(--pagefind-ui-primary); +} \ No newline at end of file diff --git a/pagefind/pagefind-modular-ui.js b/pagefind/pagefind-modular-ui.js new file mode 100644 index 0000000..6caacd6 --- /dev/null +++ b/pagefind/pagefind-modular-ui.js @@ -0,0 +1,8 @@ +(()=>{var w=Object.defineProperty;var b=(i,e)=>{for(var t in e)w(i,t,{get:e[t],enumerable:!0})};var f={};b(f,{FilterPills:()=>c,Input:()=>a,Instance:()=>p,ResultList:()=>o,Summary:()=>h});var r=class i{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this.element.innerHTML=e,this}handle(e,t){return this.element.addEventListener(e,t),this}addTo(e){return e instanceof i?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};var T=async(i=100)=>new Promise(e=>setTimeout(e,i)),a=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}else if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",async t=>{if(this.instance&&typeof t?.target?.value=="string"){this.updateState(t.target.value);let s=++this.searchID;if(await T(this.debounceTimeoutMs),s!==this.searchID)return null;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";let s=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;let n=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});new r("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=new r("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),this.clearEl=new r("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(n),n.addTo(t)}}initExisting(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};var g=i=>{if(i instanceof Element)return[i];if(Array.isArray(i)&&i.every(e=>e instanceof Element))return i;if(typeof i=="string"||i instanceof String){let e=document.createElement("div");return e.innerHTML=i,[...e.childNodes]}else return console.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeof i}`),[]},v=()=>{let i=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`
  • +
    +
    +

    ${i(30)}

    +

    ${i(40)}

    +
    +
  • `},y=(i,e)=>{let t=new r("li").class("pagefind-modular-list-result");if(e){let l=new r("div").class("pagefind-modular-list-thumb").addTo(t);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(l)}let s=new r("div").class("pagefind-modular-list-inner").addTo(t),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),t.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},d=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.showImages=e.showImages,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result,this.showImages),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},o=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,this.showImages=e.showImages??!0,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new d({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl,showImages:this.showImages})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var h=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var c=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t})`:`${e}`}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,l)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(l[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,l)=>n[0].localeCompare(l[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var P=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1])}catch{u="/pagefind/"}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??u,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await P(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript?.src??"bad script location"}]`):console.error("no known script location")}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})(); diff --git a/pagefind/pagefind-ui.css b/pagefind/pagefind-ui.css new file mode 100644 index 0000000..c17a1d4 --- /dev/null +++ b/pagefind/pagefind-ui.css @@ -0,0 +1 @@ +.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"\2937 ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable=true]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)} diff --git a/pagefind/pagefind-ui.js b/pagefind/pagefind-ui.js new file mode 100644 index 0000000..6a8a4d7 --- /dev/null +++ b/pagefind/pagefind-ui.js @@ -0,0 +1,2 @@ +(()=>{var Os=Object.defineProperty;var x=(l,e)=>{for(var t in e)Os(l,t,{get:e[t],enumerable:!0})};function R(){}function Bt(l){return l()}function ct(){return Object.create(null)}function H(l){l.forEach(Bt)}function ut(l){return typeof l=="function"}function O(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}var ot;function ge(l,e){return l===e?!0:(ot||(ot=document.createElement("a")),ot.href=e,l===ot.href)}function Wl(l){return Object.keys(l).length===0}var ht=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var Ct=class l{_listeners="WeakMap"in ht?new WeakMap:void 0;_observer=void 0;options;constructor(e){this.options=e}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let t of e)l.entries.set(t.target,t),this._listeners.get(t.target)?.(t)}))}};Ct.entries="WeakMap"in ht?new WeakMap:void 0;var Sl=!1;function Vl(){Sl=!0}function Dl(){Sl=!1}function b(l,e){l.appendChild(e)}function h(l,e,t){l.insertBefore(e,t||null)}function B(l){l.parentNode&&l.parentNode.removeChild(l)}function $(l,e){for(let t=0;tl.removeEventListener(e,t,s)}function _(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function Tl(l){return Array.from(l.childNodes)}function W(l,e){e=""+e,l.data!==e&&(l.data=e)}function oe(l,e){l.value=e??""}function z(l,e,t){l.classList.toggle(e,!!t)}var It=class{is_svg=!1;e=void 0;n=void 0;t=void 0;a=void 0;constructor(e=!1){this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){this.e||(this.is_svg?this.e=Ps(t.nodeName):this.e=F(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(s)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;t{e[t.slot||"default"]=!0}),e}var te;function j(l){te=l}function Ut(){if(!te)throw new Error("Function called outside component initialization");return te}function xt(l){Ut().$$.on_mount.push(l)}function yt(l){Ut().$$.on_destroy.push(l)}var se=[];var Ce=[],ue=[],Gt=[],sa=Promise.resolve(),Nt=!1;function Ml(){Nt||(Nt=!0,sa.then(dt))}function Ae(l){ue.push(l)}function Yl(l){Gt.push(l)}var Zt=new Set,ce=0;function dt(){if(ce!==0)return;let l=te;do{try{for(;cel.indexOf(s)===-1?e.push(s):t.push(s)),t.forEach(s=>s()),ue=e}var At=new Set,ae;function re(){ae={r:0,c:[],p:ae}}function ie(){ae.r||H(ae.c),ae=ae.p}function k(l,e){l&&l.i&&(At.delete(l),l.i(e))}function D(l,e,t,s){if(l&&l.o){if(At.has(l))return;At.add(l),ae.c.push(()=>{At.delete(l),s&&(t&&l.d(1),s())}),l.o(e)}else s&&s()}function V(l){return l?.length!==void 0?l:Array.from(l)}function zl(l,e){D(l,1,1,()=>{e.delete(l.key)})}function Jl(l,e,t,s,a,r,i,n,g,C,u,A){let c=l.length,d=r.length,o=c,I={};for(;o--;)I[l[o].key]=o;let m=[],f=new Map,p=new Map,U=[];for(o=d;o--;){let N=A(a,r,o),S=t(N),E=i.get(S);E?s&&U.push(()=>E.p(N,e)):(E=C(S,N),E.c()),f.set(S,m[o]=E),S in I&&p.set(S,Math.abs(o-I[S]))}let y=new Set,q=new Set;function J(N){k(N,1),N.m(n,u),i.set(N.key,N),u=N.first,d--}for(;c&&d;){let N=m[d-1],S=l[c-1],E=N.key,v=S.key;N===S?(u=N.first,c--,d--):f.has(v)?!i.has(E)||y.has(E)?J(N):q.has(v)?c--:p.get(E)>p.get(v)?(q.add(E),J(N)):(y.add(v),c--):(g(S,i),c--)}for(;c--;){let N=l[c];f.has(N.key)||g(N,i)}for(;d;)J(m[d-1]);return H(U),m}var ra=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],ia=new Set([...ra]);function Ol(l,e,t){let s=l.$$.props[e];s!==void 0&&(l.$$.bound[s]=t,t(l.$$.ctx[s]))}function _t(l){l&&l.c()}function _e(l,e,t){let{fragment:s,after_update:a}=l.$$;s&&s.m(e,t),Ae(()=>{let r=l.$$.on_mount.map(Bt).filter(ut);l.$$.on_destroy?l.$$.on_destroy.push(...r):H(r),l.$$.on_mount=[]}),a.forEach(Ae)}function Qe(l,e){let t=l.$$;t.fragment!==null&&(wl(t.after_update),H(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function ga(l,e){l.$$.dirty[0]===-1&&(se.push(l),Ml(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{let o=d.length?d[0]:c;return C.ctx&&a(C.ctx[A],C.ctx[A]=o)&&(!C.skip_bound&&C.bound[A]&&C.bound[A](o),u&&ga(l,A)),c}):[],C.update(),u=!0,H(C.before_update),C.fragment=s?s(C.ctx):!1,e.target){if(e.hydrate){Vl();let A=Tl(e.target);C.fragment&&C.fragment.l(A),A.forEach(B)}else C.fragment&&C.fragment.c();e.intro&&k(l.$$.fragment),_e(l,e.target,e.anchor),Dl(),dt()}j(g)}var oa;typeof HTMLElement=="function"&&(oa=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;constructor(l,e,t){super(),this.$$ctor=l,this.$$s=e,t&&this.attachShadow({mode:"open"})}addEventListener(l,e,t){if(this.$$l[l]=this.$$l[l]||[],this.$$l[l].push(e),this.$$c){let s=this.$$c.$on(l,e);this.$$l_u.set(e,s)}super.addEventListener(l,e,t)}removeEventListener(l,e,t){if(super.removeEventListener(l,e,t),this.$$c){let s=this.$$l_u.get(e);s&&(s(),this.$$l_u.delete(e))}if(this.$$l[l]){let s=this.$$l[l].indexOf(e);s>=0&&this.$$l[l].splice(s,1)}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let l=function(a){return()=>{let r;return{c:function(){r=F("slot"),a!=="default"&&_(r,"name",a)},m:function(g,C){h(g,r,C)},d:function(g){g&&B(r)}}}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let e={},t=vl(this);for(let a of this.$$s)a in t&&(e[a]=[l(a)]);for(let a of this.attributes){let r=this.$$g_p(a.name);r in this.$$d||(this.$$d[r]=Xt(r,a.value,this.$$p_d,"toProp"))}for(let a in this.$$p_d)!(a in this.$$d)&&this[a]!==void 0&&(this.$$d[a]=this[a],delete this[a]);this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:e,$$scope:{ctx:[]}}});let s=()=>{this.$$r=!0;for(let a in this.$$p_d)if(this.$$d[a]=this.$$c.$$.ctx[this.$$c.$$.props[a]],this.$$p_d[a].reflect){let r=Xt(a,this.$$d[a],this.$$p_d,"toAttribute");r==null?this.removeAttribute(this.$$p_d[a].attribute||a):this.setAttribute(this.$$p_d[a].attribute||a,r)}this.$$r=!1};this.$$c.$$.after_update.push(s),s();for(let a in this.$$l)for(let r of this.$$l[a]){let i=this.$$c.$on(a,r);this.$$l_u.set(r,i)}this.$$l={}}}attributeChangedCallback(l,e,t){this.$$r||(l=this.$$g_p(l),this.$$d[l]=Xt(l,t,this.$$p_d,"toProp"),this.$$c?.$set({[l]:this.$$d[l]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(l){return Object.keys(this.$$p_d).find(e=>this.$$p_d[e].attribute===l||!this.$$p_d[e].attribute&&e.toLowerCase()===l)||l}});function Xt(l,e,t,s){let a=t[l]?.type;if(e=a==="Boolean"&&typeof e!="boolean"?e!=null:e,!s||!t[l])return e;if(s==="toAttribute")switch(a){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(a){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var M=class{$$=void 0;$$set=void 0;$destroy(){Qe(this,1),this.$destroy=R}$on(e,t){if(!ut(t))return R;let s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{let a=s.indexOf(t);a!==-1&&s.splice(a,1)}}$set(e){this.$$set&&!Wl(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add("4");function T(l){let e=typeof l=="string"?l.charCodeAt(0):l;return e>=97&&e<=122||e>=65&&e<=90}function le(l){let e=typeof l=="string"?l.charCodeAt(0):l;return e>=48&&e<=57}function P(l){return T(l)||le(l)}var jl=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var Et={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var ua={}.hasOwnProperty;function Qt(l,e={}){let t=Kl(),s=String(l),a=s.toLowerCase(),r=0;if(l==null)throw new Error("Expected string, got `"+l+"`");if(ua.call(Et,a)){let n=Et[a];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof n=="string"?Qt(n):(t[jl.includes(a)?"regular":"irregular"]=s,t)}for(;T(a.charCodeAt(r))&&r<9;)r++;if(r>1&&r<9){if(t.language=s.slice(0,r),r<4){let n=0;for(;a.charCodeAt(r)===45&&T(a.charCodeAt(r+1))&&T(a.charCodeAt(r+2))&&T(a.charCodeAt(r+3))&&!T(a.charCodeAt(r+4));){if(n>2)return i(r,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(s.slice(r+1,r+4)),r+=4,n++}}for(a.charCodeAt(r)===45&&T(a.charCodeAt(r+1))&&T(a.charCodeAt(r+2))&&T(a.charCodeAt(r+3))&&T(a.charCodeAt(r+4))&&!T(a.charCodeAt(r+5))&&(t.script=s.slice(r+1,r+5),r+=5),a.charCodeAt(r)===45&&(T(a.charCodeAt(r+1))&&T(a.charCodeAt(r+2))&&!T(a.charCodeAt(r+3))?(t.region=s.slice(r+1,r+3),r+=3):le(a.charCodeAt(r+1))&&le(a.charCodeAt(r+2))&&le(a.charCodeAt(r+3))&&!le(a.charCodeAt(r+4))&&(t.region=s.slice(r+1,r+4),r+=4));a.charCodeAt(r)===45;){let n=r+1,g=n;for(;P(a.charCodeAt(g));){if(g-n>7)return i(g,1,"Too long variant, expected at most 8 characters");g++}if(g-n>4||g-n>3&&le(a.charCodeAt(n)))t.variants.push(s.slice(n,g)),r=g;else break}for(;a.charCodeAt(r)===45&&!(a.charCodeAt(r+1)===120||!P(a.charCodeAt(r+1))||a.charCodeAt(r+2)!==45||!P(a.charCodeAt(r+3)));){let n=r+2,g=0;for(;a.charCodeAt(n)===45&&P(a.charCodeAt(n+1))&&P(a.charCodeAt(n+2));){let C=n+1;for(n=C+2,g++;P(a.charCodeAt(n));){if(n-C>7)return i(n,2,"Too long extension, expected at most 8 characters");n++}}if(!g)return i(n,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:s.charAt(r+1),extensions:s.slice(r+3,n).split("-")}),r=n}}else r=0;if(r===0&&a.charCodeAt(r)===120||a.charCodeAt(r)===45&&a.charCodeAt(r+1)===120){r=r?r+2:1;let n=r;for(;a.charCodeAt(n)===45&&P(a.charCodeAt(n+1));){let g=r+1;for(n=g;P(a.charCodeAt(n));){if(n-g>7)return i(n,5,"Too long private-use area, expected at most 8 characters");n++}t.privateuse.push(s.slice(r+1,n)),r=n}}if(r!==s.length)return i(r,6,"Found superfluous content after tag");return t;function i(n,g,C){return e.warning&&e.warning(C,g,n),e.forgiving?t:Kl()}}function Kl(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Pl(l,e,t){let s=l.slice();return s[9]=e[t][0],s[10]=e[t][1],s}function Ca(l){let e,t,s,a,r,i=l[0]&&ql(l);return{c(){i&&i.c(),e=Z(),t=F("div"),s=F("p"),s.textContent=`${l[3](30)}`,a=Z(),r=F("p"),r.textContent=`${l[3](40)}`,_(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),_(r,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),_(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(n,g){i&&i.m(n,g),h(n,e,g),h(n,t,g),b(t,s),b(t,a),b(t,r)},p(n,g){n[0]?i||(i=ql(n),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(n){n&&(B(e),B(t)),i&&i.d(n)}}}function Ia(l){let e,t,s,a,r=l[1].meta?.title+"",i,n,g,C,u=l[1].excerpt+"",A,c=l[0]&&$l(l),d=l[2].length&&ts(l);return{c(){c&&c.c(),e=Z(),t=F("div"),s=F("p"),a=F("a"),i=G(r),g=Z(),C=F("p"),A=Z(),d&&d.c(),_(a,"class","pagefind-ui__result-link svelte-j9e30"),_(a,"href",n=l[1].meta?.url||l[1].url),_(s,"class","pagefind-ui__result-title svelte-j9e30"),_(C,"class","pagefind-ui__result-excerpt svelte-j9e30"),_(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(o,I){c&&c.m(o,I),h(o,e,I),h(o,t,I),b(t,s),b(s,a),b(a,i),b(t,g),b(t,C),C.innerHTML=u,b(t,A),d&&d.m(t,null)},p(o,I){o[0]?c?c.p(o,I):(c=$l(o),c.c(),c.m(e.parentNode,e)):c&&(c.d(1),c=null),I&2&&r!==(r=o[1].meta?.title+"")&&W(i,r),I&2&&n!==(n=o[1].meta?.url||o[1].url)&&_(a,"href",n),I&2&&u!==(u=o[1].excerpt+"")&&(C.innerHTML=u),o[2].length?d?d.p(o,I):(d=ts(o),d.c(),d.m(t,null)):d&&(d.d(1),d=null)},d(o){o&&(B(e),B(t)),c&&c.d(o),d&&d.d()}}}function ql(l){let e;return{c(){e=F("div"),_(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,s){h(t,e,s)},d(t){t&&B(e)}}}function $l(l){let e,t=l[1].meta.image&&es(l);return{c(){e=F("div"),t&&t.c(),_(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(s,a){h(s,e,a),t&&t.m(e,null)},p(s,a){s[1].meta.image?t?t.p(s,a):(t=es(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&B(e),t&&t.d()}}}function es(l){let e,t,s;return{c(){e=F("img"),_(e,"class","pagefind-ui__result-image svelte-j9e30"),ge(e.src,t=l[1].meta?.image)||_(e,"src",t),_(e,"alt",s=l[1].meta?.image_alt||l[1].meta?.title)},m(a,r){h(a,e,r)},p(a,r){r&2&&!ge(e.src,t=a[1].meta?.image)&&_(e,"src",t),r&2&&s!==(s=a[1].meta?.image_alt||a[1].meta?.title)&&_(e,"alt",s)},d(a){a&&B(e)}}}function ts(l){let e,t=V(l[2]),s=[];for(let a=0;al.toLocaleUpperCase();function Aa(l,e,t){let{show_images:s=!0}=e,{process_result:a=null}=e,{result:r={data:async()=>{}}}=e,i=["title","image","image_alt","url"],n,g=[],C=(c,d)=>{if(!c||/^[a-z][a-z0-9+.-]*:/i.test(c)||/^\/\//.test(c)||c.startsWith("/"))return c;try{return new URL(c,new URL(d||"/","https://p")).pathname}catch{return c}},u=async c=>{t(1,n=await c.data()),t(1,n=a?.(n)??n),n.meta?.image&&t(1,n={...n,meta:{...n.meta,image:C(n.meta.image,n.meta.url||n.url)}}),t(2,g=Object.entries(n.meta).filter(([d])=>!i.includes(d)))},A=(c=30)=>". ".repeat(Math.floor(10+Math.random()*c));return l.$$set=c=>{"show_images"in c&&t(0,s=c.show_images),"process_result"in c&&t(4,a=c.process_result),"result"in c&&t(5,r=c.result)},l.$$.update=()=>{l.$$.dirty&32&&u(r)},[s,n,g,A,a,r]}var kt=class extends M{constructor(e){super(),K(this,e,Aa,da,O,{show_images:0,process_result:4,result:5})}},as=kt;function rs(l,e,t){let s=l.slice();return s[11]=e[t][0],s[12]=e[t][1],s}function is(l,e,t){let s=l.slice();return s[15]=e[t],s}function _a(l){let e,t,s,a,r,i=l[0]&&ns(l);return{c(){i&&i.c(),e=Z(),t=F("div"),s=F("p"),s.textContent=`${l[5](30)}`,a=Z(),r=F("p"),r.textContent=`${l[5](40)}`,_(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),_(r,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),_(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(n,g){i&&i.m(n,g),h(n,e,g),h(n,t,g),b(t,s),b(t,a),b(t,r)},p(n,g){n[0]?i||(i=ns(n),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(n){n&&(B(e),B(t)),i&&i.d(n)}}}function Qa(l){let e,t,s,a,r=l[1].meta?.title+"",i,n,g,C,u,A=l[0]&&gs(l),c=l[4]&&cs(l),d=V(l[3]),o=[];for(let m=0;ml.toLocaleUpperCase();function ba(l,e,t){let{show_images:s=!0}=e,{process_result:a=null}=e,{result:r={data:async()=>{}}}=e,i=["title","image","image_alt","url"],n,g=[],C=[],u=!1,A=(o,I)=>{if(o.length<=I)return o;let m=[...o].sort((f,p)=>p.locations.length-f.locations.length).slice(0,3).map(f=>f.url);return o.filter(f=>m.includes(f.url))},c=async o=>{t(1,n=await o.data()),t(1,n=a?.(n)??n),t(2,g=Object.entries(n.meta).filter(([I])=>!i.includes(I))),Array.isArray(n.sub_results)&&(t(4,u=n.sub_results?.[0]?.url===(n.meta?.url||n.url)),u?t(3,C=A(n.sub_results.slice(1),3)):t(3,C=A([...n.sub_results],3)))},d=(o=30)=>". ".repeat(Math.floor(10+Math.random()*o));return l.$$set=o=>{"show_images"in o&&t(0,s=o.show_images),"process_result"in o&&t(6,a=o.process_result),"result"in o&&t(7,r=o.result)},l.$$.update=()=>{l.$$.dirty&128&&c(r)},[s,n,g,C,u,d,a,r]}var Lt=class extends M{constructor(e){super(),K(this,e,ba,ma,O,{show_images:0,process_result:6,result:7})}},As=Lt;function _s(l,e,t){let s=l.slice();return s[10]=e[t][0],s[11]=e[t][1],s[12]=e,s[13]=t,s}function Qs(l,e,t){let s=l.slice();return s[14]=e[t][0],s[15]=e[t][1],s[16]=e,s[17]=t,s}function ms(l){let e,t,s=l[4]("filters_label",l[5],l[6])+"",a,r,i=V(Object.entries(l[1])),n=[];for(let g=0;gl.toLocaleUpperCase(),Bs=l=>l.toLowerCase();function Fa(l,e,t){let{available_filters:s=null}=e,{show_empty_filters:a=!0}=e,{open_filters:r=[]}=e,{translate:i=()=>""}=e,{automatic_translations:n={}}=e,{translations:g={}}=e,{selected_filters:C={}}=e,u=!1,A=!1;function c(d,o){C[`${d}:${o}`]=this.checked,t(0,C)}return l.$$set=d=>{"available_filters"in d&&t(1,s=d.available_filters),"show_empty_filters"in d&&t(2,a=d.show_empty_filters),"open_filters"in d&&t(3,r=d.open_filters),"translate"in d&&t(4,i=d.translate),"automatic_translations"in d&&t(5,n=d.automatic_translations),"translations"in d&&t(6,g=d.translations),"selected_filters"in d&&t(0,C=d.selected_filters)},l.$$.update=()=>{if(l.$$.dirty&258&&s&&!u){t(8,u=!0);let d=Object.entries(s||{});d.length===1&&Object.entries(d[0][1])?.length<=6&&t(7,A=!0)}},[C,s,a,r,i,n,g,A,u,c]}var Rt=class extends M{constructor(e){super(),K(this,e,Fa,fa,O,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},hs=Rt;var Wt={};x(Wt,{comments:()=>Ba,default:()=>xa,direction:()=>ha,strings:()=>Ua,thanks_to:()=>pa});var pa="Jan Claasen ",Ba="",ha="ltr",Ua={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",total_zero_results:"Geen resultate",total_one_result:"[COUNT] resultaat",total_many_results:"[COUNT] resultate",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]",results_label:"Soekresultate",keyboard_navigate:"navigeer",keyboard_select:"kies",keyboard_clear:"wis",keyboard_close:"sluit",keyboard_search:"soek",error_search:"Soek het misluk",filter_selected_one:"[COUNT] gekies",filter_selected_many:"[COUNT] gekies",input_hint:"Resultate sal verskyn terwyl jy tik",loading:"Laai"},xa={thanks_to:pa,comments:Ba,direction:ha,strings:Ua};var St={};x(St,{comments:()=>Za,default:()=>Xa,direction:()=>Ga,strings:()=>Na,thanks_to:()=>ya});var ya="Jermanuts",Za="",Ga="rtl",Na={placeholder:"\u0628\u062D\u062B",clear_search:"\u0627\u0645\u0633\u062D",load_more:"\u062D\u0645\u0651\u0650\u0644 \u0627\u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",search_label:"\u0627\u0628\u062D\u062B \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639",filters_label:"\u062A\u0635\u0641\u064A\u0627\u062A",zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629 \u0644 [SEARCH_TERM]",total_zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",total_one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629",total_many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C",alt_search:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u064A\u0639\u0631\u0636 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0644 [DIFFERENT_TERM] \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643",search_suggestion:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u062C\u0631\u0628 \u0623\u062D\u062F \u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0628\u062D\u062B \u0627\u0644\u062A\u0627\u0644\u064A\u0629:",searching:"\u064A\u0628\u062D\u062B \u0639\u0646 [SEARCH_TERM]...",results_label:"\u0646\u062A\u0627\u0626\u062C \u0627\u0644\u0628\u062D\u062B",keyboard_navigate:"\u062A\u0646\u0642\u0644",keyboard_select:"\u0627\u062E\u062A\u064A\u0627\u0631",keyboard_clear:"\u0627\u0645\u0633\u062D",keyboard_close:"\u0625\u063A\u0644\u0627\u0642",keyboard_search:"\u0628\u062D\u062B",error_search:"\u0641\u0634\u0644 \u0627\u0644\u0628\u062D\u062B",filter_selected_one:"[COUNT] \u0645\u062D\u062F\u062F",filter_selected_many:"[COUNT] \u0645\u062D\u062F\u062F",input_hint:"\u0633\u062A\u0638\u0647\u0631 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u0643\u062A\u0627\u0628\u0629",loading:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},Xa={thanks_to:ya,comments:Za,direction:Ga,strings:Na};var Vt={};x(Vt,{comments:()=>ka,default:()=>Wa,direction:()=>La,strings:()=>Ra,thanks_to:()=>Ea});var Ea="Maruf Alom ",ka="",La="ltr",Ra={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09AF\u09BC\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u0997\u09BF\u09AF\u09BC\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u0997\u09BF\u09AF\u09BC\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",total_zero_results:"\u0995\u09CB\u09A8 \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A8\u09C7\u0987",total_one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2",total_many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09AF\u09BC\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09AF\u09BC\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]...",results_label:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8\u09C7\u09B0 \u09AB\u09B2\u09BE\u09AB\u09B2",keyboard_navigate:"\u09A8\u09C7\u09AD\u09BF\u0997\u09C7\u099F",keyboard_select:"\u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09A8",keyboard_clear:"\u09AE\u09C1\u099B\u09C1\u09A8",keyboard_close:"\u09AC\u09A8\u09CD\u09A7",keyboard_search:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8",error_search:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u09AC\u09CD\u09AF\u09B0\u09CD\u09A5",filter_selected_one:"[COUNT]-\u099F\u09BF \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4",filter_selected_many:"[COUNT]-\u099F\u09BF \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4",input_hint:"\u099F\u09BE\u0987\u09AA \u0995\u09B0\u09BE\u09B0 \u09B8\u09BE\u09A5\u09C7 \u09B8\u09BE\u09A5\u09C7 \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09BE \u09AF\u09BE\u09AC\u09C7",loading:"\u09B2\u09CB\u09A1 \u09B9\u099A\u09CD\u099B\u09C7"},Wa={thanks_to:Ea,comments:ka,direction:La,strings:Ra};var Dt={};x(Dt,{comments:()=>Va,default:()=>va,direction:()=>Da,strings:()=>Ta,thanks_to:()=>Sa});var Sa="Pablo Villaverde ",Va="",Da="ltr",Ta={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9s resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",total_zero_results:"Sense resultats",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultats",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]...",results_label:"Resultats de la cerca",keyboard_navigate:"navegar",keyboard_select:"triar",keyboard_clear:"netejar",keyboard_close:"tancar",keyboard_search:"cercar",error_search:"Error en la cerca",filter_selected_one:"[COUNT] seleccionat",filter_selected_many:"[COUNT] seleccionats",input_hint:"Els resultats apareixeran mentre escriviu",loading:"Carregant"},va={thanks_to:Sa,comments:Va,direction:Da,strings:Ta};var Tt={};x(Tt,{comments:()=>Ma,default:()=>za,direction:()=>Ya,strings:()=>wa,thanks_to:()=>Ha});var Ha="Dalibor Hon ",Ma="",Ya="ltr",wa={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",total_zero_results:"\u017D\xE1dn\xE9 v\xFDsledky",total_one_result:"[COUNT] v\xFDsledek",total_many_results:"[COUNT] v\xFDsledk\u016F",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]...",results_label:"V\xFDsledky hled\xE1n\xED",keyboard_navigate:"navigovat",keyboard_select:"vybrat",keyboard_clear:"smazat",keyboard_close:"zav\u0159\xEDt",keyboard_search:"hledat",error_search:"Hled\xE1n\xED selhalo",filter_selected_one:"[COUNT] vybran\xFD",filter_selected_many:"[COUNT] vybran\xFDch",input_hint:"V\xFDsledky se zobraz\xED b\u011Bhem psan\xED",loading:"Na\u010D\xEDt\xE1n\xED"},za={thanks_to:Ha,comments:Ma,direction:Ya,strings:wa};var vt={};x(vt,{comments:()=>Oa,default:()=>Pa,direction:()=>ja,strings:()=>Ka,thanks_to:()=>Ja});var Ja="Jonas Smedegaard ",Oa="",ja="ltr",Ka={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]...",results_label:"S\xF8geresultater",keyboard_navigate:"naviger",keyboard_select:"v\xE6lg",keyboard_clear:"ryd",keyboard_close:"luk",keyboard_search:"s\xF8g",error_search:"S\xF8gning mislykkedes",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Indl\xE6ser"},Pa={thanks_to:Ja,comments:Oa,direction:ja,strings:Ka};var Ht={};x(Ht,{comments:()=>$a,default:()=>lr,direction:()=>er,strings:()=>tr,thanks_to:()=>qa});var qa="Jan Claasen ",$a="",er="ltr",tr={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",total_zero_results:"Keine Ergebnisse",total_one_result:"[COUNT] Ergebnis",total_many_results:"[COUNT] Ergebnisse",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche nach [SEARCH_TERM]\u202F\u2026",results_label:"Suchergebnisse",keyboard_navigate:"navigieren",keyboard_select:"ausw\xE4hlen",keyboard_clear:"l\xF6schen",keyboard_close:"schlie\xDFen",keyboard_search:"suchen",error_search:"Suche fehlgeschlagen",filter_selected_one:"[COUNT] ausgew\xE4hlt",filter_selected_many:"[COUNT] ausgew\xE4hlt",input_hint:"Ergebnisse werden w\xE4hrend der Eingabe angezeigt",loading:"Wird geladen"},lr={thanks_to:qa,comments:$a,direction:er,strings:tr};var Mt={};x(Mt,{comments:()=>ar,default:()=>nr,direction:()=>rr,strings:()=>ir,thanks_to:()=>sr});var sr="George Papadopoulos",ar="",rr="ltr",ir={placeholder:"\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7",clear_search:"\u039A\u03B1\u03B8\u03B1\u03C1\u03B9\u03C3\u03BC\u03CC\u03C2",load_more:"\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7 \u03C0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03C9\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03B5\u03C3\u03BC\u03AC\u03C4\u03C9\u03BD",search_label:"\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7 \u03C3\u03B5 \u03B1\u03C5\u03C4\u03CC\u03BD \u03C4\u03BF\u03BD \u03B9\u03C3\u03C4\u03CC\u03C4\u03BF\u03C0\u03BF",filters_label:"\u03A6\u03AF\u03BB\u03C4\u03C1\u03B1",zero_results:"\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]",many_results:"[COUNT] \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]",one_result:"[COUNT] \u03B1\u03C0\u03BF\u03C4\u03AD\u03BB\u03B5\u03C3\u03BC\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]",total_zero_results:"\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1",total_one_result:"[COUNT] \u03B1\u03C0\u03BF\u03C4\u03AD\u03BB\u03B5\u03C3\u03BC\u03B1",total_many_results:"[COUNT] \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1",alt_search:"\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]. \u0395\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [DIFFERENT_TERM]",search_suggestion:"\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B3\u03B9\u03B1 [SEARCH_TERM]. \u0394\u03BF\u03BA\u03B9\u03BC\u03AC\u03C3\u03C4\u03B5 \u03BC\u03AF\u03B1 \u03B1\u03C0\u03CC \u03C4\u03B9\u03C2 \u03C0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03B1\u03BD\u03B1\u03B6\u03B7\u03C4\u03AE\u03C3\u03B5\u03B9\u03C2:",searching:"\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7 \u03B3\u03B9\u03B1 [SEARCH_TERM]...",results_label:"\u0391\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B1\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7\u03C2",keyboard_navigate:"\u03C0\u03BB\u03BF\u03AE\u03B3\u03B7\u03C3\u03B7",keyboard_select:"\u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE",keyboard_clear:"\u03BA\u03B1\u03B8\u03B1\u03C1\u03B9\u03C3\u03BC\u03CC\u03C2",keyboard_close:"\u03BA\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",keyboard_search:"\u03B1\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7",error_search:"\u0397 \u03B1\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7 \u03B1\u03C0\u03AD\u03C4\u03C5\u03C7\u03B5",filter_selected_one:"[COUNT] \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03BF",filter_selected_many:"[COUNT] \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03B1",input_hint:"\u03A4\u03B1 \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03BA\u03B1\u03B8\u03CE\u03C2 \u03C0\u03BB\u03B7\u03BA\u03C4\u03C1\u03BF\u03BB\u03BF\u03B3\u03B5\u03AF\u03C4\u03B5",loading:"\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7"},nr={thanks_to:sr,comments:ar,direction:rr,strings:ir};var Yt={};x(Yt,{comments:()=>or,default:()=>Cr,direction:()=>cr,strings:()=>ur,thanks_to:()=>gr});var gr="Liam Bigelow ",or="",cr="ltr",ur={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",total_zero_results:"No results",total_one_result:"[COUNT] result",total_many_results:"[COUNT] results",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]...",results_label:"Search results",keyboard_navigate:"navigate",keyboard_select:"select",keyboard_clear:"clear",keyboard_close:"close",keyboard_search:"search",error_search:"Search failed",filter_selected_one:"[COUNT] selected",filter_selected_many:"[COUNT] selected",input_hint:"Results will appear as you type",loading:"Loading"},Cr={thanks_to:gr,comments:or,direction:cr,strings:ur};var wt={};x(wt,{comments:()=>dr,default:()=>Qr,direction:()=>Ar,strings:()=>_r,thanks_to:()=>Ir});var Ir="Pablo Villaverde ",dr="",Ar="ltr",_r={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",total_zero_results:"Sin resultados",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]...",results_label:"Resultados de b\xFAsqueda",keyboard_navigate:"navegar",keyboard_select:"elegir",keyboard_clear:"limpiar",keyboard_close:"cerrar",keyboard_search:"buscar",error_search:"Error en la b\xFAsqueda",filter_selected_one:"[COUNT] seleccionado",filter_selected_many:"[COUNT] seleccionados",input_hint:"Los resultados aparecer\xE1n mientras escribe",loading:"Cargando"},Qr={thanks_to:Ir,comments:dr,direction:Ar,strings:_r};var zt={};x(zt,{comments:()=>br,default:()=>pr,direction:()=>fr,strings:()=>Fr,thanks_to:()=>mr});var mr="Mikel Larreategi ",br="",fr="ltr",Fr={placeholder:"Bilatu",clear_search:"Garbitu",load_more:"Kargatu emaitza gehiagi",search_label:"Bilatu",filters_label:"Iragazkiak",zero_results:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat",many_results:"[COUNT] emaitza [SEARCH_TERM] bilaketarentzat",one_result:"Emaitza bat [COUNT] [SEARCH_TERM] bilaketarentzat",total_zero_results:"Emaitzarik ez",total_one_result:"[COUNT] emaitza",total_many_results:"[COUNT] emaitza",alt_search:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. [DIFFERENT_TERM] bilaketaren emaitzak erakusten",search_suggestion:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. Saiatu hauetako beste bateikin:",searching:"[SEARCH_TERM] bilatzen...",results_label:"Bilaketaren emaitzak",keyboard_navigate:"nabigatu",keyboard_select:"hautatu",keyboard_clear:"garbitu",keyboard_close:"itxi",keyboard_search:"bilatu",error_search:"Bilaketak huts egin du",filter_selected_one:"[COUNT] hautatuta",filter_selected_many:"[COUNT] hautatuta",input_hint:"Emaitzak idatzi ahala agertuko dira",loading:"Kargatzen"},pr={thanks_to:mr,comments:br,direction:fr,strings:Fr};var Jt={};x(Jt,{comments:()=>hr,default:()=>yr,direction:()=>Ur,strings:()=>xr,thanks_to:()=>Br});var Br="Ali Khaleqi Yekta ",hr="",Ur="rtl",xr={placeholder:"\u062C\u0633\u062A\u062C\u0648",clear_search:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",load_more:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0646\u062A\u0627\u06CC\u062C \u0628\u06CC\u0634\u062A\u0631",search_label:"\u062C\u0633\u062A\u062C\u0648 \u062F\u0631 \u0633\u0627\u06CC\u062A",filters_label:"\u0641\u06CC\u0644\u062A\u0631\u0647\u0627",zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",total_zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",total_one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647",total_many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647",alt_search:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u062F\u0631 \u0639\u0648\u0636 \u0646\u062A\u0627\u06CC\u062C \u0628\u0631\u0627\u06CC [DIFFERENT_TERM] \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F",search_suggestion:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u062C\u0633\u062A\u062C\u0648\u0647\u0627\u06CC \u0632\u06CC\u0631 \u0631\u0627 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F:",searching:"\u062F\u0631 \u062D\u0627\u0644 \u062C\u0633\u062A\u062C\u0648\u06CC [SEARCH_TERM]...",results_label:"\u0646\u062A\u0627\u06CC\u062C \u062C\u0633\u062A\u062C\u0648",keyboard_navigate:"\u067E\u06CC\u0645\u0627\u06CC\u0634",keyboard_select:"\u0627\u0646\u062A\u062E\u0627\u0628",keyboard_clear:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",keyboard_close:"\u0628\u0633\u062A\u0646",keyboard_search:"\u062C\u0633\u062A\u062C\u0648",error_search:"\u062C\u0633\u062A\u062C\u0648 \u0646\u0627\u0645\u0648\u0641\u0642 \u0628\u0648\u062F",filter_selected_one:"[COUNT] \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647",filter_selected_many:"[COUNT] \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647",input_hint:"\u0646\u062A\u0627\u06CC\u062C \u0647\u0646\u06AF\u0627\u0645 \u062A\u0627\u06CC\u067E \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F",loading:"\u062F\u0631 \u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC"},yr={thanks_to:Br,comments:hr,direction:Ur,strings:xr};var Ot={};x(Ot,{comments:()=>Gr,default:()=>Er,direction:()=>Nr,strings:()=>Xr,thanks_to:()=>Zr});var Zr="Valtteri Laitinen ",Gr="",Nr="ltr",Xr={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",total_zero_results:"Ei tuloksia",total_one_result:"[COUNT] tulos",total_many_results:"[COUNT] tulosta",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]...",results_label:"Hakutulokset",keyboard_navigate:"siirry",keyboard_select:"valitse",keyboard_clear:"tyhjenn\xE4",keyboard_close:"sulje",keyboard_search:"hae",error_search:"Haku ep\xE4onnistui",filter_selected_one:"[COUNT] valittu",filter_selected_many:"[COUNT] valittu",input_hint:"Tulokset n\xE4kyv\xE4t kirjoittaessasi",loading:"Ladataan"},Er={thanks_to:Zr,comments:Gr,direction:Nr,strings:Xr};var jt={};x(jt,{comments:()=>Lr,default:()=>Sr,direction:()=>Rr,strings:()=>Wr,thanks_to:()=>kr});var kr="Nicolas Friedli ",Lr="",Rr="ltr",Wr={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",total_zero_results:"Pas de r\xE9sultat",total_one_result:"[COUNT] r\xE9sultat",total_many_results:"[COUNT] r\xE9sultats",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]...",results_label:"R\xE9sultats de recherche",keyboard_navigate:"naviguer",keyboard_select:"choisir",keyboard_clear:"effacer",keyboard_close:"fermer",keyboard_search:"rechercher",error_search:"\xC9chec de la recherche",filter_selected_one:"[COUNT] s\xE9lectionn\xE9",filter_selected_many:"[COUNT] s\xE9lectionn\xE9s",input_hint:"Les r\xE9sultats appara\xEEtront au fur et \xE0 mesure de la saisie",loading:"Chargement"},Sr={thanks_to:kr,comments:Lr,direction:Rr,strings:Wr};var Kt={};x(Kt,{comments:()=>Dr,default:()=>Hr,direction:()=>Tr,strings:()=>vr,thanks_to:()=>Vr});var Vr="Pablo Villaverde ",Dr="",Tr="ltr",vr={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",total_zero_results:"Sen resultados",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]...",results_label:"Resultados da busca",keyboard_navigate:"navegar",keyboard_select:"escoller",keyboard_clear:"limpar",keyboard_close:"pechar",keyboard_search:"buscar",error_search:"Erro na busca",filter_selected_one:"[COUNT] seleccionado",filter_selected_many:"[COUNT] seleccionados",input_hint:"Os resultados aparecer\xE1n mentres escribe",loading:"Cargando"},Hr={thanks_to:Vr,comments:Dr,direction:Tr,strings:vr};var Pt={};x(Pt,{comments:()=>Yr,default:()=>Jr,direction:()=>wr,strings:()=>zr,thanks_to:()=>Mr});var Mr="Nir Tamir ",Yr="",wr="rtl",zr={placeholder:"\u05D7\u05D9\u05E4\u05D5\u05E9",clear_search:"\u05E0\u05D9\u05E7\u05D5\u05D9",load_more:"\u05E2\u05D5\u05D3 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",search_label:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D6\u05D4",filters_label:"\u05DE\u05E1\u05E0\u05E0\u05D9\u05DD",zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",many_results:"\u05E0\u05DE\u05E6\u05D0\u05D5 [COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",one_result:"\u05E0\u05DE\u05E6\u05D0\u05D4 \u05EA\u05D5\u05E6\u05D0\u05D4 \u05D0\u05D7\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",total_zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",total_one_result:"\u05EA\u05D5\u05E6\u05D0\u05D4 [COUNT]",total_many_results:"[COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",alt_search:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [DIFFERENT_TERM]",search_suggestion:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05E0\u05E1\u05D5 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9\u05D9\u05DD \u05D4\u05D1\u05D0\u05D9\u05DD:",searching:"\u05DE\u05D7\u05E4\u05E9 \u05D0\u05EA [SEARCH_TERM]...",results_label:"\u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05D7\u05D9\u05E4\u05D5\u05E9",keyboard_navigate:"\u05E0\u05D9\u05D5\u05D5\u05D8",keyboard_select:"\u05D1\u05D7\u05D9\u05E8\u05D4",keyboard_clear:"\u05E0\u05D9\u05E7\u05D5\u05D9",keyboard_close:"\u05E1\u05D2\u05D9\u05E8\u05D4",keyboard_search:"\u05D7\u05D9\u05E4\u05D5\u05E9",error_search:"\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9 \u05E0\u05DB\u05E9\u05DC",filter_selected_one:"[COUNT] \u05E0\u05D1\u05D7\u05E8",filter_selected_many:"[COUNT] \u05E0\u05D1\u05D7\u05E8\u05D5",input_hint:"\u05D4\u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05D9\u05D5\u05E4\u05D9\u05E2\u05D5 \u05EA\u05D5\u05DA \u05DB\u05D3\u05D9 \u05D4\u05E7\u05DC\u05D3\u05D4",loading:"\u05D8\u05D5\u05E2\u05DF"},Jr={thanks_to:Mr,comments:Yr,direction:wr,strings:zr};var qt={};x(qt,{comments:()=>jr,default:()=>qr,direction:()=>Kr,strings:()=>Pr,thanks_to:()=>Or});var Or="Amit Yadav ",jr="",Kr="ltr",Pr={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",total_zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902",total_one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E",total_many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948...",results_label:"\u0916\u094B\u091C \u092A\u0930\u093F\u0923\u093E\u092E",keyboard_navigate:"\u0928\u0947\u0935\u093F\u0917\u0947\u091F",keyboard_select:"\u091A\u0941\u0928\u0947\u0902",keyboard_clear:"\u0938\u093E\u092B\u093C \u0915\u0930\u0947\u0902",keyboard_close:"\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",keyboard_search:"\u0916\u094B\u091C\u0947\u0902",error_search:"\u0916\u094B\u091C \u0935\u093F\u092B\u0932",filter_selected_one:"[COUNT] \u091A\u092F\u0928\u093F\u0924",filter_selected_many:"[COUNT] \u091A\u092F\u0928\u093F\u0924",input_hint:"\u091F\u093E\u0907\u092A \u0915\u0930\u0924\u0947 \u0938\u092E\u092F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E\u0908 \u0926\u0947\u0902\u0917\u0947",loading:"\u0932\u094B\u0921 \u0939\u094B \u0930\u0939\u093E \u0939\u0948"},qr={thanks_to:Or,comments:jr,direction:Kr,strings:Pr};var $t={};x($t,{comments:()=>ei,default:()=>si,direction:()=>ti,strings:()=>li,thanks_to:()=>$r});var $r="Diomed ",ei="",ti="ltr",li={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",total_zero_results:"Nema rezultata",total_one_result:"[COUNT] rezultat",total_many_results:"[COUNT] rezultata",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Poku\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]...",results_label:"Rezultati pretrage",keyboard_navigate:"navigiraj",keyboard_select:"odaberi",keyboard_clear:"o\u010Disti",keyboard_close:"zatvori",keyboard_search:"tra\u017Ei",error_search:"Pretraga nije uspjela",filter_selected_one:"[COUNT] odabran",filter_selected_many:"[COUNT] odabranih",input_hint:"Rezultati \u0107e se pojaviti dok tipkate",loading:"U\u010Ditavanje"},si={thanks_to:$r,comments:ei,direction:ti,strings:li};var el={};x(el,{comments:()=>ri,default:()=>gi,direction:()=>ii,strings:()=>ni,thanks_to:()=>ai});var ai="Adam Laki ",ri="",ii="ltr",ni={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",total_zero_results:"Nincs tal\xE1lat",total_one_result:"[COUNT] tal\xE1lat",total_many_results:"[COUNT] tal\xE1lat",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre...",results_label:"Keres\xE9si tal\xE1latok",keyboard_navigate:"navig\xE1l\xE1s",keyboard_select:"kiv\xE1laszt\xE1s",keyboard_clear:"t\xF6rl\xE9s",keyboard_close:"bez\xE1r\xE1s",keyboard_search:"keres\xE9s",error_search:"A keres\xE9s sikertelen",filter_selected_one:"[COUNT] kiv\xE1lasztva",filter_selected_many:"[COUNT] kiv\xE1lasztva",input_hint:"A tal\xE1latok g\xE9pel\xE9s k\xF6zben jelennek meg",loading:"Bet\xF6lt\xE9s"},gi={thanks_to:ai,comments:ri,direction:ii,strings:ni};var tl={};x(tl,{comments:()=>ci,default:()=>Ii,direction:()=>ui,strings:()=>Ci,thanks_to:()=>oi});var oi="Nixentric",ci="",ui="ltr",Ci={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",total_zero_results:"Tidak ada hasil",total_one_result:"[COUNT] hasil",total_many_results:"[COUNT] hasil",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]...",results_label:"Hasil pencarian",keyboard_navigate:"navigasi",keyboard_select:"pilih",keyboard_clear:"bersihkan",keyboard_close:"tutup",keyboard_search:"cari",error_search:"Pencarian gagal",filter_selected_one:"[COUNT] dipilih",filter_selected_many:"[COUNT] dipilih",input_hint:"Hasil akan muncul saat Anda mengetik",loading:"Memuat"},Ii={thanks_to:oi,comments:ci,direction:ui,strings:Ci};var ll={};x(ll,{comments:()=>Ai,default:()=>mi,direction:()=>_i,strings:()=>Qi,thanks_to:()=>di});var di="Cosette Bruhns Alonso, Andrew Janco ",Ai="",_i="ltr",Qi={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",total_zero_results:"Nessun risultato",total_one_result:"[COUNT] risultato",total_many_results:"[COUNT] risultati",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]...",results_label:"Risultati della ricerca",keyboard_navigate:"naviga",keyboard_select:"seleziona",keyboard_clear:"cancella",keyboard_close:"chiudi",keyboard_search:"cerca",error_search:"Ricerca fallita",filter_selected_one:"[COUNT] selezionato",filter_selected_many:"[COUNT] selezionati",input_hint:"I risultati appariranno durante la digitazione",loading:"Caricamento"},mi={thanks_to:di,comments:Ai,direction:_i,strings:Qi};var sl={};x(sl,{comments:()=>fi,default:()=>Bi,direction:()=>Fi,strings:()=>pi,thanks_to:()=>bi});var bi="Tate",fi="",Fi="ltr",pi={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",total_zero_results:"\u7D50\u679C\u306A\u3057",total_one_result:"[COUNT]\u4EF6\u306E\u7D50\u679C",total_many_results:"[COUNT]\u4EF6\u306E\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059",results_label:"\u691C\u7D22\u7D50\u679C",keyboard_navigate:"\u79FB\u52D5",keyboard_select:"\u9078\u629E",keyboard_clear:"\u30AF\u30EA\u30A2",keyboard_close:"\u9589\u3058\u308B",keyboard_search:"\u691C\u7D22",error_search:"\u691C\u7D22\u306B\u5931\u6557\u3057\u307E\u3057\u305F",filter_selected_one:"[COUNT]\u4EF6\u9078\u629E\u4E2D",filter_selected_many:"[COUNT]\u4EF6\u9078\u629E\u4E2D",input_hint:"\u5165\u529B\u4E2D\u306B\u691C\u7D22\u7D50\u679C\u304C\u8868\u793A\u3055\u308C\u307E\u3059",loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D"},Bi={thanks_to:bi,comments:fi,direction:Fi,strings:pi};var al={};x(al,{comments:()=>Ui,default:()=>Zi,direction:()=>xi,strings:()=>yi,thanks_to:()=>hi});var hi="Seokho Son ",Ui="",xi="ltr",yi={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",total_zero_results:"\uACB0\uACFC \uC5C6\uC74C",total_one_result:"\uACB0\uACFC [COUNT]\uAC74",total_many_results:"\uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911...",results_label:"\uAC80\uC0C9 \uACB0\uACFC",keyboard_navigate:"\uC774\uB3D9",keyboard_select:"\uC120\uD0DD",keyboard_clear:"\uBE44\uC6B0\uAE30",keyboard_close:"\uB2EB\uAE30",keyboard_search:"\uAC80\uC0C9",error_search:"\uAC80\uC0C9 \uC2E4\uD328",filter_selected_one:"[COUNT]\uAC1C \uC120\uD0DD\uB428",filter_selected_many:"[COUNT]\uAC1C \uC120\uD0DD\uB428",input_hint:"\uC785\uB825\uD558\uB294 \uB3D9\uC548 \uACB0\uACFC\uAC00 \uD45C\uC2DC\uB429\uB2C8\uB2E4",loading:"\uB85C\uB529 \uC911"},Zi={thanks_to:hi,comments:Ui,direction:xi,strings:yi};var rl={};x(rl,{comments:()=>Ni,default:()=>ki,direction:()=>Xi,strings:()=>Ei,thanks_to:()=>Gi});var Gi="",Ni="",Xi="ltr",Ei={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",total_zero_results:"K\u0101ore he otinga",total_one_result:"[COUNT] otinga",total_many_results:"[COUNT] ng\u0101 otinga",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga k\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]...",results_label:"Ng\u0101 otinga rapu",keyboard_navigate:"whakatere",keyboard_select:"t\u012Bpako",keyboard_clear:"whakakore",keyboard_close:"kati",keyboard_search:"rapu",error_search:"K\u0101ore i eke te rapu",filter_selected_one:"[COUNT] kua t\u012Bpakohia",filter_selected_many:"[COUNT] kua t\u012Bpakohia",input_hint:"Ka puta ng\u0101 otinga i a koe e patopato ana",loading:"E uta ana"},ki={thanks_to:Gi,comments:Ni,direction:Xi,strings:Ei};var il={};x(il,{comments:()=>Ri,default:()=>Vi,direction:()=>Wi,strings:()=>Si,thanks_to:()=>Li});var Li="Harry Min Khant ",Ri="",Wi="ltr",Si={placeholder:"\u101B\u103E\u102C\u101B\u1014\u103A",clear_search:"\u101B\u103E\u102C\u1016\u103D\u1031\u1019\u103E\u102F\u1000\u102D\u102F \u101B\u103E\u1004\u103A\u1038\u101C\u1004\u103A\u1038\u1015\u102B\u104B",load_more:"\u1014\u1031\u102C\u1000\u103A\u1011\u1015\u103A\u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038\u1000\u102D\u102F \u1010\u1004\u103A\u1015\u102B\u104B",search_label:"\u1024\u1006\u102D\u102F\u1000\u103A\u1010\u103D\u1004\u103A\u101B\u103E\u102C\u1016\u103D\u1031\u1015\u102B\u104B",filters_label:"\u1005\u1005\u103A\u1011\u102F\u1010\u103A\u1019\u103E\u102F\u1019\u103B\u102C\u1038",zero_results:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038 \u1019\u101B\u103E\u102D\u1015\u102B",many_results:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A [COUNT] \u1001\u102F",one_result:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A [COUNT]",total_zero_results:"\u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038 \u1019\u101B\u103E\u102D\u1015\u102B",total_one_result:"\u101B\u101C\u1012\u103A [COUNT] \u1001\u102F",total_many_results:"\u101B\u101C\u1012\u103A [COUNT] \u1001\u102F",alt_search:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A\u1019\u101B\u103E\u102D\u1015\u102B\u104B \u104E\u1004\u103A\u1038\u1021\u1005\u102C\u1038 [DIFFERENT_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038\u1000\u102D\u102F \u1015\u103C\u101E\u101E\u100A\u103A\u104B",search_suggestion:"[SEARCH_TERM] \u1021\u1010\u103D\u1000\u103A \u101B\u101C\u1012\u103A\u1019\u101B\u103E\u102D\u1015\u102B\u104B \u1021\u1031\u102C\u1000\u103A\u1015\u102B\u101B\u103E\u102C\u1016\u103D\u1031\u1019\u103E\u102F\u1019\u103B\u102C\u1038\u1011\u1032\u1019\u103E \u1010\u1005\u103A\u1001\u102F\u1000\u102D\u102F \u1005\u1019\u103A\u1038\u1000\u103C\u100A\u1037\u103A\u1015\u102B:",searching:"[SEARCH_TERM] \u1000\u102D\u102F \u101B\u103E\u102C\u1016\u103D\u1031\u1014\u1031\u101E\u100A\u103A...",results_label:"\u101B\u103E\u102C\u1016\u103D\u1031\u1019\u103E\u102F \u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038",keyboard_navigate:"\u101C\u1019\u103A\u1038\u100A\u103D\u103E\u1014\u103A",keyboard_select:"\u101B\u103D\u1031\u1038\u1001\u103B\u101A\u103A",keyboard_clear:"\u101B\u103E\u1004\u103A\u1038\u101C\u1004\u103A\u1038",keyboard_close:"\u1015\u102D\u1010\u103A",keyboard_search:"\u101B\u103E\u102C\u101B\u1014\u103A",error_search:"\u101B\u103E\u102C\u1016\u103D\u1031\u1019\u103E\u102F \u1019\u1021\u1031\u102C\u1004\u103A\u1019\u103C\u1004\u103A\u1015\u102B",filter_selected_one:"[COUNT] \u1001\u102F \u101B\u103D\u1031\u1038\u1001\u103B\u101A\u103A\u1011\u102C\u1038\u101E\u100A\u103A",filter_selected_many:"[COUNT] \u1001\u102F \u101B\u103D\u1031\u1038\u1001\u103B\u101A\u103A\u1011\u102C\u1038\u101E\u100A\u103A",input_hint:"\u101B\u102D\u102F\u1000\u103A\u1014\u1031\u1005\u1009\u103A \u101B\u101C\u1012\u103A\u1019\u103B\u102C\u1038 \u1015\u1031\u102B\u103A\u101C\u102C\u1015\u102B\u1019\u100A\u103A",loading:"\u1010\u1004\u103A\u1014\u1031\u101E\u100A\u103A"},Vi={thanks_to:Li,comments:Ri,direction:Wi,strings:Si};var nl={};x(nl,{comments:()=>Ti,default:()=>Mi,direction:()=>vi,strings:()=>Hi,thanks_to:()=>Di});var Di="Eirik Mikkelsen",Ti="",vi="ltr",Hi={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]",results_label:"S\xF8keresultater",keyboard_navigate:"naviger",keyboard_select:"velg",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"s\xF8k",error_search:"S\xF8k feilet",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Laster"},Mi={thanks_to:Di,comments:Ti,direction:vi,strings:Hi};var gl={};x(gl,{comments:()=>wi,default:()=>Oi,direction:()=>zi,strings:()=>Ji,thanks_to:()=>Yi});var Yi="Paul van Brouwershaven",wi="",zi="ltr",Ji={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",total_zero_results:"Geen resultaten",total_one_result:"[COUNT] resultaat",total_many_results:"[COUNT] resultaten",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]...",results_label:"Zoekresultaten",keyboard_navigate:"navigeren",keyboard_select:"selecteren",keyboard_clear:"wissen",keyboard_close:"sluiten",keyboard_search:"zoeken",error_search:"Zoeken mislukt",filter_selected_one:"[COUNT] geselecteerd",filter_selected_many:"[COUNT] geselecteerd",input_hint:"Resultaten verschijnen terwijl u typt",loading:"Laden"},Oi={thanks_to:Yi,comments:wi,direction:zi,strings:Ji};var ol={};x(ol,{comments:()=>Ki,default:()=>$i,direction:()=>Pi,strings:()=>qi,thanks_to:()=>ji});var ji="Eirik Mikkelsen",Ki="",Pi="ltr",qi={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last fleire resultat",search_label:"S\xF8k p\xE5 denne sida",filters_label:"Filter",zero_results:"Ingen resultat for [SEARCH_TERM]",many_results:"[COUNT] resultat for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultat",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultat",alt_search:"Ingen resultat for [SEARCH_TERM]. Viser resultat for [DIFFERENT_TERM] i staden",search_suggestion:"Ingen resultat for [SEARCH_TERM]. Pr\xF8v eitt av desse s\xF8keorda i staden:",searching:"S\xF8ker etter [SEARCH_TERM]",results_label:"S\xF8keresultat",keyboard_navigate:"naviger",keyboard_select:"vel",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"s\xF8k",error_search:"S\xF8k feila",filter_selected_one:"[COUNT] vald",filter_selected_many:"[COUNT] valde",input_hint:"Resultat visast medan du skriv",loading:"Lastar"},$i={thanks_to:ji,comments:Ki,direction:Pi,strings:qi};var cl={};x(cl,{comments:()=>tn,default:()=>an,direction:()=>ln,strings:()=>sn,thanks_to:()=>en});var en="Christopher Wingate",tn="",ln="ltr",sn={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",total_zero_results:"Ingen resultater",total_one_result:"[COUNT] resultat",total_many_results:"[COUNT] resultater",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]",results_label:"S\xF8keresultater",keyboard_navigate:"naviger",keyboard_select:"velg",keyboard_clear:"fjern",keyboard_close:"lukk",keyboard_search:"s\xF8k",error_search:"S\xF8k feilet",filter_selected_one:"[COUNT] valgt",filter_selected_many:"[COUNT] valgte",input_hint:"Resultater vises mens du skriver",loading:"Laster"},an={thanks_to:en,comments:tn,direction:ln,strings:sn};var ul={};x(ul,{comments:()=>nn,default:()=>cn,direction:()=>gn,strings:()=>on,thanks_to:()=>rn});var rn="",nn="",gn="ltr",on={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",total_zero_results:"Brak wynik\xF3w",total_one_result:"[COUNT] wynik",total_many_results:"[COUNT] wynik\xF3w",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]...",results_label:"Wyniki wyszukiwania",keyboard_navigate:"nawiguj",keyboard_select:"wybierz",keyboard_clear:"wyczy\u015B\u0107",keyboard_close:"zamknij",keyboard_search:"szukaj",error_search:"Wyszukiwanie nie powiod\u0142o si\u0119",filter_selected_one:"[COUNT] wybrany",filter_selected_many:"[COUNT] wybranych",input_hint:"Wyniki pojawi\u0105 si\u0119 podczas pisania",loading:"\u0141adowanie"},cn={thanks_to:rn,comments:nn,direction:gn,strings:on};var Cl={};x(Cl,{comments:()=>Cn,default:()=>An,direction:()=>In,strings:()=>dn,thanks_to:()=>un});var un="Jonatah",Cn="",In="ltr",dn={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",total_zero_results:"Nenhum resultado",total_one_result:"[COUNT] resultado",total_many_results:"[COUNT] resultados",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]...",results_label:"Resultados da pesquisa",keyboard_navigate:"navegar",keyboard_select:"selecionar",keyboard_clear:"limpar",keyboard_close:"fechar",keyboard_search:"pesquisar",error_search:"Falha na pesquisa",filter_selected_one:"[COUNT] selecionado",filter_selected_many:"[COUNT] selecionados",input_hint:"Os resultados aparecer\xE3o enquanto voc\xEA digita",loading:"Carregando"},An={thanks_to:un,comments:Cn,direction:In,strings:dn};var Il={};x(Il,{comments:()=>Qn,default:()=>fn,direction:()=>mn,strings:()=>bn,thanks_to:()=>_n});var _n="Bogdan Mateescu ",Qn="",mn="ltr",bn={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",total_zero_results:"Niciun rezultat",total_one_result:"[COUNT] rezultat",total_many_results:"[COUNT] rezultate",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afi\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]...",results_label:"Rezultatele c\u0103ut\u0103rii",keyboard_navigate:"navigare",keyboard_select:"selectare",keyboard_clear:"\u0219tergere",keyboard_close:"\xEEnchidere",keyboard_search:"c\u0103utare",error_search:"C\u0103utarea a e\u0219uat",filter_selected_one:"[COUNT] selectat",filter_selected_many:"[COUNT] selectate",input_hint:"Rezultatele vor ap\u0103rea pe m\u0103sur\u0103 ce tasta\u021Bi",loading:"Se \xEEncarc\u0103"},fn={thanks_to:_n,comments:Qn,direction:mn,strings:bn};var dl={};x(dl,{comments:()=>pn,default:()=>Un,direction:()=>Bn,strings:()=>hn,thanks_to:()=>Fn});var Fn="Aleksandr Gordeev",pn="",Bn="ltr",hn={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",total_zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",total_one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",total_many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",results_label:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E\u0438\u0441\u043A\u0430",keyboard_navigate:"\u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F",keyboard_select:"\u0432\u044B\u0431\u0440\u0430\u0442\u044C",keyboard_clear:"\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",keyboard_close:"\u0437\u0430\u043A\u0440\u044B\u0442\u044C",keyboard_search:"\u043F\u043E\u0438\u0441\u043A",error_search:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u043E\u0438\u0441\u043A\u0430",filter_selected_one:"[COUNT] \u0432\u044B\u0431\u0440\u0430\u043D",filter_selected_many:"[COUNT] \u0432\u044B\u0431\u0440\u0430\u043D\u043E",input_hint:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u0431\u0443\u0434\u0443\u0442 \u043F\u043E\u044F\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043F\u043E \u043C\u0435\u0440\u0435 \u0432\u0432\u043E\u0434\u0430",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430"},Un={thanks_to:Fn,comments:pn,direction:Bn,strings:hn};var Al={};x(Al,{comments:()=>yn,default:()=>Nn,direction:()=>Zn,strings:()=>Gn,thanks_to:()=>xn});var xn="Andrija Sagicc",yn="",Zn="ltr",Gn={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",total_zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",total_one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442",total_many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]...",results_label:"\u0420\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0435",keyboard_navigate:"\u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0458\u0430",keyboard_select:"\u0438\u0437\u0430\u0431\u0435\u0440\u0438",keyboard_clear:"\u043E\u0431\u0440\u0438\u0448\u0438",keyboard_close:"\u0437\u0430\u0442\u0432\u043E\u0440\u0438",keyboard_search:"\u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",error_search:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u043D\u0438\u0458\u0435 \u0443\u0441\u043F\u0435\u043B\u0430",filter_selected_one:"[COUNT] \u0438\u0437\u0430\u0431\u0440\u0430\u043D",filter_selected_many:"[COUNT] \u0438\u0437\u0430\u0431\u0440\u0430\u043D\u0438\u0445",input_hint:"\u0420\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438 \u045B\u0435 \u0441\u0435 \u043F\u043E\u0458\u0430\u0432\u0459\u0438\u0432\u0430\u0442\u0438 \u0434\u043E\u043A \u043A\u0443\u0446\u0430\u0442\u0435",loading:"\u0423\u0447\u0438\u0442\u0430\u0432\u0430\u045A\u0435"},Nn={thanks_to:xn,comments:yn,direction:Zn,strings:Gn};var _l={};x(_l,{comments:()=>En,default:()=>Rn,direction:()=>kn,strings:()=>Ln,thanks_to:()=>Xn});var Xn="Montazar Al-Jaber ",En="",kn="ltr",Ln={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",total_zero_results:"Inga tr\xE4ffar",total_one_result:"[COUNT] tr\xE4ff",total_many_results:"[COUNT] tr\xE4ffar",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]...",results_label:"S\xF6kresultat",keyboard_navigate:"navigera",keyboard_select:"v\xE4lj",keyboard_clear:"rensa",keyboard_close:"st\xE4ng",keyboard_search:"s\xF6k",error_search:"S\xF6kningen misslyckades",filter_selected_one:"[COUNT] vald",filter_selected_many:"[COUNT] valda",input_hint:"Resultat visas medan du skriver",loading:"L\xE4ser in"},Rn={thanks_to:Xn,comments:En,direction:kn,strings:Ln};var Ql={};x(Ql,{comments:()=>Sn,default:()=>Tn,direction:()=>Vn,strings:()=>Dn,thanks_to:()=>Wn});var Wn="Anonymous",Sn="",Vn="ltr",Dn={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",total_zero_results:"Hakuna matokeo",total_one_result:"Tokeo [COUNT]",total_many_results:"Matokeo [COUNT]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]...",results_label:"Matokeo ya utafutaji",keyboard_navigate:"sogeza",keyboard_select:"chagua",keyboard_clear:"futa",keyboard_close:"funga",keyboard_search:"tafuta",error_search:"Utafutaji umeshindwa",filter_selected_one:"[COUNT] imechaguliwa",filter_selected_many:"[COUNT] zimechaguliwa",input_hint:"Matokeo yataonekana unapoandika",loading:"Inapakia"},Tn={thanks_to:Wn,comments:Sn,direction:Vn,strings:Dn};var ml={};x(ml,{comments:()=>Hn,default:()=>wn,direction:()=>Mn,strings:()=>Yn,thanks_to:()=>vn});var vn="",Hn="",Mn="ltr",Yn={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",total_zero_results:"\u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",total_one_result:"[COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",total_many_results:"[COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1",results_label:"\u0BA4\u0BC7\u0B9F\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",keyboard_navigate:"\u0BB5\u0BB4\u0BBF\u0BA8\u0B9F\u0BA4\u0BCD\u0BA4\u0BC1",keyboard_select:"\u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1",keyboard_clear:"\u0B85\u0BB4\u0BBF",keyboard_close:"\u0BAE\u0BC2\u0B9F\u0BC1",keyboard_search:"\u0BA4\u0BC7\u0B9F\u0BC1",error_search:"\u0BA4\u0BC7\u0B9F\u0BB2\u0BCD \u0BA4\u0BCB\u0BB2\u0BCD\u0BB5\u0BBF",filter_selected_one:"[COUNT] \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",filter_selected_many:"[COUNT] \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA9",input_hint:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0B9F\u0BCD\u0B9F\u0B9A\u0BCD\u0B9A\u0BC1 \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BC1\u0BAE\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0BA4\u0BCB\u0BA9\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD",loading:"\u0B8F\u0BB1\u0BCD\u0BB1\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1"},wn={thanks_to:vn,comments:Hn,direction:Mn,strings:Yn};var bl={};x(bl,{comments:()=>Jn,default:()=>Kn,direction:()=>On,strings:()=>jn,thanks_to:()=>zn});var zn="Patiphon Loetsuthakun ",Jn="",On="ltr",jn={placeholder:"\u0E04\u0E49\u0E19\u0E2B\u0E32",clear_search:"\u0E25\u0E49\u0E32\u0E07",load_more:"\u0E42\u0E2B\u0E25\u0E14\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21",search_label:"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E0B\u0E15\u0E4C",filters_label:"\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07",zero_results:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM]",many_results:"\u0E1E\u0E1A [COUNT] \u0E1C\u0E25\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM]",one_result:"\u0E1E\u0E1A [COUNT] \u0E1C\u0E25\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM]",total_zero_results:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C",total_one_result:"[COUNT] \u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C",total_many_results:"[COUNT] \u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C",alt_search:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM] \u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E08\u0E32\u0E01\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32 [DIFFERENT_TERM] \u0E41\u0E17\u0E19",search_suggestion:"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A [SEARCH_TERM] \u0E25\u0E2D\u0E07\u0E04\u0E33\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E40\u0E2B\u0E25\u0E48\u0E32\u0E19\u0E35\u0E49\u0E41\u0E17\u0E19:",searching:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E04\u0E49\u0E19\u0E2B\u0E32 [SEARCH_TERM]...",results_label:"\u0E1C\u0E25\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32",keyboard_navigate:"\u0E19\u0E33\u0E17\u0E32\u0E07",keyboard_select:"\u0E40\u0E25\u0E37\u0E2D\u0E01",keyboard_clear:"\u0E25\u0E49\u0E32\u0E07",keyboard_close:"\u0E1B\u0E34\u0E14",keyboard_search:"\u0E04\u0E49\u0E19\u0E2B\u0E32",error_search:"\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27",filter_selected_one:"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 [COUNT] \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",filter_selected_many:"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27 [COUNT] \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",input_hint:"\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C\u0E08\u0E30\u0E1B\u0E23\u0E32\u0E01\u0E0F\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E1E\u0E34\u0E21\u0E1E\u0E4C",loading:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14"},Kn={thanks_to:zn,comments:Jn,direction:On,strings:jn};var fl={};x(fl,{comments:()=>qn,default:()=>tg,direction:()=>$n,strings:()=>eg,thanks_to:()=>Pn});var Pn="Taylan \xD6zg\xFCr Bildik",qn="",$n="ltr",eg={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",total_zero_results:"Sonu\xE7 yok",total_one_result:"[COUNT] sonu\xE7",total_many_results:"[COUNT] sonu\xE7",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor...",results_label:"Arama sonu\xE7lar\u0131",keyboard_navigate:"gezin",keyboard_select:"se\xE7",keyboard_clear:"temizle",keyboard_close:"kapat",keyboard_search:"ara",error_search:"Arama ba\u015Far\u0131s\u0131z",filter_selected_one:"[COUNT] se\xE7ili",filter_selected_many:"[COUNT] se\xE7ili",input_hint:"Sonu\xE7lar siz yazarken g\xF6r\xFCnecektir",loading:"Y\xFCkleniyor"},tg={thanks_to:Pn,comments:qn,direction:$n,strings:eg};var Fl={};x(Fl,{comments:()=>sg,default:()=>ig,direction:()=>ag,strings:()=>rg,thanks_to:()=>lg});var lg="Vladyslav Lyshenko ",sg="",ag="ltr",rg={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",total_zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E",total_one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",total_many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",results_label:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043F\u043E\u0448\u0443\u043A\u0443",keyboard_navigate:"\u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F",keyboard_select:"\u0432\u0438\u0431\u0440\u0430\u0442\u0438",keyboard_clear:"\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u0438",keyboard_close:"\u0437\u0430\u043A\u0440\u0438\u0442\u0438",keyboard_search:"\u043F\u043E\u0448\u0443\u043A",error_search:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u043E\u0448\u0443\u043A\u0443",filter_selected_one:"[COUNT] \u0432\u0438\u0431\u0440\u0430\u043D\u043E",filter_selected_many:"[COUNT] \u0432\u0438\u0431\u0440\u0430\u043D\u043E",input_hint:"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u0437'\u044F\u0432\u043B\u044F\u0442\u0438\u043C\u0443\u0442\u044C\u0441\u044F \u043F\u0456\u0434 \u0447\u0430\u0441 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F",loading:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F"},ig={thanks_to:lg,comments:sg,direction:ag,strings:rg};var pl={};x(pl,{comments:()=>gg,default:()=>ug,direction:()=>og,strings:()=>cg,thanks_to:()=>ng});var ng="Long Nhat Nguyen",gg="",og="ltr",cg={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",total_zero_results:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",total_one_result:"[COUNT] k\u1EBFt qu\u1EA3",total_many_results:"[COUNT] k\u1EBFt qu\u1EA3",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]...",results_label:"K\u1EBFt qu\u1EA3 t\xECm ki\u1EBFm",keyboard_navigate:"chuy\u1EC3n",keyboard_select:"ch\u1ECDn",keyboard_clear:"x\xF3a",keyboard_close:"\u0111\xF3ng",keyboard_search:"t\xECm ki\u1EBFm",error_search:"T\xECm ki\u1EBFm th\u1EA5t b\u1EA1i",filter_selected_one:"\u0110\xE3 ch\u1ECDn [COUNT]",filter_selected_many:"\u0110\xE3 ch\u1ECDn [COUNT]",input_hint:"K\u1EBFt qu\u1EA3 s\u1EBD xu\u1EA5t hi\u1EC7n khi b\u1EA1n nh\u1EADp",loading:"\u0110ang t\u1EA3i"},ug={thanks_to:ng,comments:gg,direction:og,strings:cg};var Bl={};x(Bl,{comments:()=>Ig,default:()=>_g,direction:()=>dg,strings:()=>Ag,thanks_to:()=>Cg});var Cg="Amber Song",Ig="",dg="ltr",Ag={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",total_zero_results:"\u65E0\u7ED3\u679C",total_one_result:"[COUNT] \u4E2A\u7ED3\u679C",total_many_results:"[COUNT] \u4E2A\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]...",results_label:"\u641C\u7D22\u7ED3\u679C",keyboard_navigate:"\u5BFC\u822A",keyboard_select:"\u9009\u62E9",keyboard_clear:"\u6E05\u9664",keyboard_close:"\u5173\u95ED",keyboard_search:"\u641C\u7D22",error_search:"\u641C\u7D22\u5931\u8D25",filter_selected_one:"\u5DF2\u9009\u62E9 [COUNT] \u4E2A",filter_selected_many:"\u5DF2\u9009\u62E9 [COUNT] \u4E2A",input_hint:"\u8F93\u5165\u65F6\u5C06\u663E\u793A\u7ED3\u679C",loading:"\u52A0\u8F7D\u4E2D"},_g={thanks_to:Cg,comments:Ig,direction:dg,strings:Ag};var hl={};x(hl,{comments:()=>mg,default:()=>Fg,direction:()=>bg,strings:()=>fg,thanks_to:()=>Qg});var Qg="Amber Song",mg="",bg="ltr",fg={placeholder:"\u641C\u5C0B",clear_search:"\u6E05\u9664",load_more:"\u8F09\u5165\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u5C0B",filters_label:"\u7BE9\u9078",zero_results:"\u627E\u4E0D\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",total_zero_results:"\u7121\u7D50\u679C",total_one_result:"[COUNT] \u500B\u7D50\u679C",total_many_results:"[COUNT] \u500B\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u627E\u4E0D\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u7684\u5EFA\u8B70\u4E4B\u4E00\u3002",searching:"\u6B63\u5728\u641C\u5C0B[SEARCH_TERM]...",results_label:"\u641C\u5C0B\u7D50\u679C",keyboard_navigate:"\u5C0E\u89BD",keyboard_select:"\u9078\u64C7",keyboard_clear:"\u6E05\u9664",keyboard_close:"\u95DC\u9589",keyboard_search:"\u641C\u5C0B",error_search:"\u641C\u5C0B\u5931\u6557",filter_selected_one:"\u5DF2\u9078\u64C7 [COUNT] \u500B",filter_selected_many:"\u5DF2\u9078\u64C7 [COUNT] \u500B",input_hint:"\u8F38\u5165\u6642\u5C07\u986F\u793A\u7D50\u679C",loading:"\u8F09\u5165\u4E2D"},Fg={thanks_to:Qg,comments:mg,direction:bg,strings:fg};var Ul={};x(Ul,{comments:()=>Bg,default:()=>xg,direction:()=>hg,strings:()=>Ug,thanks_to:()=>pg});var pg="Amber Song",Bg="",hg="ltr",Ug={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",total_zero_results:"\u65E0\u7ED3\u679C",total_one_result:"[COUNT] \u4E2A\u7ED3\u679C",total_many_results:"[COUNT] \u4E2A\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]...",results_label:"\u641C\u7D22\u7ED3\u679C",keyboard_navigate:"\u5BFC\u822A",keyboard_select:"\u9009\u62E9",keyboard_clear:"\u6E05\u9664",keyboard_close:"\u5173\u95ED",keyboard_search:"\u641C\u7D22",error_search:"\u641C\u7D22\u5931\u8D25",filter_selected_one:"\u5DF2\u9009\u62E9 [COUNT] \u4E2A",filter_selected_many:"\u5DF2\u9009\u62E9 [COUNT] \u4E2A",input_hint:"\u8F93\u5165\u65F6\u5C06\u663E\u793A\u7ED3\u679C",loading:"\u52A0\u8F7D\u4E2D"},xg={thanks_to:pg,comments:Bg,direction:hg,strings:Ug};var yg=[Wt,St,Vt,Dt,Tt,vt,Ht,Mt,Yt,wt,zt,Jt,Ot,jt,Kt,Pt,qt,$t,el,tl,ll,sl,al,rl,il,nl,gl,ol,cl,ul,Cl,Il,dl,Al,_l,Ql,ml,bl,fl,Fl,pl,Bl,hl,Ul],Us=yg,xs=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/el.json","../../translations/en.json","../../translations/es.json","../../translations/eu.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/my.json","../../translations/nb.json","../../translations/nl.json","../../translations/nn.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/th.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ys(l,e,t){let s=l.slice();return s[53]=e[t],s}function Zs(l){let e,t,s;function a(i){l[38](i)}let r={show_empty_filters:l[5],open_filters:l[6],available_filters:l[18],translate:l[20],automatic_translations:l[19],translations:l[7]};return l[0]!==void 0&&(r.selected_filters=l[0]),e=new hs({props:r}),Ce.push(()=>Ol(e,"selected_filters",a)),{c(){_t(e.$$.fragment)},m(i,n){_e(e,i,n),s=!0},p(i,n){let g={};n[0]&32&&(g.show_empty_filters=i[5]),n[0]&64&&(g.open_filters=i[6]),n[0]&262144&&(g.available_filters=i[18]),n[0]&524288&&(g.automatic_translations=i[19]),n[0]&128&&(g.translations=i[7]),!t&&n[0]&1&&(t=!0,g.selected_filters=i[0],Yl(()=>t=!1)),e.$set(g)},i(i){s||(k(e.$$.fragment,i),s=!0)},o(i){D(e.$$.fragment,i),s=!1},d(i){Qe(e,i)}}}function Gs(l){let e,t,s,a,r=[Ng,Gg],i=[];function n(g,C){return g[14]?0:1}return t=n(l,[-1,-1]),s=i[t]=r[t](l),{c(){e=F("div"),s.c(),_(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(g,C){h(g,e,C),i[t].m(e,null),a=!0},p(g,C){let u=t;t=n(g,C),t===u?i[t].p(g,C):(re(),D(i[u],1,1,()=>{i[u]=null}),ie(),s=i[t],s?s.p(g,C):(s=i[t]=r[t](g),s.c()),k(s,1),s.m(e,null))},i(g){a||(k(s),a=!0)},o(g){D(s),a=!1},d(g){g&&B(e),i[t].d()}}}function Gg(l){let e,t,s,a=[],r=new Map,i,n,g;function C(I,m){return I[13].results.length===0?kg:I[13].results.length===1?Eg:Xg}let u=C(l,[-1,-1]),A=u(l),c=V(l[13].results.slice(0,l[17])),d=I=>I[53].id;for(let I=0;Il[17]&&Xs(l);return{c(){e=F("p"),A.c(),t=Z(),s=F("ol");for(let I=0;II[17]?o?o.p(I,m):(o=Xs(I),o.c(),o.m(n.parentNode,n)):o&&(o.d(1),o=null)},i(I){if(!g){for(let m=0;m{g[c]=null}),ie(),a=g[s],a?a.p(e,A):(a=g[s]=n[s](e),a.c()),k(a,1),a.m(r.parentNode,r))},i(u){i||(k(a),i=!0)},o(u){D(a),i=!1},d(u){u&&(B(t),B(r)),g[s].d(u)}}}function Xs(l){let e,t=l[20]("load_more",l[19],l[7])+"",s,a,r;return{c(){e=F("button"),s=G(t),_(e,"type","button"),_(e,"class","pagefind-ui__button svelte-e9gkc3")},m(i,n){h(i,e,n),b(e,s),a||(r=w(e,"click",l[22]),a=!0)},p(i,n){n[0]&524416&&t!==(t=i[20]("load_more",i[19],i[7])+"")&&W(s,t)},d(i){i&&B(e),a=!1,r()}}}function Es(l){let e,t=l[20]("searching",l[19],l[7]).replace(/\[SEARCH_TERM\]/,l[16])+"",s;return{c(){e=F("p"),s=G(t),_(e,"class","pagefind-ui__message svelte-e9gkc3")},m(a,r){h(a,e,r),b(e,s)},p(a,r){r[0]&589952&&t!==(t=a[20]("searching",a[19],a[7]).replace(/\[SEARCH_TERM\]/,a[16])+"")&&W(s,t)},d(a){a&&B(e)}}}function Wg(l){let e,t,s,a,r,i,n,g=l[20]("clear_search",l[19],l[7])+"",C,u,A,c,d,o,I,m,f=l[12]&&Zs(l),p=l[15]&&Gs(l);return{c(){e=F("div"),t=F("form"),s=F("input"),i=Z(),n=F("button"),C=G(g),u=Z(),A=F("div"),f&&f.c(),c=Z(),p&&p.c(),_(s,"class","pagefind-ui__search-input svelte-e9gkc3"),_(s,"type","text"),_(s,"placeholder",a=l[20]("placeholder",l[19],l[7])),_(s,"title",r=l[20]("placeholder",l[19],l[7])),_(s,"autocapitalize","none"),_(s,"enterkeyhint","search"),s.autofocus=l[8],_(n,"class","pagefind-ui__search-clear svelte-e9gkc3"),z(n,"pagefind-ui__suppressed",!l[9]),_(A,"class","pagefind-ui__drawer svelte-e9gkc3"),z(A,"pagefind-ui__hidden",!l[15]),_(t,"class","pagefind-ui__form svelte-e9gkc3"),_(t,"role","search"),_(t,"aria-label",d=l[20]("search_label",l[19],l[7])),_(t,"action","javascript:void(0);"),_(e,"class","pagefind-ui svelte-e9gkc3"),z(e,"pagefind-ui--reset",l[1])},m(U,y){h(U,e,y),b(e,t),b(t,s),oe(s,l[9]),l[35](s),b(t,i),b(t,n),b(n,C),l[36](n),b(t,u),b(t,A),f&&f.m(A,null),b(A,c),p&&p.m(A,null),o=!0,l[8]&&s.focus(),I||(m=[w(s,"focus",l[21]),w(s,"keydown",l[33]),w(s,"input",l[34]),w(n,"click",l[37]),w(t,"submit",Sg)],I=!0)},p(U,y){(!o||y[0]&524416&&a!==(a=U[20]("placeholder",U[19],U[7])))&&_(s,"placeholder",a),(!o||y[0]&524416&&r!==(r=U[20]("placeholder",U[19],U[7])))&&_(s,"title",r),(!o||y[0]&256)&&(s.autofocus=U[8]),y[0]&512&&s.value!==U[9]&&oe(s,U[9]),(!o||y[0]&524416)&&g!==(g=U[20]("clear_search",U[19],U[7])+"")&&W(C,g),(!o||y[0]&512)&&z(n,"pagefind-ui__suppressed",!U[9]),U[12]?f?(f.p(U,y),y[0]&4096&&k(f,1)):(f=Zs(U),f.c(),k(f,1),f.m(A,c)):f&&(re(),D(f,1,1,()=>{f=null}),ie()),U[15]?p?(p.p(U,y),y[0]&32768&&k(p,1)):(p=Gs(U),p.c(),k(p,1),p.m(A,null)):p&&(re(),D(p,1,1,()=>{p=null}),ie()),(!o||y[0]&32768)&&z(A,"pagefind-ui__hidden",!U[15]),(!o||y[0]&524416&&d!==(d=U[20]("search_label",U[19],U[7])))&&_(t,"aria-label",d),(!o||y[0]&2)&&z(e,"pagefind-ui--reset",U[1])},i(U){o||(k(f),k(p),o=!0)},o(U){D(f),D(p),o=!1},d(U){U&&B(e),l[35](null),l[36](null),f&&f.d(),p&&p.d(),I=!1,H(m)}}}var Sg=l=>l.preventDefault();function Vg(l,e,t){let s={},a=xs.map(Q=>Q.match(/([^\/]+)\.json$/)[1]);for(let Q=0;QL[Q]??X[Q]??"",kl=Q=>{if(!q)return;let X=document.activeElement,L=X&&(X.tagName==="INPUT"||X.tagName==="TEXTAREA"||X.isContentEditable);Q.key==="/"&&!L&&(Q.preventDefault(),v?.focus())};xt(()=>{let Q=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",X=Qt(Q.toLocaleLowerCase());t(19,El=s[`${X.language}-${X.script}-${X.region}`]||s[`${X.language}-${X.region}`]||s[`${X.language}`]||s.en),q&&document.addEventListener("keydown",kl)}),yt(()=>{E?.destroy?.(),E=null,q&&document.removeEventListener("keydown",kl)});let Ll=async()=>{if(!bt&&(t(12,bt=!0),!E)){let Q;try{Q=await import(`${r}pagefind.js`)}catch(L){console.error(L),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}u||t(24,u=C?12:30);let X={...m||{},excerptLength:u};await Q.options(X);for(let L of f){if(!L.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let Y=L.bundlePath;delete L.bundlePath,await Q.mergeIndex(Y,L)}E=Q,Ws()}},Ws=async()=>{E&&(Xl=await E.filters(),(!Ie||!Object.keys(Ie).length)&&t(18,Ie=Xl))},Ss=Q=>{let X={};return Object.entries(Q).filter(([,L])=>L).forEach(([L])=>{let[Y,ne]=L.split(/:(.*)$/);X[Y]=X[Y]||[],X[Y].push(ne)}),X},de,Vs=async(Q,X)=>{if(!Q){t(15,Ft=!1),de&&clearTimeout(de);return}let L=Ss(X),Y=()=>Ds(Q,L);I>0&&Q?(de&&clearTimeout(de),de=setTimeout(Y,I),await Rl(),E.preload(Q,{filters:L})):Y(),Ts()},Rl=async()=>{for(;!E;)Ll(),await new Promise(Q=>setTimeout(Q,50))},Ds=async(Q,X)=>{t(16,Nl=Q||""),typeof c=="function"&&(Q=c(Q)),t(14,ft=!0),t(15,Ft=!0),await Rl();let L=++Gl,Y={filters:X};J&&typeof J=="object"&&(Y.sort=J);let ne=await E.search(Q,Y);Gl===L&&(ne.filters&&Object.keys(ne.filters)?.length&&t(18,Ie=ne.filters),t(13,Zl=ne),t(14,ft=!1),t(17,pt=i))},Ts=()=>{let Q=gt.offsetWidth;Q!=Ls&&t(10,v.style.paddingRight=`${Q+2}px`,v)},vs=Q=>{Q?.preventDefault(),t(17,pt+=i)},Hs=Q=>{Q.key==="Escape"&&(t(9,S=""),v.blur()),Q.key==="Enter"&&Q.preventDefault()};function Ms(){S=this.value,t(9,S),t(23,p)}function Ys(Q){Ce[Q?"unshift":"push"](()=>{v=Q,t(10,v)})}function ws(Q){Ce[Q?"unshift":"push"](()=>{gt=Q,t(11,gt)})}let zs=()=>{t(9,S=""),v.blur()};function Js(Q){N=Q,t(0,N)}return l.$$set=Q=>{"base_path"in Q&&t(25,r=Q.base_path),"page_size"in Q&&t(26,i=Q.page_size),"reset_styles"in Q&&t(1,n=Q.reset_styles),"show_images"in Q&&t(2,g=Q.show_images),"show_sub_results"in Q&&t(3,C=Q.show_sub_results),"excerpt_length"in Q&&t(24,u=Q.excerpt_length),"process_result"in Q&&t(4,A=Q.process_result),"process_term"in Q&&t(27,c=Q.process_term),"show_empty_filters"in Q&&t(5,d=Q.show_empty_filters),"open_filters"in Q&&t(6,o=Q.open_filters),"debounce_timeout_ms"in Q&&t(28,I=Q.debounce_timeout_ms),"pagefind_options"in Q&&t(29,m=Q.pagefind_options),"merge_index"in Q&&t(30,f=Q.merge_index),"trigger_search_term"in Q&&t(23,p=Q.trigger_search_term),"translations"in Q&&t(7,U=Q.translations),"autofocus"in Q&&t(8,y=Q.autofocus),"focus_on_slash"in Q&&t(31,q=Q.focus_on_slash),"sort"in Q&&t(32,J=Q.sort),"selected_filters"in Q&&t(0,N=Q.selected_filters)},l.$$.update=()=>{l.$$.dirty[0]&8388608&&p&&(t(9,S=p),t(23,p="")),l.$$.dirty[0]&513&&Vs(S,N)},[N,n,g,C,A,d,o,U,y,S,v,gt,bt,Zl,ft,Ft,Nl,pt,Ie,El,Rs,Ll,vs,p,u,r,i,c,I,m,f,q,J,Hs,Ms,Ys,ws,zs,Js]}var xl=class extends M{constructor(e){super(),K(this,e,Vg,Wg,O,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,focus_on_slash:31,sort:32,selected_filters:0},null,[-1,-1])}},ks=xl;var yl;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(yl=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{yl="/pagefind/"}var mt=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??yl,a=e.pageSize??5,r=e.resetStyles??!0,i=e.showImages??!0,n=e.showSubResults??!1,g=e.excerptLength??0,C=e.processResult??null,u=e.processTerm??null,A=e.showEmptyFilters??!0,c=e.openFilters??[],d=e.debounceTimeoutMs??300,o=e.mergeIndex??[],I=e.translations??[],m=e.autofocus??!1,f=e.focusOnSlash??!1,p=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.focusOnSlash,delete e.sort;let U=t instanceof HTMLElement?t:document.querySelector(t);U?this._pfs=new ks({target:U,props:{base_path:s,page_size:a,reset_styles:r,show_images:i,show_sub_results:n,excerpt_length:g,process_result:C,process_term:u,show_empty_filters:A,open_filters:c,debounce_timeout_ms:d,merge_index:o,translations:I,autofocus:m,focus_on_slash:f,sort:p,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[s,a]of Object.entries(e))if(Array.isArray(a))for(let r of a)t[`${s}:${r}`]=!0;else t[`${s}:${a}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};window.PagefindUI=mt;})(); diff --git a/pagefind/pagefind-worker.js b/pagefind/pagefind-worker.js new file mode 100644 index 0000000..e2b1dd2 --- /dev/null +++ b/pagefind/pagefind-worker.js @@ -0,0 +1,6 @@ +const pagefind_version="1.5.2";let wasm_bindgen=(function(exports){let script_src;if(typeof document!=='undefined'&&document.currentScript!==null){script_src=new URL("UNHANDLED",location.href).toString();}function add_synthetic_filter(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret>>>0;}exports.add_synthetic_filter=add_synthetic_filter;function enter_playground_mode(ptr){const ret=wasm.enter_playground_mode(ptr);return ret>>>0;}exports.enter_playground_mode=enter_playground_mode;function filters(ptr){let deferred1_0;let deferred1_1;try{const ret=wasm.filters(ptr);deferred1_0=ret[0];deferred1_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred1_0,deferred1_1,1);}}exports.filters=filters;function init_pagefind(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret>>>0;}exports.init_pagefind=init_pagefind;function load_filter_chunk(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret>>>0;}exports.load_filter_chunk=load_filter_chunk;function load_index_chunk(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret>>>0;}exports.load_index_chunk=load_index_chunk;function request_all_filter_indexes(ptr){let deferred1_0;let deferred1_1;try{const ret=wasm.request_all_filter_indexes(ptr);deferred1_0=ret[0];deferred1_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred1_0,deferred1_1,1);}}exports.request_all_filter_indexes=request_all_filter_indexes;function request_filter_indexes(ptr,filters){let deferred2_0;let deferred2_1;try{const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.request_filter_indexes(ptr,ptr0,len0);deferred2_0=ret[0];deferred2_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred2_0,deferred2_1,1);}}exports.request_filter_indexes=request_filter_indexes;function request_indexes(ptr,query){let deferred2_0;let deferred2_1;try{const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.request_indexes(ptr,ptr0,len0);deferred2_0=ret[0];deferred2_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred2_0,deferred2_1,1);}}exports.request_indexes=request_indexes;function search(ptr,query,original_query,filter,sort,exact,exact_diacritics){let deferred5_0;let deferred5_1;try{const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(original_query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;const ptr3=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len3=WASM_VECTOR_LEN;const ret=wasm.search(ptr,ptr0,len0,ptr1,len1,ptr2,len2,ptr3,len3,exact,exact_diacritics);deferred5_0=ret[0];deferred5_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred5_0,deferred5_1,1);}}exports.search=search;function set_ranking_weights(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0;}exports.set_ranking_weights=set_ranking_weights;function __wbg_get_imports(){const import0={__proto__:null,__wbindgen_init_externref_table:function(){const table=wasm.__wbindgen_externrefs;const offset=table.grow(4);table.set(0,undefined);table.set(offset+0,undefined);table.set(offset+1,null);table.set(offset+2,true);table.set(offset+3,false);},};return{__proto__:null,"./pagefind_web_bg.js":import0,};}function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return decodeText(ptr,len);}let cachedUint8ArrayMemory0=null;function getUint8ArrayMemory0(){if(cachedUint8ArrayMemory0===null||cachedUint8ArrayMemory0.byteLength===0){cachedUint8ArrayMemory0=new Uint8Array(wasm.memory.buffer);}return cachedUint8ArrayMemory0;}function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8ArrayMemory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr;}function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8ArrayMemory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr;}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8ArrayMemory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code;}if(offset!==len){if(offset!==0){arg=arg.slice(offset);}ptr=realloc(ptr,len,len=offset+arg.length*3,1)>>>0;const view=getUint8ArrayMemory0().subarray(ptr+offset,ptr+len);const ret=cachedTextEncoder.encodeInto(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0;}WASM_VECTOR_LEN=offset;return ptr;}let cachedTextDecoder=new TextDecoder('utf-8',{ignoreBOM:true,fatal:true});cachedTextDecoder.decode();function decodeText(ptr,len){return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr,ptr+len));}const cachedTextEncoder=new TextEncoder();if(!('encodeInto'in cachedTextEncoder)){cachedTextEncoder.encodeInto=function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length};};}let WASM_VECTOR_LEN=0;let wasmModule,wasm;function __wbg_finalize_init(instance,module){wasm=instance.exports;wasmModule=module;cachedUint8ArrayMemory0=null;wasm.__wbindgen_start();return wasm;}async function __wbg_load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports);}catch(e){const validResponse=module.ok&&expectedResponseType(module.type);if(validResponse&&module.headers.get('Content-Type')!=='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e);}else{throw e;}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports);}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module};}else{return instance;}}function expectedResponseType(type){switch(type){case'basic':case'cors':case'default':return true;}return false;}}function initSync(module){if(wasm!==undefined)return wasm;if(module!==undefined){if(Object.getPrototypeOf(module)===Object.prototype){({module}=module)}else{console.warn('using deprecated parameters for `initSync()`; pass a single object instead')}}const imports=__wbg_get_imports();if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module);}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module);}async function __wbg_init(module_or_path){if(wasm!==undefined)return wasm;if(module_or_path!==undefined){if(Object.getPrototypeOf(module_or_path)===Object.prototype){({module_or_path}=module_or_path)}else{console.warn('using deprecated parameters for the initialization function; pass a single object instead')}}if(module_or_path===undefined&&script_src!==undefined){module_or_path=script_src.replace(/\.js$/,"_bg.wasm");}const imports=__wbg_get_imports();if(typeof module_or_path==='string'||(typeof Request==='function'&&module_or_path instanceof Request)||(typeof URL==='function'&&module_or_path instanceof URL)){module_or_path=fetch(module_or_path);}const{instance,module}=await __wbg_load(await module_or_path,imports);return __wbg_finalize_init(instance,module);}return Object.assign(__wbg_init,{initSync},exports);})({__proto__:null});"use strict";(()=>{var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1;}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv;}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2];}}}return co;};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2];}return m;};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m;};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7);};var shft=function(p){return(p+7)/8|0;};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n;};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e;};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf;}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break;}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue;}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s;}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c;}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1);}else err(1);if(pos>tbts){if(noSt)err(0);break;}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break;}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break;}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break;}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2);};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0;};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)));}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1;}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0;}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score;}if(words.length<=excerpt_length){return 0;}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2];}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2);}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint;};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B");}else{fragment_words=content.split(/[\r\n\s]+/g);}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length;}if(start`)){continue;}fragment_words[word]=`${fragment_words[word]}`;}const excerpt=fragment_words.slice(start,start+length).join(joiner).trim();return{excerpt,plain_excerpt};};var calculate_sub_results=(fragment,desired_excerpt_length)=>{const effective_url=fragment.meta?.url||fragment.url;const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:effective_url,weighted_locations:[],locations:[],excerpt:"",plain_excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position};});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;const excerpts=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);current_anchor.excerpt=excerpts.excerpt;current_anchor.plain_excerpt=excerpts.plain_excerpt;results.push(current_anchor);}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift();}let anchored_url=effective_url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString();}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`;}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"");}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`);}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:"",plain_excerpt:""};}}add_result(anchors[0]?.location);return results;};var import_meta={};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms));};var normalizeDiacritics=(str)=>{return str.normalize("NFD").replace(/\p{M}/gu,"");};var isBrowser=()=>typeof window!=="undefined"&&typeof document!=="undefined";var needsWordSegmentation=(lang)=>{if(!lang)return false;const primaryLang=lang.split("-")[0].toLowerCase();return["zh","ja","th"].includes(primaryLang);};var PagefindInstance=class{constructor(opts={}){__publicField(this,"backend");__publicField(this,"decoder");__publicField(this,"wasm");__publicField(this,"basePath");__publicField(this,"baseUrl");__publicField(this,"primary");__publicField(this,"indexWeight");__publicField(this,"excerptLength");__publicField(this,"mergeFilter");__publicField(this,"ranking");__publicField(this,"highlightParam");__publicField(this,"exactDiacritics");__publicField(this,"metaCacheTag");__publicField(this,"loaded_chunks");__publicField(this,"loaded_filters");__publicField(this,"loaded_fragments");__publicField(this,"fetchQueue",[]);__publicField(this,"activeFetches",0);__publicField(this,"maxConcurrentFetches",100);__publicField(this,"raw_ptr");__publicField(this,"initError");__publicField(this,"searchMeta");__publicField(this,"languages");__publicField(this,"loadedLanguage");__publicField(this,"includeCharacters");__publicField(this,"version");__publicField(this,"loadedVersion");this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;let basePath=opts.basePath||"/pagefind/";let primary=opts.primary||false;if(primary&&!opts.basePath&&isBrowser()){basePath=this.initPrimaryBasePath(basePath);}if(/[^\/]$/.test(basePath)){basePath=`${basePath}/`;}if(isBrowser()&&window?.location?.origin&&basePath.startsWith(window.location.origin)){basePath=basePath.replace(window.location.origin,"");}this.basePath=basePath;this.baseUrl=opts.baseUrl||this.getDefaultBaseUrl(basePath);if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`;}this.primary=primary;this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.exactDiacritics=opts.exactDiacritics??false;this.metaCacheTag=opts.metaCacheTag??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.initError=null;this.searchMeta=null;this.languages=null;}throttledFetch(input){return new Promise((resolve,reject)=>{this.fetchQueue.push({resolve,reject,input});this.dequeueNextFetch();});}dequeueNextFetch(){while(this.fetchQueue.length>0&&this.activeFetchesb.page_count-a.page_count);if(topLang[0])return topLang[0];}throw new Error("Pagefind Error: No language indexes found.");}async loadMeta(index){try{let compressed_resp=await this.throttledFetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata");}catch(e){console.error(`Failed to load the meta index: +${e?.toString()}`);}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await this.throttledFetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression");}this.wasm=await this.backend({module_or_path:final_wasm});}catch(e){console.error(`Failed to load the Pagefind WASM: +${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: +${e?.toString()}`);}}async _loadGenericChunk(url,method){try{let compressed_resp=await this.throttledFetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk);}catch(e){console.error(`Failed to load the index chunk ${url}: +${e?.toString()}`);}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk");}return await this.loaded_chunks[hash];}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk");}return await this.loaded_filters[hash];}async _loadFragment(hash){let compressed_resp=await this.throttledFetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment));}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash);}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"");}if(!fragment.raw_url){fragment.raw_url=fragment.url;}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);const excerpts=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.excerpt=excerpts.excerpt;fragment.plain_excerpt=excerpts.plain_excerpt;fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment;}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw;}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/");}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized;}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term);}return processed.toString();}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term);}return processed.toString().replace(/^https:\/\/example\.com/,"");}catch(e2){return normalized;}}}async getPtr(){while(this.raw_ptr===null){if(this.initError){throw this.initError;}await asyncSleep(50);}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)");}return this.raw_ptr;}stringifyFilters(obj={}){return JSON.stringify(obj);}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`);}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`);}return`${sort}:${direction}`;}return``;}async filters(){let ptr=await this.getPtr();let filters=this.backend.request_all_filter_indexes(ptr);let filter_array=JSON.parse(filters);if(Array.isArray(filter_array)){let filter_chunks=filter_array.filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);}ptr=await this.getPtr();let results=this.backend.filters(ptr);return JSON.parse(results);}async preload(term,options={}){await this.search(term,{...options,preload:true});}async search(term,options={}){options={verbose:false,filters:{},sort:{},...options};const log=(str)=>{if(options.verbose)console.log(str);};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`);}let trueLanguage=null;try{trueLanguage=Intl.getCanonicalLocales(this.loadedLanguage)[0];}catch(err2){}const term_chunks=[];if(trueLanguage&&typeof Intl.Segmenter!=="undefined"){const graphemeSegmenter=new Intl.Segmenter(trueLanguage,{granularity:"grapheme"});if(needsWordSegmentation(trueLanguage)){const wordSegmenter=new Intl.Segmenter(trueLanguage,{granularity:"word"});for(const{segment:word}of wordSegmenter.segment(term)){const wordChunks=[];for(const{segment:grapheme}of graphemeSegmenter.segment(word)){if(this.includeCharacters?.includes(grapheme)){wordChunks.push(grapheme);}else if(!/^\p{Pd}|\p{Pe}|\p{Pf}|\p{Pi}|\p{Po}|\p{Ps}$/u.test(grapheme)){wordChunks.push(grapheme.toLocaleLowerCase());}}if(wordChunks.length>0){term_chunks.push(wordChunks.join(""));}}term=term_chunks.join(" ").replace(/\s{2,}/g," ").trim();}else{for(const{segment:grapheme}of graphemeSegmenter.segment(term)){if(this.includeCharacters?.includes(grapheme)){term_chunks.push(grapheme);}else if(!/^\p{Pd}|\p{Pe}|\p{Pf}|\p{Pi}|\p{Po}|\p{Ps}$/u.test(grapheme)){term_chunks.push(grapheme.toLocaleLowerCase());}}term=term_chunks.join("").replace(/\s{2,}/g," ").trim();}}else{for(const char of term){if(this.includeCharacters?.includes(char)){term_chunks.push(char);}else if(!/^\p{Pd}|\p{Pe}|\p{Pf}|\p{Pi}|\p{Po}|\p{Ps}$/u.test(char)){term_chunks.push(char.toLocaleLowerCase());}}term=term_chunks.join("").replace(/\s{2,}/g," ").trim();}const originalTerm=term;term=normalizeDiacritics(term);log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}};}let sort_list=this.stringifySorts(options.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let index_array=JSON.parse(index_resp);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let filter_array=JSON.parse(filter_resp);let chunks=index_array.filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_array.filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options.preload){log(`Preload \u2014 bailing out of search operation now.`);return null;}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,originalTerm,filter_list,sort_list,exact_search,this.exactDiacritics);log(`Got the raw search result: ${result}`);let{filtered_counts,total_counts,results,unfiltered_total,search_keywords,query_term_idfs}=JSON.parse(result);let resultsInterface=results.map((result2)=>{let weighted_locations=result2.l.map((l)=>{let loc={weight:l.w/24,balanced_score:l.s,location:l.l};if(l.v){loc.verbose={word_string:l.v.ws,length_bonus:l.v.lb};}return loc;});let locations=weighted_locations.map((l)=>l.location);let res={id:result2.p,score:result2.s*this.indexWeight,words:locations,data:async()=>await this.loadFragment(result2.p,weighted_locations,term)};if(result2.params){res.params={document_length:result2.params.dl,average_page_length:result2.params.apl,total_pages:result2.params.tp};}if(result2.scores){res.scores=result2.scores.map((r)=>{return{search_term:r.w,idf:r.idf,saturating_tf:r.b_tf,raw_tf:r.r_tf,pagefind_tf:r.p_tf,score:r.s,params:{weighted_term_frequency:r.params.w_tf,pages_containing_term:r.params.pct,length_bonus:r.params.lb}};});}if(result2.mf&&result2.mf.length>0){res.matchedMetaFields=result2.mf;}if(result2.vms&&result2.vms.length>0){res.verbose_meta_scores=result2.vms.map((s)=>({field_name:s.fn,field_weight:s.fw,matched_terms:s.mt,matched_idf:s.mi,query_total_idf:s.ti,coverage:s.cv,coverage_boost:s.cb}));}return res;});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);let response={results:resultsInterface,unfilteredResultCount:unfiltered_total,filters:filtered_counts,totalFilters:total_counts,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}};if(search_keywords){response.search_keywords=search_keywords;}if(query_term_idfs){response.query_term_idfs=query_term_idfs.map((q)=>({term:q.t,idf:q.i}));}return response;}};var Pagefind=class{constructor(options={}){__publicField(this,"primaryLanguage");__publicField(this,"searchID");__publicField(this,"primary");__publicField(this,"instances");this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options,primary:true});this.instances=[this.primary];this.init(options?.language);}async options(options){await this.primary.options(options);}async enterPlaygroundMode(){await this.primary.enterPlaygroundMode();}async init(overrideLanguage){if(isBrowser()&&document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase();}if(overrideLanguage){this.primaryLanguage=overrideLanguage;}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true});}async mergeIndex(indexPath,options={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return;}let newInstance=new PagefindInstance({primary:false,basePath:indexPath,...options});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50);}await newInstance.init(options.language||this.primaryLanguage,{load_wasm:false});const{language,...remainingOptions}=options;await newInstance.options(remainingOptions);}mergeFilters(filters){const merged={};for(const searchFilter of filters){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue;}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count;}}}}return merged;}async filters(){let filters=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters);}async preload(term,options={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options)));}async debouncedSearch(term,options,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null;}const searchResult=await this.search(term,options);if(thisSearchID!==this.searchID){return null;}return searchResult;}async search(term,options={}){let search=await Promise.all(this.instances.map((i2)=>i2.search(term,options)));const filters=this.mergeFilters(search.map((s)=>s.filters));const totalFilters=this.mergeFilters(search.map((s)=>s.totalFilters));const results=search.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search.map((s)=>s.timings);const unfilteredResultCount=search.reduce((sum,s)=>sum+s.unfilteredResultCount,0);let response={results,unfilteredResultCount,filters,totalFilters,timings};if(search[0].search_keywords){response.search_keywords=search[0].search_keywords;}if(search[0].query_term_idfs){response.query_term_idfs=search[0].query_term_idfs;}return response;}};var dataCallbacks=new Map();var instanceDataIds=new Map();var instances=new Map();var DEFAULT_INSTANCE="default";var getInstance=(instanceId)=>{const instance=instances.get(instanceId);if(!instance){throw new Error(`Pagefind instance "${instanceId}" not initialized`);}return instance;};var registerDataCallback=(instanceId,dataId,dataFn)=>{dataCallbacks.set(dataId,{getData:dataFn});if(!instanceDataIds.has(instanceId)){instanceDataIds.set(instanceId,new Set());}instanceDataIds.get(instanceId).add(dataId);};var handleMessage=async(message)=>{const{id,method,args}=message;const instanceId=message.instanceId??DEFAULT_INSTANCE;try{switch(method){case"init":{const[options]=args;instances.set(instanceId,new Pagefind(options));return{id,result:true};}case"options":{const pagefindInstance=getInstance(instanceId);const[options]=args;await pagefindInstance.options(options);return{id,result:true};}case"enterPlaygroundMode":{const pagefindInstance=getInstance(instanceId);await pagefindInstance.enterPlaygroundMode();return{id,result:true};}case"mergeIndex":{const pagefindInstance=getInstance(instanceId);const[indexPath,options]=args;await pagefindInstance.mergeIndex(indexPath,options);return{id,result:true};}case"search":{const pagefindInstance=getInstance(instanceId);const[term,options]=args;const results=await pagefindInstance.search(term,options);if(results&&results.results){for(let i2=0;i2{const message=event.data;const response=await handleMessage(message);self.postMessage(response);});})(); \ No newline at end of file diff --git a/pagefind/pagefind.en_3bda61df65.pf_meta b/pagefind/pagefind.en_3bda61df65.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..181059f635427640a9ebfd314ac02f2b9c73a04a GIT binary patch literal 217 zcmV;~04Dz*iwFP!00002|0T}BO#?v;1yHd-LJMvp+L`g}+M*YtiS0o_Xo*A$SQ3dF zCnRp1km!ah1yBG=3E7=FzVC0#yL4}PJLpgQmZ#=^uK6Y{Y9EX-}_G72nqh2GQ$5oo^Zu3+n}gQk`v zp>51V^IOZzY>8m`QJ*B&Q=j4bRG(zl>=YJ1hhu7Gu%|girZ}BAPJWiZ@q5lJ^iz|^ T@x}Jr{iB@$HQkJH2LS*8nJsAm literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.js b/pagefind/pagefind.js new file mode 100644 index 0000000..1e38c36 --- /dev/null +++ b/pagefind/pagefind.js @@ -0,0 +1,6 @@ +const pagefind_version="1.5.2";let wasm_bindgen=(function(exports){let script_src;if(typeof document!=='undefined'&&document.currentScript!==null){script_src=new URL("UNHANDLED",location.href).toString();}function add_synthetic_filter(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret>>>0;}exports.add_synthetic_filter=add_synthetic_filter;function enter_playground_mode(ptr){const ret=wasm.enter_playground_mode(ptr);return ret>>>0;}exports.enter_playground_mode=enter_playground_mode;function filters(ptr){let deferred1_0;let deferred1_1;try{const ret=wasm.filters(ptr);deferred1_0=ret[0];deferred1_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred1_0,deferred1_1,1);}}exports.filters=filters;function init_pagefind(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret>>>0;}exports.init_pagefind=init_pagefind;function load_filter_chunk(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret>>>0;}exports.load_filter_chunk=load_filter_chunk;function load_index_chunk(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret>>>0;}exports.load_index_chunk=load_index_chunk;function request_all_filter_indexes(ptr){let deferred1_0;let deferred1_1;try{const ret=wasm.request_all_filter_indexes(ptr);deferred1_0=ret[0];deferred1_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred1_0,deferred1_1,1);}}exports.request_all_filter_indexes=request_all_filter_indexes;function request_filter_indexes(ptr,filters){let deferred2_0;let deferred2_1;try{const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.request_filter_indexes(ptr,ptr0,len0);deferred2_0=ret[0];deferred2_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred2_0,deferred2_1,1);}}exports.request_filter_indexes=request_filter_indexes;function request_indexes(ptr,query){let deferred2_0;let deferred2_1;try{const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.request_indexes(ptr,ptr0,len0);deferred2_0=ret[0];deferred2_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred2_0,deferred2_1,1);}}exports.request_indexes=request_indexes;function search(ptr,query,original_query,filter,sort,exact,exact_diacritics){let deferred5_0;let deferred5_1;try{const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(original_query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;const ptr3=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len3=WASM_VECTOR_LEN;const ret=wasm.search(ptr,ptr0,len0,ptr1,len1,ptr2,len2,ptr3,len3,exact,exact_diacritics);deferred5_0=ret[0];deferred5_1=ret[1];return getStringFromWasm0(ret[0],ret[1]);}finally{wasm.__wbindgen_free(deferred5_0,deferred5_1,1);}}exports.search=search;function set_ranking_weights(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0;}exports.set_ranking_weights=set_ranking_weights;function __wbg_get_imports(){const import0={__proto__:null,__wbindgen_init_externref_table:function(){const table=wasm.__wbindgen_externrefs;const offset=table.grow(4);table.set(0,undefined);table.set(offset+0,undefined);table.set(offset+1,null);table.set(offset+2,true);table.set(offset+3,false);},};return{__proto__:null,"./pagefind_web_bg.js":import0,};}function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return decodeText(ptr,len);}let cachedUint8ArrayMemory0=null;function getUint8ArrayMemory0(){if(cachedUint8ArrayMemory0===null||cachedUint8ArrayMemory0.byteLength===0){cachedUint8ArrayMemory0=new Uint8Array(wasm.memory.buffer);}return cachedUint8ArrayMemory0;}function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8ArrayMemory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr;}function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8ArrayMemory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr;}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8ArrayMemory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code;}if(offset!==len){if(offset!==0){arg=arg.slice(offset);}ptr=realloc(ptr,len,len=offset+arg.length*3,1)>>>0;const view=getUint8ArrayMemory0().subarray(ptr+offset,ptr+len);const ret=cachedTextEncoder.encodeInto(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0;}WASM_VECTOR_LEN=offset;return ptr;}let cachedTextDecoder=new TextDecoder('utf-8',{ignoreBOM:true,fatal:true});cachedTextDecoder.decode();function decodeText(ptr,len){return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr,ptr+len));}const cachedTextEncoder=new TextEncoder();if(!('encodeInto'in cachedTextEncoder)){cachedTextEncoder.encodeInto=function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length};};}let WASM_VECTOR_LEN=0;let wasmModule,wasm;function __wbg_finalize_init(instance,module){wasm=instance.exports;wasmModule=module;cachedUint8ArrayMemory0=null;wasm.__wbindgen_start();return wasm;}async function __wbg_load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports);}catch(e){const validResponse=module.ok&&expectedResponseType(module.type);if(validResponse&&module.headers.get('Content-Type')!=='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e);}else{throw e;}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports);}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module};}else{return instance;}}function expectedResponseType(type){switch(type){case'basic':case'cors':case'default':return true;}return false;}}function initSync(module){if(wasm!==undefined)return wasm;if(module!==undefined){if(Object.getPrototypeOf(module)===Object.prototype){({module}=module)}else{console.warn('using deprecated parameters for `initSync()`; pass a single object instead')}}const imports=__wbg_get_imports();if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module);}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module);}async function __wbg_init(module_or_path){if(wasm!==undefined)return wasm;if(module_or_path!==undefined){if(Object.getPrototypeOf(module_or_path)===Object.prototype){({module_or_path}=module_or_path)}else{console.warn('using deprecated parameters for the initialization function; pass a single object instead')}}if(module_or_path===undefined&&script_src!==undefined){module_or_path=script_src.replace(/\.js$/,"_bg.wasm");}const imports=__wbg_get_imports();if(typeof module_or_path==='string'||(typeof Request==='function'&&module_or_path instanceof Request)||(typeof URL==='function'&&module_or_path instanceof URL)){module_or_path=fetch(module_or_path);}const{instance,module}=await __wbg_load(await module_or_path,imports);return __wbg_finalize_init(instance,module);}return Object.assign(__wbg_init,{initSync},exports);})({__proto__:null});var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1;}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv;}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2];}}}return co;};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2];}return m;};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m;};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7);};var shft=function(p){return(p+7)/8|0;};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n;};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e;};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf;}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break;}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue;}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s;}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c;}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1);}else err(1);if(pos>tbts){if(noSt)err(0);break;}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break;}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break;}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break;}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2);};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0;};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)));}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1;}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0;}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score;}if(words.length<=excerpt_length){return 0;}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2];}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2);}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint;};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B");}else{fragment_words=content.split(/[\r\n\s]+/g);}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length;}if(start`)){continue;}fragment_words[word]=`${fragment_words[word]}`;}const excerpt=fragment_words.slice(start,start+length).join(joiner).trim();return{excerpt,plain_excerpt};};var calculate_sub_results=(fragment,desired_excerpt_length)=>{const effective_url=fragment.meta?.url||fragment.url;const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:effective_url,weighted_locations:[],locations:[],excerpt:"",plain_excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position};});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;const excerpts=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);current_anchor.excerpt=excerpts.excerpt;current_anchor.plain_excerpt=excerpts.plain_excerpt;results.push(current_anchor);}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift();}let anchored_url=effective_url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString();}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`;}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"");}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`);}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:"",plain_excerpt:""};}}add_result(anchors[0]?.location);return results;};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms));};var normalizeDiacritics=(str)=>{return str.normalize("NFD").replace(/\p{M}/gu,"");};var isBrowser=()=>typeof window!=="undefined"&&typeof document!=="undefined";var needsWordSegmentation=(lang)=>{if(!lang)return false;const primaryLang=lang.split("-")[0].toLowerCase();return["zh","ja","th"].includes(primaryLang);};var PagefindInstance=class{constructor(opts={}){__publicField(this,"backend");__publicField(this,"decoder");__publicField(this,"wasm");__publicField(this,"basePath");__publicField(this,"baseUrl");__publicField(this,"primary");__publicField(this,"indexWeight");__publicField(this,"excerptLength");__publicField(this,"mergeFilter");__publicField(this,"ranking");__publicField(this,"highlightParam");__publicField(this,"exactDiacritics");__publicField(this,"metaCacheTag");__publicField(this,"loaded_chunks");__publicField(this,"loaded_filters");__publicField(this,"loaded_fragments");__publicField(this,"fetchQueue",[]);__publicField(this,"activeFetches",0);__publicField(this,"maxConcurrentFetches",100);__publicField(this,"raw_ptr");__publicField(this,"initError");__publicField(this,"searchMeta");__publicField(this,"languages");__publicField(this,"loadedLanguage");__publicField(this,"includeCharacters");__publicField(this,"version");__publicField(this,"loadedVersion");this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;let basePath=opts.basePath||"/pagefind/";let primary=opts.primary||false;if(primary&&!opts.basePath&&isBrowser()){basePath=this.initPrimaryBasePath(basePath);}if(/[^\/]$/.test(basePath)){basePath=`${basePath}/`;}if(isBrowser()&&window?.location?.origin&&basePath.startsWith(window.location.origin)){basePath=basePath.replace(window.location.origin,"");}this.basePath=basePath;this.baseUrl=opts.baseUrl||this.getDefaultBaseUrl(basePath);if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`;}this.primary=primary;this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.exactDiacritics=opts.exactDiacritics??false;this.metaCacheTag=opts.metaCacheTag??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.initError=null;this.searchMeta=null;this.languages=null;}throttledFetch(input){return new Promise((resolve,reject)=>{this.fetchQueue.push({resolve,reject,input});this.dequeueNextFetch();});}dequeueNextFetch(){while(this.fetchQueue.length>0&&this.activeFetchesb.page_count-a.page_count);if(topLang[0])return topLang[0];}throw new Error("Pagefind Error: No language indexes found.");}async loadMeta(index){try{let compressed_resp=await this.throttledFetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata");}catch(e){console.error(`Failed to load the meta index: +${e?.toString()}`);}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await this.throttledFetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression");}this.wasm=await this.backend({module_or_path:final_wasm});}catch(e){console.error(`Failed to load the Pagefind WASM: +${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: +${e?.toString()}`);}}async _loadGenericChunk(url,method){try{let compressed_resp=await this.throttledFetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk);}catch(e){console.error(`Failed to load the index chunk ${url}: +${e?.toString()}`);}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk");}return await this.loaded_chunks[hash];}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk");}return await this.loaded_filters[hash];}async _loadFragment(hash){let compressed_resp=await this.throttledFetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment));}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash);}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"");}if(!fragment.raw_url){fragment.raw_url=fragment.url;}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);const excerpts=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.excerpt=excerpts.excerpt;fragment.plain_excerpt=excerpts.plain_excerpt;fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment;}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw;}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/");}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized;}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term);}return processed.toString();}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term);}return processed.toString().replace(/^https:\/\/example\.com/,"");}catch(e2){return normalized;}}}async getPtr(){while(this.raw_ptr===null){if(this.initError){throw this.initError;}await asyncSleep(50);}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)");}return this.raw_ptr;}stringifyFilters(obj={}){return JSON.stringify(obj);}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`);}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`);}return`${sort}:${direction}`;}return``;}async filters(){let ptr=await this.getPtr();let filters2=this.backend.request_all_filter_indexes(ptr);let filter_array=JSON.parse(filters2);if(Array.isArray(filter_array)){let filter_chunks=filter_array.filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);}ptr=await this.getPtr();let results=this.backend.filters(ptr);return JSON.parse(results);}async preload(term,options2={}){await this.search(term,{...options2,preload:true});}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.verbose)console.log(str);};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`);}let trueLanguage=null;try{trueLanguage=Intl.getCanonicalLocales(this.loadedLanguage)[0];}catch(err2){}const term_chunks=[];if(trueLanguage&&typeof Intl.Segmenter!=="undefined"){const graphemeSegmenter=new Intl.Segmenter(trueLanguage,{granularity:"grapheme"});if(needsWordSegmentation(trueLanguage)){const wordSegmenter=new Intl.Segmenter(trueLanguage,{granularity:"word"});for(const{segment:word}of wordSegmenter.segment(term)){const wordChunks=[];for(const{segment:grapheme}of graphemeSegmenter.segment(word)){if(this.includeCharacters?.includes(grapheme)){wordChunks.push(grapheme);}else if(!/^\p{Pd}|\p{Pe}|\p{Pf}|\p{Pi}|\p{Po}|\p{Ps}$/u.test(grapheme)){wordChunks.push(grapheme.toLocaleLowerCase());}}if(wordChunks.length>0){term_chunks.push(wordChunks.join(""));}}term=term_chunks.join(" ").replace(/\s{2,}/g," ").trim();}else{for(const{segment:grapheme}of graphemeSegmenter.segment(term)){if(this.includeCharacters?.includes(grapheme)){term_chunks.push(grapheme);}else if(!/^\p{Pd}|\p{Pe}|\p{Pf}|\p{Pi}|\p{Po}|\p{Ps}$/u.test(grapheme)){term_chunks.push(grapheme.toLocaleLowerCase());}}term=term_chunks.join("").replace(/\s{2,}/g," ").trim();}}else{for(const char of term){if(this.includeCharacters?.includes(char)){term_chunks.push(char);}else if(!/^\p{Pd}|\p{Pe}|\p{Pf}|\p{Pi}|\p{Po}|\p{Ps}$/u.test(char)){term_chunks.push(char.toLocaleLowerCase());}}term=term_chunks.join("").replace(/\s{2,}/g," ").trim();}const originalTerm=term;term=normalizeDiacritics(term);log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}};}let sort_list=this.stringifySorts(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let index_array=JSON.parse(index_resp);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let filter_array=JSON.parse(filter_resp);let chunks=index_array.filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_array.filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null;}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,originalTerm,filter_list,sort_list,exact_search,this.exactDiacritics);log(`Got the raw search result: ${result}`);let{filtered_counts,total_counts,results,unfiltered_total,search_keywords,query_term_idfs}=JSON.parse(result);let resultsInterface=results.map((result2)=>{let weighted_locations=result2.l.map((l)=>{let loc={weight:l.w/24,balanced_score:l.s,location:l.l};if(l.v){loc.verbose={word_string:l.v.ws,length_bonus:l.v.lb};}return loc;});let locations=weighted_locations.map((l)=>l.location);let res={id:result2.p,score:result2.s*this.indexWeight,words:locations,data:async()=>await this.loadFragment(result2.p,weighted_locations,term)};if(result2.params){res.params={document_length:result2.params.dl,average_page_length:result2.params.apl,total_pages:result2.params.tp};}if(result2.scores){res.scores=result2.scores.map((r)=>{return{search_term:r.w,idf:r.idf,saturating_tf:r.b_tf,raw_tf:r.r_tf,pagefind_tf:r.p_tf,score:r.s,params:{weighted_term_frequency:r.params.w_tf,pages_containing_term:r.params.pct,length_bonus:r.params.lb}};});}if(result2.mf&&result2.mf.length>0){res.matchedMetaFields=result2.mf;}if(result2.vms&&result2.vms.length>0){res.verbose_meta_scores=result2.vms.map((s)=>({field_name:s.fn,field_weight:s.fw,matched_terms:s.mt,matched_idf:s.mi,query_total_idf:s.ti,coverage:s.cv,coverage_boost:s.cb}));}return res;});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);let response={results:resultsInterface,unfilteredResultCount:unfiltered_total,filters:filtered_counts,totalFilters:total_counts,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}};if(search_keywords){response.search_keywords=search_keywords;}if(query_term_idfs){response.query_term_idfs=query_term_idfs.map((q)=>({term:q.t,idf:q.i}));}return response;}};var Pagefind=class{constructor(options2={}){__publicField(this,"primaryLanguage");__publicField(this,"searchID");__publicField(this,"primary");__publicField(this,"instances");this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language);}async options(options2){await this.primary.options(options2);}async enterPlaygroundMode(){await this.primary.enterPlaygroundMode();}async init(overrideLanguage){if(isBrowser()&&document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase();}if(overrideLanguage){this.primaryLanguage=overrideLanguage;}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true});}async mergeIndex(indexPath,options2={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return;}let newInstance=new PagefindInstance({primary:false,basePath:indexPath,...options2});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50);}await newInstance.init(options2.language||this.primaryLanguage,{load_wasm:false});const{language,...remainingOptions}=options2;await newInstance.options(remainingOptions);}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue;}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count;}}}}return merged;}async filters(){let filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2);}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)));}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null;}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null;}return searchResult;}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);let response={results,unfilteredResultCount,filters:filters2,totalFilters,timings};if(search2[0].search_keywords){response.search_keywords=search2[0].search_keywords;}if(search2[0].query_term_idfs){response.query_term_idfs=search2[0].query_term_idfs;}return response;}};var hasWorkerSupport=typeof window!=="undefined"&&typeof document!=="undefined"&&typeof Worker!=="undefined";var sharedWorker=null;var sharedWorkerRefCount=0;var sharedMessageHandlers=new Map();var nextInstanceId=0;var generateInstanceId=()=>`pf_${nextInstanceId++}`;function initSharedWorker(basePath){if(sharedWorker)return true;try{const workerUrl=`${basePath}pagefind-worker.js`;sharedWorker=new Worker(workerUrl);sharedWorker.addEventListener("error",(error)=>{console.warn("The Pagefind web worker encountered an error, falling back to main thread:",error);sharedWorker=null;const pending=Array.from(sharedMessageHandlers.values());sharedMessageHandlers.clear();for(const{reject}of pending){reject(new Error("Worker failed, falling back to main thread"));}});sharedWorker.addEventListener("message",(event)=>{const{id,result,error}=event.data;const pending=sharedMessageHandlers.get(id);if(pending){sharedMessageHandlers.delete(id);if(error){pending.reject(new Error(error));}else{pending.resolve(result);}}});return true;}catch(e){return false;}}function releaseSharedWorker(){sharedWorkerRefCount--;if(sharedWorkerRefCount<=0&&sharedWorker){sharedWorker.terminate();sharedWorker=null;sharedWorkerRefCount=0;const pending=Array.from(sharedMessageHandlers.values());sharedMessageHandlers.clear();for(const{reject}of pending){reject(new Error("Pagefind worker terminated"));}}}var globalMessageId=0;function sendWorkerMessage(instanceId,method,args){if(!sharedWorker){return Promise.reject(new Error("Worker not available"));}return new Promise((resolve,reject)=>{const id=`msg_${globalMessageId++}`;sharedMessageHandlers.set(id,{resolve,reject});sharedWorker.postMessage({id,instanceId,method,args});});}var PagefindWrapper=class{constructor(options2={}){__publicField(this,"instanceId");__publicField(this,"fallback",null);__publicField(this,"basePath");__publicField(this,"initOptions");__publicField(this,"cleanup");__publicField(this,"initPromise",null);__publicField(this,"initialized",false);__publicField(this,"useWorker",false);this.instanceId=generateInstanceId();this.basePath=options2.basePath||"/pagefind/";this.initOptions=options2;if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`;}if(hasWorkerSupport&&window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,"");}this.initOptions={...this.initOptions,basePath:this.basePath};this.initCleanup();this.initPromise=this.init();}initCleanup(){if(typeof FinalizationRegistry!=="undefined"){this.cleanup=new FinalizationRegistry((dataId)=>{if(this.useWorker&&sharedWorker){try{sendWorkerMessage(this.instanceId,"releaseData",[dataId]).catch(()=>{});}catch(e){}}});}}async init(){if(hasWorkerSupport&&!this.initOptions.noWorker){const workerAvailable=initSharedWorker(this.basePath);if(workerAvailable){try{sharedWorkerRefCount++;this.useWorker=true;await Promise.race([sendWorkerMessage(this.instanceId,"init",[this.initOptions]),new Promise((_,reject)=>setTimeout(()=>reject(new Error("Worker initialization timeout")),5e3))]);this.initialized=true;}catch(error){console.warn("Failed to initialize Pagefind in the web worker, falling back to main thread:",error);sendWorkerMessage(this.instanceId,"destroy",[]).catch(()=>{});this.useWorker=false;sharedWorkerRefCount--;this.initFallback();this.initialized=true;}}else{this.initFallback();this.initialized=true;}}else{this.initFallback();this.initialized=true;}}waitForInit(){return this.initPromise??Promise.resolve();}initFallback(){if(!this.fallback){this.fallback=new Pagefind(this.initOptions);}}async sendMessage(method,args){if(!this.initialized&&method!=="init"){if(this.initPromise){await this.initPromise;}}if(this.fallback){const fn=this.fallback[method];if(typeof fn==="function"){const result=await fn.apply(this.fallback,args);if((method==="search"||method==="debouncedSearch")&&result&&args[1]&&args[1].verbose){result.search_environment="mainthread";}return result;}throw new Error(`Method ${method} not found on fallback`);}if(!this.useWorker||!sharedWorker){throw new Error("Worker not initialized");}return sendWorkerMessage(this.instanceId,method,args);}async options(options2){return this.sendMessage("options",[options2]);}async enterPlaygroundMode(){return this.sendMessage("enterPlaygroundMode",[]);}async mergeIndex(indexPath,options2={}){return this.sendMessage("mergeIndex",[indexPath,options2]);}async search(term,options2={}){const results=await this.sendMessage("search",[term,options2]);if(results&&results.results){for(const result of results.results){if(typeof result.data==="string"){const dataId=result.data;if(this.cleanup){this.cleanup.register(result,dataId);}result.data=async()=>{return this.sendMessage("getData",[dataId]);};}}}return results;}async debouncedSearch(term,options2,debounceTimeoutMs){const results=await this.sendMessage("debouncedSearch",[term,options2,debounceTimeoutMs]);if(results&&results.results){for(const result of results.results){if(typeof result.data==="string"){const dataId=result.data;if(this.cleanup){this.cleanup.register(result,dataId);}result.data=async()=>{return this.sendMessage("getData",[dataId]);};}}}return results;}async preload(term,options2={}){return this.sendMessage("preload",[term,options2]);}async filters(){return this.sendMessage("filters",[]);}async destroy(){if(this.useWorker){try{await sendWorkerMessage(this.instanceId,"destroy",[]);}catch(e){}this.useWorker=false;releaseSharedWorker();}if(this.fallback){this.fallback=null;}}};var pagefind=void 0;var initial_options=void 0;var deriveBasePath=(explicit)=>{if(explicit)return explicit;if(typeof import.meta.url!=="undefined"){return import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];}};var detectLanguage=()=>{if(typeof document!=="undefined"&&document?.querySelector){return(document.querySelector("html")?.getAttribute("lang")||"unknown").toLowerCase();}return"unknown";};var init_pagefind=()=>{if(!pagefind){pagefind=new PagefindWrapper({...initial_options,basePath:deriveBasePath(initial_options?.basePath),language:detectLanguage(),primary:true});}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options);}else{initial_options=new_options;}};var init=async()=>{init_pagefind();};var destroy=async()=>{if(pagefind){await pagefind.destroy();}pagefind=void 0;initial_options=void 0;};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2);};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2);};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs);};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2);};var filters=async()=>{init_pagefind();return await pagefind.filters();};var createInstance=(instanceOptions)=>{const wrapper=new PagefindWrapper({...instanceOptions,basePath:deriveBasePath(instanceOptions?.basePath),language:detectLanguage(),primary:true});return{options:(opts)=>wrapper.options(opts),init:()=>wrapper.waitForInit(),destroy:()=>wrapper.destroy(),mergeIndex:(indexPath,options2)=>wrapper.mergeIndex(indexPath,options2),search:(term,options2={})=>wrapper.search(term,options2),debouncedSearch:(term,options2,debounceTimeoutMs=300)=>wrapper.debouncedSearch(term,options2,debounceTimeoutMs),preload:(term,options2={})=>wrapper.preload(term,options2),filters:()=>wrapper.filters()};};export{createInstance,debouncedSearch,destroy,filters,init,mergeIndex,options,preload,search}; \ No newline at end of file diff --git a/pagefind/wasm.en.pagefind b/pagefind/wasm.en.pagefind new file mode 100644 index 0000000000000000000000000000000000000000..92f80225661f5a94d9cfa8d7f496bc5c7618be9b GIT binary patch literal 72209 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 L&Ni(2XHEhDA8JaK literal 0 HcmV?d00001 diff --git a/pagefind/wasm.unknown.pagefind b/pagefind/wasm.unknown.pagefind new file mode 100644 index 0000000000000000000000000000000000000000..76d1c77ec6b3713845c8aaa112d26dc62d1ca0c6 GIT binary patch literal 68024 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 literal 0 HcmV?d00001 diff --git a/quickstart/index.html b/quickstart/index.html new file mode 100644 index 0000000..70535af --- /dev/null +++ b/quickstart/index.html @@ -0,0 +1,132 @@ + Quickstart | codeanalyzer-python + Skip to content

    Quickstart

    canpy points at a Python project and produces one typed artifact — its symbol table, call graph, and framework entrypoints. Three steps below: install, run it against a project, and read the result. Then emit the same analysis into a Neo4j property graph.

    + +
      +
    1. +

      Install the CLI.

      +
      Terminal window
      pip install codeanalyzer-python
      +

      That installs the canpy command. Jedi and Tree-sitter ship with the package; CodeQL is downloaded on demand only if you opt in with --codeql.

      + +
    2. +
    3. +

      Run it against a project.

      +

      Point --input at any Python project root and --output at a directory for the result.

      +
      Terminal window
      canpy --input ./my-python-project --output ./out
      +

      On the first run canpy creates a virtual environment under .codeanalyzer/, installs the project’s dependencies into it, walks every .py file, and writes ./out/analysis.json. This is the default --emit json target.

      + +
    4. +
    5. +

      Read the result.

      +

      analysis.json is a single PyApplication object with three top-level keys.

      +
      Terminal window
      jq 'keys' ./out/analysis.json
      # [ "call_graph", "entrypoints", "symbol_table" ]
      +
      jq '.symbol_table | length' ./out/analysis.json # modules analyzed
      jq '.call_graph | length' ./out/analysis.json # call edges
      +

      That’s it — a directory of source files is now a typed, queryable model of the program.

      +
    6. +
    + +

    The call graph is a flat list of source -> target edges keyed by callable signature, so it drops straight into networkx:

    +
    reachable.py
    import json
    import networkx as nx
    +
    app = json.load(open("./out/analysis.json"))
    +
    g = nx.DiGraph()
    for edge in app["call_graph"]:
    g.add_edge(edge["source"], edge["target"])
    +
    print(g.number_of_nodes(), "nodes,", g.number_of_edges(), "edges")
    # Is a sink reachable from an entrypoint? A graph query, not a guess.
    # print(nx.has_path(g, entry_sig, sink_sig))
    +

    This works well for one application held in memory. When you want the analysis to persist, compose across many applications, or be read by other tools without re-running it, emit it into Neo4j instead.

    + +

    canpy builds one analysis in memory and can project it into a labeled property graph with --emit neo4j. Every node label is Py-prefixed and every relationship type PY_-prefixed (:PyClass, PY_CALLS), so Java, TypeScript, and Python analyzers can share one database without label or relationship-type collisions. Each application is anchored at its own :PyApplication node, named by --app-name, so a single Neo4j database holds many applications and you query across them with Cypher instead of loading giant JSON blobs.

    +

    There are two ways to get the graph into Neo4j, selected solely by whether you pass --neo4j-uri.

    +

    Without --neo4j-uri, canpy writes a self-contained graph.cypher to --output (constraints + indexes, a scoped wipe of this app’s prior subgraph, then batched MERGEs). It needs no extra dependencies and expresses the full truth of the analysis:

    Terminal window
    canpy --input ./my-python-project --emit neo4j --app-name my-service --output ./out

    Load it into a running Neo4j with cypher-shell:

    Terminal window
    cypher-shell < ./out/graph.cypher

    The snapshot does a scoped DETACH DELETE of the :PyApplication {name: "my-service"} subtree before reloading, so re-running it replaces this application cleanly without touching other applications in the database.

    + +

    Once the graph is loaded, query it with Cypher — for example, the call edges out of a single application:

    +
    MATCH (:PyApplication {name: "my-service"})-[:PY_HAS_MODULE]->(:PyModule)
    -[:PY_DECLARES]->(c:PyCallable)-[:PY_CALLS]->(callee)
    RETURN c.signature, callee.signature
    LIMIT 25;
    + +

    The graph is populated out of band by canpy; consumers just read it. The CLDK Python SDK has a read-only Neo4j backend — point it at the Bolt URI with the same application_name you loaded under, and it reconstructs the same typed PyClass / PyCallable objects and the same networkx call graph as the in-process analyzer, with no JDK, no native binary, and no project source on the consumer. It only needs the graph and read-only credentials.

    +
    read_graph.py
    from cldk import CLDK
    from cldk.analysis.commons.backend_config import Neo4jConnectionConfig
    +
    analysis = CLDK.python(
    backend=Neo4jConnectionConfig(
    uri="bolt://localhost:7687",
    username="neo4j",
    password="neo4j",
    application_name="my-service", # matches canpy --app-name
    ),
    )
    +
    classes = analysis.get_classes() # Dict[str, PyClass]
    cg = analysis.get_call_graph() # networkx.DiGraph keyed by callable signatures
    +
    print(len(classes), "classes,", cg.number_of_edges(), "call edges")
    +

    The Neo4j backend in the SDK is the same optional extra: pip install cldk[neo4j]. See the Neo4j property graph guide for the full schema, incremental semantics, and the SDK read API.

    + +

    The default run uses Jedi for resolution — fast, no external tooling. Add --codeql to resolve the edges lexical analysis misses (dynamic dispatch, RPC, third-party targets). The CodeQL CLI is downloaded into the project cache on first use and reused thereafter. This augmentation applies to both the json and neo4j emit targets — the same enriched call graph is what gets projected into the property graph.

    +
    Terminal window
    canpy --input ./my-python-project --output ./out --codeql
    + + +
    \ No newline at end of file diff --git a/reference/cli/index.html b/reference/cli/index.html new file mode 100644 index 0000000..3d87c96 --- /dev/null +++ b/reference/cli/index.html @@ -0,0 +1,316 @@ + CLI options | codeanalyzer-python + Skip to content

    CLI options

    canpy [OPTIONS]
    +

    Static analysis on Python source code using Jedi, CodeQL, and Tree-sitter. canpy builds one analysis in memory and emits it to one of three targets selected by --emit: the default analysis.json (symbol table + call graph), a Neo4j property graph, or the version-stamped Neo4j schema contract.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    OptionAliasTypeDefaultDescription
    --input-iPATHNonePath to the project root directory. Required for --emit json and --emit neo4j; not required for --emit schema.
    --output-oPATHNoneOutput directory for artifacts. Behavior depends on --emit (see Output files).
    --format-fjson | msgpackjsonOutput serialization for --emit json.
    --emitjson | neo4j | schemajsonOutput target. jsonanalysis.json; neo4jgraph.cypher snapshot or a live Bolt push; schema → the Neo4j schema.json contract.
    --app-nameTEXTinput dir nameLogical application name for the graph’s :PyApplication anchor. Defaults to the resolved basename of --input.
    --neo4j-uriTEXTNonePush the graph to a live Neo4j over Bolt (incremental). Omit to write graph.cypher. Reads NEO4J_URI. Requires the neo4j extra.
    --neo4j-userTEXTneo4jNeo4j username. Reads NEO4J_USERNAME.
    --neo4j-passwordTEXTneo4jNeo4j password. Reads NEO4J_PASSWORD. Prefer the env var — the flag is visible in shell history and the process list.
    --neo4j-databaseTEXTNoneNeo4j database name. None uses the server default. Reads NEO4J_DATABASE.
    --codeql / --no-codeqlflag--no-codeqlEnable CodeQL-based call-graph resolution in addition to Jedi.
    --ray / --no-rayflag--no-rayUse Ray to build the symbol table in parallel.
    --eager / --lazyflag--lazyRebuild the analysis (and venv) from scratch vs. reuse cache.
    --skip-tests / --include-testsflag--skip-testsExclude or include test files in the analysis.
    --no-venv / --venvflag--venvResolve imports against the ambient interpreter instead of building a per-project venv. Useful in CI, containers, and sandboxed runs.
    --file-namePATHNoneAnalyze only this file (relative to --input; must be .py).
    --cache-dir-cPATHNoneWhere to store the cache. Defaults to .codeanalyzer in the input dir.
    --clear-cache / --keep-cacheflag--keep-cacheDelete the cache on exit vs. retain it.
    -vcount0Increase verbosity: -v (info), -vv (debug), -vvv (trace).
    --helpShow the help message and exit.
    + + +
      +
    • Lazy by default. Analysis reuses cached results for unchanged files. Use --eager to force a full rebuild.
    • +
    • Cache is kept by default. The cache survives between runs. Use --clear-cache to discard it on exit.
    • +
    • Tests excluded by default. Files under test/tests directories, or named test_*.py / *_test.py, are skipped unless you pass --include-tests.
    • +
    • CodeQL off by default. Jedi resolves the call graph alone unless --codeql is set; CodeQL augments it.
    • +
    • A venv is built by default. canpy provisions a per-project analysis venv (built with uv, falling back to pip) and wires it to Jedi for import resolution. Pass --no-venv to skip it and resolve against the ambient interpreter.
    • +
    + +

    What canpy produces depends on --emit:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    --emitWith --output ./outWithout --output
    json (default)./out/analysis.json (or analysis.msgpack with --format msgpack)compact JSON on stdout
    neo4j (no --neo4j-uri)./out/graph.cyphergraph.cypher in the current directory
    neo4j (with --neo4j-uri)live Bolt push — --output is unusedlive Bolt push
    schema./out/schema.jsonschema.json on stdout
    +

    For --emit json, --output names a directory, not a file — canpy writes analysis.json (or analysis.msgpack) inside it, creating the directory if needed. The json and msgpack formats encode the same PyApplication schema; see Output schema. The msgpack form is gzip-compressed MessagePack, and the CLI logs the compression ratio vs. JSON.

    + +

    --emit chooses where the single in-memory analysis goes. The analysis is built once; the target only decides how it is projected.

    + +

    The canonical symbol table and call graph as one JSON document. This is the in-process artifact every other tool has always consumed.

    +
    Terminal window
    # Symbol table + call graph to stdout
    canpy --input ./my-python-project
    +
    # Write JSON to a directory
    canpy --input ./my-python-project --output ./out
    +
    # msgpack + CodeQL, eager rebuild, cache discarded
    canpy --input ./my-python-project --output ./out --format msgpack --codeql --eager --clear-cache
    + +

    Projects the same in-memory PyApplication into a labeled property graph. Every node label is Py-prefixed and every relationship type is PY_-prefixed (e.g. :PyClass, PY_CALLS), so Java, TypeScript, and Python analyzers can share one database without label or relationship-type collisions. Declarations are keyed by their signature under a shared :PySymbol label, and the application is anchored at a single :PyApplication node named by --app-name. The full topology is documented in the graph schema reference.

    +

    There are two sub-modes, decided solely by whether --neo4j-uri is set.

    +

    Without --neo4j-uri — a self-contained graph.cypher snapshot. Constraints and indexes, a scoped DETACH DELETE wipe of this app’s prior subtree, then batched UNWIND … MERGE for nodes and edges. It needs no extra dependencies and expresses the full truth of the analysis — it is not incremental. Load it with cypher-shell:

    +
    Terminal window
    canpy --input ./my-python-project --emit neo4j --app-name my-service --output ./out
    cypher-shell < ./out/graph.cypher
    +

    With --neo4j-uri — an incremental live Bolt push. Ensures the DDL, diffs each module’s content_hash against the database, and rewrites only modules whose content changed. Shared :PyExternal / :PyPackage / :PyDecorator nodes are MERGE-only and nodes are never blindly deleted, so cross-module references survive. On a full run (no --file-name), modules whose source file vanished are pruned — scoped to this app’s :PyApplication anchor, so pushing app B never deletes app A’s modules from a shared database. Every graph carries a schema_version on its :PyApplication node (currently 1.1.0).

    +

    Prefer the environment for the password so it never lands in shell history or the process list:

    +
    Terminal window
    export NEO4J_URI=bolt://localhost:7687
    export NEO4J_PASSWORD=secret
    canpy --input ./my-python-project --emit neo4j --app-name my-service
    +

    The same run spelled out with flags:

    +
    Terminal window
    canpy --input ./my-python-project --emit neo4j --app-name my-service \
    --neo4j-uri bolt://localhost:7687 --neo4j-user neo4j
    # NEO4J_PASSWORD is read from the environment
    +

    The live Bolt path needs the optional neo4j driver extra. If it is missing, canpy raises a clear error telling you to install it:

    +
    Terminal window
    pip install 'codeanalyzer-python[neo4j]'
    +

    The snapshot (graph.cypher) and --emit schema modes need nothing extra.

    + + +

    Emits the machine-readable, version-stamped Neo4j schema (schema.json: node labels, relationship types, and their properties). It is a static catalog, so no project is required — --input is optional here.

    +
    Terminal window
    # Print the schema contract to stdout (no project needed)
    canpy --emit schema
    +
    # Write it to a directory
    canpy --emit schema --output ./out # → ./out/schema.json
    +

    The schema carries SCHEMA_VERSION (currently 1.1.0), the same value stamped onto every graph’s :PyApplication node. Pin to it so consumers can detect contract changes.

    + +

    Once a graph is in Neo4j, the CLDK Python SDK reads it directly — no JDK, no native binary, and no project source on the consumer, only read-only Neo4j credentials. Point CLDK.python at a Neo4jConnectionConfig whose application_name matches the --app-name the graph was loaded with, and it reconstructs the same typed PyApplication model and the same networkx call graph the in-process analyzer would build.

    +
    from cldk import CLDK
    from cldk.analysis.commons.backend_config import Neo4jConnectionConfig
    +
    analysis = CLDK.python(
    backend=Neo4jConnectionConfig(
    uri="bolt://localhost:7687",
    username="neo4j",
    password="neo4j",
    application_name="my-service", # matches canpy --app-name
    ),
    )
    classes = analysis.get_classes() # Dict[str, PyClass]
    cg = analysis.get_call_graph() # networkx.DiGraph keyed by callable signatures
    +

    The SDK’s neo4j driver is an optional extra: pip install cldk[neo4j]. See the Neo4j guide for the full read API.

    + +
    Terminal window
    # Symbol table + call graph to stdout
    canpy --input ./proj
    +
    # Write JSON to a directory
    canpy --input ./proj --output ./out
    +
    # msgpack + CodeQL, eager rebuild, cache discarded
    canpy --input ./proj --output ./out --format msgpack --codeql --eager --clear-cache
    +
    # Property-graph snapshot to ./out/graph.cypher
    canpy --input ./proj --emit neo4j --app-name proj --output ./out
    +
    # Incremental Bolt push (password from the environment)
    NEO4J_PASSWORD=secret canpy --input ./proj --emit neo4j --app-name proj \
    --neo4j-uri bolt://localhost:7687
    +
    # Targeted single-file push (skips orphan pruning)
    NEO4J_PASSWORD=secret canpy --input ./proj --emit neo4j --app-name proj \
    --neo4j-uri bolt://localhost:7687 --file-name src/app/routes.py
    +
    # Publish the version-stamped schema contract
    canpy --emit schema --output ./out
    +
    # Ambient interpreter, no per-project venv (CI / containers)
    canpy --input ./proj --no-venv --output ./out
    +
    # Custom cache location, debug logging
    canpy --input ./proj --cache-dir /tmp/ca -vv
    + +
    \ No newline at end of file diff --git a/reference/schema/index.html b/reference/schema/index.html new file mode 100644 index 0000000..4846dbd --- /dev/null +++ b/reference/schema/index.html @@ -0,0 +1,669 @@ + Output schema | codeanalyzer-python + Skip to content

    Output schema

    canpy builds one analysis in memory and can serialize it two ways. The default is a single PyApplication artifact — analysis.json (or msgpack). With --emit neo4j the same in-memory PyApplication is projected into a labeled property graph instead of a file. This page is the schema reference for both: the JSON model and the Neo4j property graph.

    +
    flowchart TB
    +    SRC["Python project (--input)"] --> IR["in-memory PyApplication"]
    +    IR -->|"--emit json (default)"| JSON["analysis.json / msgpack"]
    +    IR -->|"--emit neo4j"| PG["labeled property graph"]
    +    IR -->|"--emit schema"| CONTRACT["schema.json (versioned contract)"]
    +
    +    JSON --> APP[PyApplication]
    +    APP --> ST["symbol_table: {path: PyModule}"]
    +    APP --> CG["call_graph: [PyCallEdge]"]
    +    APP --> EP["entrypoints: {framework: [PyEntrypoint]}"]
    +    ST --> MOD[PyModule]
    +    MOD --> CLS[PyClass]
    +    MOD --> FN[PyCallable]
    +    CLS --> M[PyCallable]
    +    CLS --> ATTR[PyClassAttribute]
    +    FN --> CALL[PyCallsite]
    +    FN --> PARAM[PyCallableParameter]
    +    FN --> DEC[PyDecorator]
    +
    +    PG -->|"no --neo4j-uri"| SNAP["graph.cypher snapshot"]
    +    PG -->|"--neo4j-uri (Bolt)"| LIVE["live Neo4j, incremental"]
    +    SNAP --> NODES[":PyApplication / :PyModule / :PyClass / :PyCallable …"]
    +    LIVE --> NODES
    +    NODES -->|"PY_HAS_MODULE / PY_DECLARES / PY_CALLS …"| NODES
    + +

    The default artifact is a single PyApplication. Every model below is a Pydantic model defined in codeanalyzer.schema.py_schema; the JSON and msgpack outputs are serializations of the same schema. Line/column fields default to -1 when unknown.

    + +

    The root object.

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    symbol_tableDict[str, PyModule]File path → module model. The whole-project inventory.
    call_graphList[PyCallEdge]Identity-keyed call edges.
    entrypointsDict[str, List[PyEntrypoint]]Framework name → detected roots.
    + +

    One per source file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    file_pathstrAbsolute path to the file.
    module_namestrDotted module name.
    importsList[PyImport]Import statements.
    commentsList[PyComment]Comments and docstrings.
    classesDict[str, PyClass]Top-level classes by name.
    functionsDict[str, PyCallable]Top-level functions by name.
    variablesList[PyVariableDeclaration]Module-level variables.
    content_hash, last_modified, file_sizestr / float / intCache-invalidation metadata.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    namestrClass short name.
    signaturestrFully-qualified identity (e.g. module.ClassName).
    base_classesList[str]Names of base classes.
    decoratorsList[PyDecorator]Class decorators.
    methodsDict[str, PyCallable]Methods by name.
    attributesDict[str, PyClassAttribute]Class attributes by name.
    inner_classesDict[str, PyClass]Nested classes.
    comments, codeList[PyComment] / strDocstrings/comments and source.
    start_line, end_lineintSource span.
    + +

    A function or method. The richest model in the artifact.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    namestrCallable short name.
    pathstrFile the callable is defined in.
    signaturestrFully-qualified identity (e.g. module.Class.method). The call-graph node key.
    parametersList[PyCallableParameter]Declared parameters.
    return_typeOptional[str]Resolved return type, if known.
    decoratorsList[PyDecorator]Applied decorators.
    codeOptional[str]The source body.
    call_sitesList[PyCallsite]Calls made from this callable.
    accessed_symbolsList[PySymbol]Symbols read/written in the body.
    local_variablesList[PyVariableDeclaration]Locals.
    inner_callables, inner_classesDict[str, ...]Nested definitions.
    cyclomatic_complexityintComputed complexity.
    is_entrypointboolWhether a finder marked this an entrypoint.
    entrypoint_frameworkOptional[str]The framework, if so.
    start_line, end_line, code_start_lineintSource spans.
    + +

    A single call made from within a callable — the rich per-call metadata behind a graph edge.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    method_namestrThe invoked name as written.
    receiver_expr, receiver_typeOptional[str]The receiver expression and its resolved type.
    argument_typesList[str]Resolved argument types.
    return_typeOptional[str]Resolved return type.
    callee_signatureOptional[str]The resolved target’s signature (CodeQL may backfill this).
    is_constructor_callboolWhether the call constructs an instance.
    start_line, end_line, …intSource location.
    + +

    An identity-only call-graph edge.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    sourcestrCaller’s PyCallable.signature.
    targetstrCallee’s PyCallable.signature.
    type"CALL_DEP"Edge kind.
    weightintEdge weight (default 1).
    provenanceList[str]Which engine(s) produced it: "jedi", "codeql", or an extension token. Open vocabulary.
    tagsDict[str, str]Free-form, extension-namespaced metadata (e.g. an ORM-dispatch trigger predicate). Never interpreted by core.
    + + +

    A framework-dispatched root, referencing a callable by signature.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    signaturestrThe PyCallable.signature this entrypoint refers to.
    frameworkstrThe dispatching framework.
    detection_sourcestrHow it was detected — decorator, base_class, url_resolver, router_mount, blueprint, lambda_template, typer_subapp, click_add_command, argparse_dispatch, convention, or extension. Open vocabulary.
    route_path, http_methodsOptional[str] / List[str]For HTTP routes.
    celery_task_name, cli_command_name, lambda_handler_key, grpc_service_nameOptional[str]Framework-specific identifiers, when applicable.
    source_fileOptional[str]File declaring the binding (urls.py, template.yaml, …).
    tagsDict[str, str]Free-form, namespaced metadata for extensions.
    + +
      +
    • PyImportmodule, name, alias, and source span.
    • +
    • PyCommentcontent, is_docstring, and source span.
    • +
    • PyDecoratorname, resolved qualified_name, and raw positional_arguments / keyword_arguments (source-text fragments for finders to parse).
    • +
    • PyCallableParametername, type, default_value, source span.
    • +
    • PyClassAttributename, type, comments, source span.
    • +
    • PyVariableDeclarationname, type, initializer, value, scope.
    • +
    • PySymbol — a referenced symbol: name, scope, kind, resolved type, qualified_name, is_builtin.
    • +
    + +

    Every model is decorated for MessagePack support, exposing to_msgpack_bytes() / from_msgpack_bytes() (gzip-compressed) and to_msgpack_dict() / from_msgpack_dict(). PyApplication additionally exposes get_compression_ratio(). For JSON, use the Pydantic v1/v2 compatibility helpers model_dump_json / model_validate_json from codeanalyzer.schema. Models built via the fluent builder pattern — PyApplication.builder().symbol_table(...).call_graph(...).build().

    + +

    --emit neo4j projects the same in-memory PyApplication into a labeled property graph instead of a JSON file. Where analysis.json is one self-contained blob you load whole into memory, the graph is a persistent, queryable system of record: many applications can live in one database — each anchored at its own :PyApplication node — so whole-monorepo or cross-service questions become a Cypher traversal rather than parsing giant JSON files. See the CLI reference for how the two writers (the graph.cypher snapshot and the incremental Bolt push) work.

    +

    Every node label is Py-prefixed and every relationship type is PY_-prefixed (e.g. :PyClass, PY_CALLS), so the Java, TypeScript, and Python analyzers can share one database without label or relationship-type collisions. Declarations — classes, callables, and external symbols — are keyed by their signature and merged under a shared :PySymbol label, which is what makes the identity invariant cheap to enforce and cross-module references stable. The labels, relationships, and properties below are generated from codeanalyzer/neo4j/catalog.py and published verbatim as the machine-readable schema contract.

    + +

    The key is the property the node is MERGEd on. Declaration nodes (:PyClass, :PyCallable, :PyExternal) carry the extra :PySymbol label and are merged on signature.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    LabelMerge labelKeyNotable properties
    :PyApplication:PyApplicationnameschema_version — the application anchor, named by --app-name.
    :PyModule:PyModulefile_keymodule_name, content_hash, last_modified, file_size.
    :PyClass:PySymbolsignaturename, code, base_classes, docstring, start_line, end_line.
    :PyCallable:PySymbolsignaturename, path, return_type, cyclomatic_complexity, code, code_start_line, start_line.
    :PyExternal:PySymbolsignaturename, module — a ghost node for a third-party / unresolved target, mirroring the JSON call graph’s ghost-node behavior.
    :PyPackage:PyPackagenameAn imported package, shared across modules and applications.
    :PyDecorator:PyDecoratornameA decorator, shared across callables and applications.
    :PyCallSite:PyCallSiteidmethod_name, receiver_expr, receiver_type, argument_types, return_type, callee_signature, is_constructor_call.
    :PyAttribute:PyAttributeidname, type, docstring, start_line, end_line.
    :PyVariable:PyVariableidname, type, initializer, scope, start_line, end_line.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RelationshipEndpointsNotes
    PY_HAS_MODULE(:PyApplication)-[]->(:PyModule)The application anchor contains each analyzed source module.
    PY_DECLARES(:PyModule|PyClass|PyCallable)-[]->(:PyClass|PyCallable)Declaration containment, recursive: modules declare top-level classes/functions; classes and callables declare nested ones.
    PY_HAS_METHOD(:PyClass)-[]->(:PyCallable)A class owns a method callable.
    PY_HAS_ATTRIBUTE(:PyClass)-[]->(:PyAttribute)A class owns an attribute.
    PY_DECLARES_VAR(:PyModule|PyCallable)-[]->(:PyVariable)A module- or function-scoped variable declaration.
    PY_HAS_CALLSITE(:PyCallable)-[]->(:PyCallSite)A callable contains the call sites it makes.
    PY_RESOLVES_TO(:PyCallSite)-[]->(:PyCallable|PyExternal)A call site resolves to a concrete callable or an external (ghost) symbol.
    PY_CALLS(:PyCallable|PyExternal)-[]->(:PyCallable|PyExternal)The call-graph edge. Properties: weight (integer), provenance (string[], e.g. jedi / codeql / an extension token).
    PY_EXTENDS(:PyClass)-[]->(:PyClass)Class inheritance (self-referential).
    PY_IMPORTS(:PyModule)-[]->(:PyPackage)A module imports a package. Properties: imported_names (string[]), aliases (string[]).
    PY_DECORATED_BY(:PyCallable)-[]->(:PyDecorator)A callable is decorated by a decorator.
    +

    The PY_CALLS edge is the property-graph form of PyCallEdge: the same weight and provenance carry over, and the same optional CodeQL augmentation backfills resolved call edges. PY_RESOLVES_TO preserves the finer per-call-site resolution that PyCallsite records in the JSON model.

    +
    graph LR
    +    APP[":PyApplication"] -->|PY_HAS_MODULE| MOD[":PyModule"]
    +    MOD -->|PY_DECLARES| CLS[":PyClass"]
    +    MOD -->|PY_DECLARES| FN[":PyCallable"]
    +    MOD -->|PY_IMPORTS| PKG[":PyPackage"]
    +    MOD -->|PY_DECLARES_VAR| VAR[":PyVariable"]
    +    CLS -->|PY_HAS_METHOD| FN
    +    CLS -->|PY_HAS_ATTRIBUTE| ATTR[":PyAttribute"]
    +    CLS -->|PY_EXTENDS| CLS
    +    FN -->|PY_DECORATED_BY| DEC[":PyDecorator"]
    +    FN -->|PY_HAS_CALLSITE| CS[":PyCallSite"]
    +    FN -->|PY_DECLARES_VAR| VAR
    +    CS -->|PY_RESOLVES_TO| FN
    +    CS -->|PY_RESOLVES_TO| EXT[":PyExternal"]
    +    FN -->|PY_CALLS| FN
    +    FN -->|PY_CALLS| EXT
    + +

    Both writers run the same DDL before any load (it is idempotent — every statement is IF NOT EXISTS) so each MERGE is an index seek rather than a label scan, and the identity invariant is enforced by the database itself.

    +
    // Uniqueness constraints
    CREATE CONSTRAINT py_symbol_sig IF NOT EXISTS FOR (s:PySymbol) REQUIRE s.signature IS UNIQUE;
    CREATE CONSTRAINT py_app_name IF NOT EXISTS FOR (a:PyApplication) REQUIRE a.name IS UNIQUE;
    CREATE CONSTRAINT py_module_key IF NOT EXISTS FOR (m:PyModule) REQUIRE m.file_key IS UNIQUE;
    CREATE CONSTRAINT py_package_name IF NOT EXISTS FOR (p:PyPackage) REQUIRE p.name IS UNIQUE;
    CREATE CONSTRAINT py_decorator_name IF NOT EXISTS FOR (d:PyDecorator) REQUIRE d.name IS UNIQUE;
    CREATE CONSTRAINT py_callsite_id IF NOT EXISTS FOR (c:PyCallSite) REQUIRE c.id IS UNIQUE;
    CREATE CONSTRAINT py_attribute_id IF NOT EXISTS FOR (a:PyAttribute) REQUIRE a.id IS UNIQUE;
    CREATE CONSTRAINT py_variable_id IF NOT EXISTS FOR (v:PyVariable) REQUIRE v.id IS UNIQUE;
    +
    // Lookup indexes
    CREATE INDEX py_callable_name IF NOT EXISTS FOR (c:PyCallable) ON (c.name);
    CREATE INDEX py_class_name IF NOT EXISTS FOR (c:PyClass) ON (c.name);
    +
    // Fulltext index for code search over callable bodies and docstrings
    CREATE FULLTEXT INDEX py_code_fts IF NOT EXISTS FOR (c:PyCallable) ON EACH [c.code, c.docstring];
    +

    The py_code_fts fulltext index backs code search across everything loaded into the database — query it with db.index.fulltext.queryNodes, then filter to one application by walking back to its anchor:

    +
    CALL db.index.fulltext.queryNodes('py_code_fts', 'subprocess AND shell')
    YIELD node, score
    MATCH (app:PyApplication {name: 'my-service'})
    -[:PY_HAS_MODULE]->(:PyModule)-[:PY_DECLARES*1..]->(node)
    RETURN node.signature AS callable, score
    ORDER BY score DESC
    LIMIT 20;
    +

    Because every subgraph hangs off its :PyApplication anchor, every query scopes to one application by matching {name: '<app-name>'} — the same value passed as --app-name at emit time. That scoping is also what keeps a shared database multi-tenant: a push for one application only touches its own anchored subtree.

    + +

    --emit schema serializes this catalog — node labels, relationship types, and their property types — to a version-stamped schema.json. It is a static catalog, so no project is required:

    +
    Terminal window
    # Print the contract to stdout (no project needed)
    canpy --emit schema
    +
    # Or write it to a directory
    canpy --emit schema --output ./out # → ./out/schema.json
    +

    The contract carries SCHEMA_VERSION (currently 1.1.0), the same value stamped onto every graph’s :PyApplication node. It is checked in as schema.neo4j.json and shipped as a GitHub Release asset, so consumers can pin to a version and detect contract changes:

    +
    {
    "schema_version": "1.1.0",
    "generator": "codeanalyzer-python",
    "node_labels": [
    {
    "label": "PyApplication",
    "merge_label": "PyApplication",
    "key": "name",
    "properties": { "name": "string", "schema_version": "string" }
    }
    ]
    }
    + +

    The CLDK Python SDK has a read-only Neo4j backend that reconstructs these same typed models from the graph — no JDK, no native binary, and no project source on the consumer, only read-only Neo4j credentials. Pass a Neo4jConnectionConfig whose application_name matches the --app-name the graph was loaded with, and CLDK.python rebuilds the same PyClass / PyCallable objects and the same networkx call graph the in-process analyzer would produce:

    +
    from cldk import CLDK
    from cldk.analysis.commons.backend_config import Neo4jConnectionConfig
    +
    # The graph is populated out of band by `canpy --emit neo4j`; the SDK only reads it.
    analysis = CLDK.python(
    backend=Neo4jConnectionConfig(
    uri="bolt://localhost:7687",
    username="neo4j",
    password="neo4j",
    application_name="my-service", # matches canpy --app-name
    ),
    )
    +
    classes = analysis.get_classes() # Dict[str, PyClass]
    cg = analysis.get_call_graph() # networkx.DiGraph keyed by callable signatures
    +

    The SDK’s neo4j driver is an optional extra (pip install cldk[neo4j]). See the Neo4j guide for the full read API, and the CLI reference for how producers and consumers split.

    + +
    \ No newline at end of file diff --git a/sitemap-0.xml b/sitemap-0.xml new file mode 100644 index 0000000..7e5c9fc --- /dev/null +++ b/sitemap-0.xml @@ -0,0 +1 @@ +https://codellm-devkit.github.io/codeanalyzer-pythonhttps://codellm-devkit.github.io/codeanalyzer-python/extending/analysis-passes/https://codellm-devkit.github.io/codeanalyzer-python/extending/overview/https://codellm-devkit.github.io/codeanalyzer-python/guides/cli-usage/https://codellm-devkit.github.io/codeanalyzer-python/guides/codeql/https://codellm-devkit.github.io/codeanalyzer-python/guides/concepts/https://codellm-devkit.github.io/codeanalyzer-python/guides/entrypoints/https://codellm-devkit.github.io/codeanalyzer-python/guides/neo4j/https://codellm-devkit.github.io/codeanalyzer-python/installing/https://codellm-devkit.github.io/codeanalyzer-python/quickstart/https://codellm-devkit.github.io/codeanalyzer-python/reference/cli/https://codellm-devkit.github.io/codeanalyzer-python/reference/schema/https://codellm-devkit.github.io/codeanalyzer-python/what-is-codeanalyzer/ \ No newline at end of file diff --git a/sitemap-index.xml b/sitemap-index.xml new file mode 100644 index 0000000..c1349f1 --- /dev/null +++ b/sitemap-index.xml @@ -0,0 +1 @@ +https://codellm-devkit.github.io/codeanalyzer-python/sitemap-0.xml \ No newline at end of file diff --git a/what-is-codeanalyzer/index.html b/what-is-codeanalyzer/index.html new file mode 100644 index 0000000..e8d2056 --- /dev/null +++ b/what-is-codeanalyzer/index.html @@ -0,0 +1,183 @@ + What is codeanalyzer-python? | codeanalyzer-python + Skip to content

    What is codeanalyzer-python?

    codeanalyzer-python is a static-analysis tool for Python source code. You point it at a project directory and it produces one typed artifact — a PyApplication — that captures the project’s symbol table (modules, classes, callables, fields), its call graph (who-calls-whom), and its framework entrypoints (the routes, tasks, and commands a framework dispatches into). You stop grepping source by hand and start querying a structured model of the program.

    +

    It builds one analysis in memory and can emit it three ways: as the default analysis.json, as a Neo4j property graph (a queryable, persistent system of record), or as the version-stamped schema contract that describes that graph. The graph is the same PyApplication projected onto labeled nodes and typed relationships — so a whole portfolio of applications can live in one database and be traversed with Cypher instead of parsed out of giant JSON blobs.

    +
    PY_HAS_MODULE PY_DECLARES PY_HAS_ATTRIBUTE PY_HAS_METHOD PY_DECORATED_BY PY_HAS_CALLSITE PY_RESOLVES_TO PY_CALLS :PyApplication name schema_version :PyModule module_name content_hash :PyClass :PySymbol name base_classes :PyAttribute name type :PyCallable :PySymbol signature cyclomatic_complexity :PyDecorator name :PyCallSite method_name receiver_type :PyExternal name module
    +The analysis is a Neo4j property graph: every node carries a +label (its color) and properties; every relationship carries a +type. The dashed ring marks an entrypoint; + the PY_CALLS edge is the resolved call graph. +
    +

    It is the Python backend behind CLDK, the multilingual analysis SDK — the same role canjava plays for Java. You can use it through CLDK’s typed facade, or directly: as a CLI that writes analysis.json or a property graph, or as a Python library that hands you PyApplication objects.

    + + +

    Every run follows the same shape: point at a project, build the artifact, choose an output target.

    +
      +
    1. +

      Point at a project. canpy --input ./my-project. The tool discovers every .py file (test files excluded by default), and creates an isolated virtual environment so dependencies resolve.

      +
    2. +
    3. +

      It builds a PyApplication. Jedi and Tree-sitter extract the symbol table; a call graph is derived from it; optional CodeQL resolution and a pluggable pass pipeline enrich it with extra edges and entrypoints.

      +
    4. +
    5. +

      Emit it. One analysis, three targets via --emit: json (the default analysis.json / msgpack), neo4j (a graph.cypher snapshot or a live incremental Bolt push), or schema (the machine-readable, version-stamped graph schema). The same typed model underlies all three.

      +
    6. +
    +
    flowchart LR
    +    A["canpy --input"] --> B[Symbol table<br/>Jedi + Tree-sitter]
    +    B --> C[Call graph<br/>Jedi edges]
    +    B -.->|--codeql| D[CodeQL edges]
    +    C --> E[Analysis passes<br/>entrypoints + synthetic edges]
    +    D -.-> E
    +    E --> F["PyApplication<br/>(in memory)"]
    +    F -->|"--emit json"| G["analysis.json / msgpack"]
    +    F -->|"--emit neo4j"| H["Labeled property graph"]
    +    F -->|"--emit schema"| K["schema.json<br/>(version contract)"]
    +    H -->|"no --neo4j-uri"| I["graph.cypher<br/>(self-contained snapshot)"]
    +    H -->|"--neo4j-uri"| J["Live Bolt push<br/>(incremental)"]
    + +

    The artifact is a single PyApplication with three top-level pieces:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeWhat it holds
    symbol_tableDict[str, PyModule]One PyModule per source file — its imports, classes, functions, and module-level variables.
    call_graphList[PyCallEdge]Identity-keyed source -> target edges (by PyCallable.signature) with a weight and provenance.
    entrypointsDict[str, List[PyEntrypoint]]Framework-dispatched roots, keyed by framework name.
    external_symbolsDict[str, ...]First-class library/built-in targets (signature -> {name, module}) the call graph reaches but doesn’t own.
    + + +

    analysis.json is one file per project: to ask anything, a consumer loads the whole blob into memory, and it doesn’t compose across a portfolio. --emit neo4j projects the very same in-memory PyApplication into a labeled property graph instead — a queryable, persistent store that many applications can share.

    +

    Every node label is Py-prefixed and every relationship type is PY_-prefixed (:PyClass, PY_CALLS, and so on) so the Java, TypeScript, and Python analyzers can write into one database without label or relationship-type collisions. Declarations (:PyClass, :PyCallable, :PyExternal) are keyed by their signature under a shared :PySymbol label. Each graph hangs off a single :PyApplication anchor named by --app-name, and carries a schema_version (currently 1.1.0) on that node.

    +
    Terminal window
    # Project one application into a live Neo4j graph
    canpy --input ./my-service --emit neo4j --app-name my-service \
    --neo4j-uri bolt://localhost:7687 --neo4j-user neo4j
    + + +

    --emit neo4j picks its writer based solely on whether --neo4j-uri is set:

    +

    Without --neo4j-uri, canpy writes a self-contained graph.cypher: the constraints and indexes, a scoped wipe of just this app’s prior subtree, then batched UNWIND … MERGE statements for every node and edge. It needs no extra dependencies and expresses the full truth of the analysis. Load it with cypher-shell:

    Terminal window
    canpy --input ./my-service --emit neo4j --app-name my-service --output ./out
    cypher-shell < ./out/graph.cypher
    + +

    --app-name is the multi-tenant key. It names the single :PyApplication root node (uniqueness-constrained) and scopes every mutation to that anchor: the snapshot wipe only touches MATCH (a:PyApplication {name: <app>}) and its module subtree, and the Bolt full-run prune is scoped to (:PyApplication {name})-[:PY_HAS_MODULE]->(:PyModule). Pushing app B can never delete app A’s modules from a shared database. When omitted it defaults to the basename of --input.

    +

    So one Neo4j database can hold a whole portfolio — each application anchored at its own :PyApplication node, sharing :PyExternal / :PyPackage / :PyDecorator nodes — and cross-service questions become a Cypher traversal instead of a stack of JSON files. For example, every callable across every loaded app that calls a given external symbol:

    +
    MATCH (caller:PyCallable)-[:PY_CALLS]->(ext:PyExternal {name: "subprocess.run"})
    MATCH (app:PyApplication)-[:PY_HAS_MODULE]->(:PyModule)-[:PY_DECLARES*]->(caller)
    RETURN app.name AS application, caller.signature AS caller
    ORDER BY application
    + +

    The graph splits analysis from consumption. The analyzer is the producer: run it out-of-band as a CI step or a Kubernetes Job / CronJob that pushes incrementally to a managed or clustered Neo4j (Aura, Enterprise) over Bolt. Because pushes are content-hash incremental, re-running on each commit rewrites only the modules that changed.

    +

    Everything that reads the graph — agents, dashboards, the CLDK Python SDK — is a lightweight, read-only client that scales independently of the heavier analysis pods, needs only the Bolt URI and read-only credentials, and shares the versioned schema_version contract stamped on each :PyApplication. Analysis is produced once, centrally; reads fan out cheaply from there.

    + +

    Here is the payoff. CLDK has a read-only Neo4j backend. Point the Python facade at the Bolt URI with a Neo4jConnectionConfig, and it reconstructs the same typed PyApplication — the same PyModule symbol table, the same PyCallEdge call graph, the same networkx DiGraph — as the in-process analyzer, with no JDK, no native binary, and no project source on the consumer. It only needs the graph and read-only credentials.

    +

    The application_name you pass here is the same string as the producer’s --app-name; it scopes every query to that one app’s subgraph.

    +
    # Python project — read-only Neo4j backend (graph populated out of band)
    # pip install cldk[neo4j]
    from cldk import CLDK
    from cldk.analysis.commons.backend_config import Neo4jConnectionConfig
    +
    analysis = CLDK.python(
    backend=Neo4jConnectionConfig(
    uri="bolt://localhost:7687",
    username="neo4j",
    password="neo4j",
    application_name="my-service", # matches canpy --app-name
    ),
    )
    +
    classes = analysis.get_classes() # Dict[str, PyClass]
    cg = analysis.get_call_graph() # networkx.DiGraph keyed by callable signatures
    for sig, cls in classes.items():
    print(sig, list(cls.methods))
    + + +
    Terminal window
    # Write analysis.json to ./out
    canpy --input ./my-project --output ./out
    +
    # Or stream JSON to stdout (no --output)
    canpy --input ./my-project | jq '.entrypoints'
    + +

    A code LLM asked “what calls this function?” without analysis crawls: file read after file read, grep after grep, burning tokens on an answer it still can’t be sure of. codeanalyzer-python resolves that once, statically, into a graph — so the answer is a lookup, not a guess. Jedi gives you that for free on every run; CodeQL deepens it when dynamic dispatch and third-party calls matter; the pass pipeline surfaces the framework roots that make reachability questions meaningful.

    +

    With --emit neo4j, that resolved graph stops being a per-run artifact and becomes shared infrastructure: produced once by a CI/Kubernetes job, queried cheaply and concurrently by every agent and tool that needs it — across a whole portfolio, in one Cypher traversal.

    + +
    \ No newline at end of file
  • + + {{#if sub_results}} +
      + {{#each sub_results as sub}} +
    • + {{ sub.title }} +

      {{+ sub.excerpt +}}

      +
    • + {{/each}} +
    + {{/if}} +
  • NWqs<8RxC>u;ymv8*xH=d{~9+WoFTAR+x2? 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 literal 0 HcmV?d00001 diff --git a/guides/cli-usage/index.html b/guides/cli-usage/index.html new file mode 100644 index 0000000..9a01674 --- /dev/null +++ b/guides/cli-usage/index.html @@ -0,0 +1,230 @@ + CLI usage | codeanalyzer-python + Skip to content